A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.float f4[] = new float[] { 1.0f. 2.0f. 3.0f},这样写数组定义是错误的,因为数组元素隔离应该用“逗号”而不是“点”。
2.一个对象被释放(没在被任何对象引用)后,垃圾收集器并不会立刻回收它,而是等到运行该段代码的示例下次被被垃圾收集器扫描的时候才回收该对象的。
3.如果你用==去比较两个字符串对象,你实际上是在比较两个字符串是否是引用同一个对象,而不是比较他们的内容是否相等;比较内容是否相等使用equal方法是最简单的。
4.jAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。
5.方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载 Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。换句话说:方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。
6.请特别注意, finally 块区域中的代码虽然在 return 语句之前被执行,但是 finally 块区域中的代码是不能够通过重新赋值的方式来改变 return 语句的返回值。
7.catch(X x) can catch subclasses of X.“catch语句能够捕捉子类异常”是正确的。
8.Assertion expressions should not contain side effects.断言表达式不能包含边界效应。
9.若Switch语句中没有使用break或continue语句则满足某个条件后的其他语句也同样会执行。
10.Switch中的表达式必须是和int相容的表达式(如float类型就是错误的。)
11.如果两个对象互相引用,则当他们形成隔离区使则可以被垃圾回收器回收!!!。
12.如果一个for循环中存在一个switch语句,则在该switch语句中的break语句只退出当前switch。
13.默认的构造函数调用父类的无参数构造函数。
14.注意考试陷阱“0”和“O”的区别。如return 0是错误的return o才是正确的。
15.If语句中只能使用布尔表达式,不能向switch语句一样使用整型值。
16.方法重写发生在类继承时,子类可以重写一个父类中已有的方法,必须在返回类型和参数列表一样时才能说是重写,否则就是重载,java中方法重写的一个重要而且容易被忽略的规则是重写的方法的访问权限不能比被重写的方法的访问权限低!重写的另一个规则是重写的方法不能比被重写的方法抛弃(throws)更多种类的异常,其抛弃的异常只能少,或者是其子类,不能以抛弃异常的个数来判断种类,而应该是异常类层次结果上的种类。
17.线程的执行是从方法“run( )”开始的,该方法是由系统调用的。程序员手工调用方法start(),使线程变为可运行状态。
18.静态方法不能直接访问非静态成员
19.native关键字指明是对本地方法的调用,在JAVA中是只能访问但不能写的方法,它的位置在访问权限修饰语的后面及返回值的前面
20.main()方法的参数是字符串数组,参数名可以任意定义。
21.方法覆盖时,子类方法的访问权限不能小于父类方法的访问权限。
22.用“==”进行比较时,符号两边的数据类型必须一致(可相互转换的基本类型除外),否则编译出错。
23.构造函数没有方法,他们没有返回值且不可被继承。
24.FlowLayout的特性是其中的控件大小不随着容器尺寸的变化而变化,但控件的相对位置会有所改变。
25.Java中的标识符是以字符开头,字符包括字母、下划线“_”、美圆符“$”。不能以数字开头,也不能是Java关键字。
26.整型变量默认初始化值为0。
27.自动变量(没有public、private等修饰符的变量)不能被static修饰。
28.int a[][] = new int[][]定义数组是不对的而这样定义数组int []a[] = new int[10][10]是对的。
29.JAVA语言的任何关键字都没有大写(打头)字母。
30.访问修饰符
private:方法或变量只能在该类内部才能被访问
protected:方法或变量只能在同一个包里面的类或该类的子类才能访问
public:方法或变量其他任何类都可以访问
31.native:标识一个变量是使用平台不独立的语言编写的。
32.throw:扔出的是异常对象,在方法中使用;throw:扔出的是异常类,在方法定义时使用。
33.byte:8位有符号值(-27~+27-1)
char:16位无符号值(0~216-1)
short:16位有符号值(-215~+215-1)
int:32位有符号值(-231~+231-1)
float:32位有符号值(-231~+231-1)
long:64位有符号值(-263~+263-1)
double:64位有符号值
34.const和goto是JAVA中不用的两个保留字。其中public const用static final代替其功能
35.根据JAVA语言规范,null, true, and false只是(文字的)常量,不是关键字
36.JAVA语言全部关键字列表

37.JAVA语言对十六进制中的字母不区分大小写即大小写表示的值是一样的。
38.float f = 23.9067985表达式是错误的,因为floating-pointer(浮点值)默认数值是double类型,把他赋给一个float类型的变量会出现编译错误;以下两种形式是对的:float f = 23.9067985F或double f = 23.9067985
39.boolean类型变量的值只能是true和false;同理if语句的条件表达式也必须是boolean类型。
40.可以赋给char类型变量一个整型值,如一下语句是合法的:
char c = (char) 70000; // The cast is required;
char d = (char) -98; // Ridiculous, but legal
备注:0~65535范围内的值可以直接赋,这个范围以外的值需要使用char()来转换后在赋值。
41.这样的数组声明也是对的如:String[] ManagerName [];另外在数组声明语句中绝对不能
出现数组长度的定义。整型数组默认元素值是0。new语句中一定要给出数组的长度!如下定义是错误的:int []Test = new int[];对于多维数组,则在new语句中最少要给出第一个长度参数值,如int[][] ratings = new int[3][]是对的,int[][] ratings = new int[][]和int[][] ratings = new int[][3]就是错误的

1 个回复

倒序浏览
补充:





42.new语句执行以后,只是生成了一个该类型的(类)变量,并不存在该类型的实际实例。
43.访问数组元素时若元素标号超出了数组元素界限,则只会出现运行异常,不会出现编译异常,如int [] TestArray = new int[5],若代码中出现TestArray[5]则编译不会出错,直到程序运行到还行时才会出现运行错误。
44.直接调用数组的length属性就可显示数组的长度(即数组拥有多少个元素);
45.数组赋值执行默认的转化规则,如int[] Test = new int[15],Test[0] = ‘b’是对的;同理,只要具体是值是数组定义变量类型的(同一类)或其子类,都可以成功赋值。
46.如果一个数组被声明为接口类型,则数组元素可以引用任何该接口的类的实例。
47.子类的数组变量可以直接赋(值)给父类的数组变量如:
Car[] cars;
Honda[] cuteCars = new Honda[5];
cars = cuteCars; // OK because Honda is a type of Car
48.维度不同的数组变量之间(即使符合IS-A标准)不能互相赋值。
49.变量没有被初始化就使用会出现编译错误(编译不通过)如:
string strTemp;
system.out.println(strTemp.toLowerCase);
编译时会报变量没有初始化的编译错误;但是若该变量是类成员变量的话,即使没有在构造函数中显示初始化它,系统也会自动给它一个默认的null值。这时候编译会通过,只是在使用该变量的时候才会报错。
50.数组定义(用new方法构造该数组)时,(数组元素)默认初始化为数组类型的默认值。
51.在方法或方法参数列表中定义的变量叫本地变量(Local variable),注意:本地变量在使用之前一定要手动赋值(因为它不会象成员变量那样被构造函数自动初始化),否则编译不会通过,即使是在判断语句中也不能使用未被手动赋值的本地变量。【编者按:实例(引用)变量经常会被初始化为null。】
52.即使在判断分支中只有一个分支使用了为手动初始化的本地变量,而且该分支也不可能会执行,系统编译时仍然会报错。.
53.主函数public static void mani(string[] args){}中的参数数组名不一定非得取名“args”
54.当一个对象数组被初始化后,在数组中的对象不会自动被初始化,但是所有的引用都会得到默认值null。JAVA语言中boolean变量的默认值是false。
55.JAVA语言中的所有数字都是带符号的(signed不是JAVA语言的关键字)。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马