1、源文件的扩展名为.java,编写的源程序必须先编译后才能运行。
2、存储在数组当中的数据都属于同一数据类型,数组的最大索引下标是数组的长度减1。
3、标识符合法 $abc _name 而class 1234为不合法的。
4、int[] arr = new int[10];
System.out.println(arr[0]);
程序的输出结果是 0
因为int类型未赋值,默认为0。
5、int c[][] = new int[10][10];
int []d[] = new int[10][10];
两个都表示二维数组。
6、函数是public void aMethod(){...}的重载函数可以为
public int aMethod(int a, float b){...}
public float aMethod (int m){…}
重载,在一个类定义中,可以编写几个同名的方法,但是只要它们的签名参数列表不同,Java就会将它们看做唯一的方法。简单的说,一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法。
7、
public class Test {
public static void main(String[] args) {
boolean m = true;
if (m = false) { //这里相当于赋值,而不是判断。
System.out.println("true");
} else {
System.out.println("false");
}
}
}
输出结果为false。8、float b = 1.5 ; 为错误的。等号前面为float,等号后面默认为double精度的。正确写法为:float b = 1.5f。
byte b = 1;写法正确。这是一个隐式转换,将等号后面的数字强制转换为byte类型。
b + = 1; 写法正确。这是一个隐式转换,将等号后面的数字强制转换为byte类型。
byte b1 = b + 1;等号前面为byte类型,等号后面为数字相加,java虚拟机默认加法结果为int,所以写法错误。正确写法为byte b1 = byte(b + 1);
byte b = 128 ;错误 byte的范围为-128~127。但是可以这样写 byte b = byte(128);那么b = - 128;
int a = "a" + 1 ;写法正确。java虚拟机默认等号后面的加法为int类型相加,所以把"a"隐式转换为int 类型。
int a = "join" + 1;写法错误,java不能将"join"转换为int的。
string s = "join" + 1;写法正确。向上转型。
9、在java中可以使用import语句导入包
在java中可以使用package语句打包
位于同一个包中的类,不需要导包就可以直接访问,这是不正确的,比如私有类、内部类。
不同的包中可以出现类名相同的类
10、 一个类可以同时继承多个父类,错误,只能有一个父类。
一个类可以具有多个子类
子类会自动拥有父类所有的方法,错误,私有的类不能拥有。
一个类继承另一个类需要使用 extends 关键字
11、下列代码运行的结果是
public static void main(String[] args) {
int num = 4;
int y = 0;
switch(num) {
case 1:
y++;
case 2:
y+=2;
case 3:
y+=3;
case 4:
y+=4;
case 5:
y+=5;
}
System.out.println(y);
}
输出结果为9;
因为y+=4下面没有break,所以会继续向下执行。
12、 this关键字是一个对象的引用
this关键字可以用于引用当前类以外其他类型的对象
this可用于构造函数中,调用类本身重载的构造函数,但是必须写在首行
this可用于静态方法中 ,错误,this不能用于静态方法中。
13、含有抽象方法的类必须声明为抽象类
抽象类中不可以有非抽象方法。错误,可以有非抽象方法。
抽象类中至少需要包含一个抽象方法。错误,也可以不写方法。
抽象类无法实例化
14、一个try块只能有一条catch语句。错误,一个try块可以有多条catch语句。
一个try块中可以不使用catch语句。错误
catch块不能单独使用,必须始终与try块在一起
finally块不能单独使用,必须始终与try块在一起
15、
String s1 = new String("amit");
System.out.println(s1.replace('m','r'));
System.out.println(s1);
String s3 = "arit";
String s4 = "arit";
String s2 = s1.replace('m','r');
System.out.println(s2 == s3);
System.out.println(s3 == s4);
输出结果为 arit amit false true。
其中s2 s3 为两个变量指向不同的内存分区。
而s3 s4为相邻的两个赋值,所以java虚拟机将两个变量指向同一个内存分区。所以相等。
16、sleep、wait 可以让线程中断
notify为唤醒线程
start为开启线程
17、同一个类的所有对象都拥有相同的特征和行为
类和对象不一样,对象是类的具体实例。
对象是具有属性和行为的实体
类规定了对象拥有的特征和行为