1. Java包含哪些数据类型?请举例说明
- 基本数据类型
- 整数类型:byte, short, int, long
- 浮点型:float, double
- 字符类型:char
- 布尔类型:boolean
- 复合数据类型
- class(类)
- interface(接口)
- 数组
2. Java基本数据类型转换包含哪两类?请举例说明
- 自动类型转换
Type methodA(byte x,double y){
return (short)x/y*2;
}
- 强制类型转换
int i;
byte b=(byte)i;
3. 为什么需要包装类?
- 基本数据类型不是对象,在一些场合不能直接使用,需要转化为对应的包装类对象才能继续使用
- 包装类的一些静态方法可实现不同数据类型的转化
- 包装类的静态属性中含有相应数据类型的范围
4. int与Integer有什么区别,它们之间的相互转化是怎样的?
- 区别
- int是基本数据类型,Integer是int的包装类
- Integer的默认值是null,int的默认值是0
- Integer实际是对象的引用,而int则是直接存储数据值
- Integer变量必须实例化后才能使用,而int变量不需要
- 相互转化
- 基本数据类型转化为包装类:通过构造方法来完成
Integer vari1 = new Integer(5);
Integer vari2 = new Integer.valueOf(5);
Integer vari3 = 5;
- 从包装类对象得到其代表的基本数据值:调用该对象的相应方法
int varInt = varInteger.intValue();
int varInt = varInteger;
- 基本数据类型转化为包装类:通过构造方法来完成
5. 逻辑运算符&和&&的区别是什么?逻辑运算符&与位运算符&的区别是什么?请分别举例说明
- 逻辑运算符&和&&的区别
&在执行操作时,运算符左右两边的表达式首先被执行,再对结果进行与运算;而利用&&执行操作时,如果从左边的表达式中得到操作数能确定运算结果,则不再对右边的表达式进行运算。采用&&可以加快运算速度。
out结果为10,如将语句改为if ((b1==true)&(out+=10)==20) 则out结果为20 - 逻辑运算符&与位运算符&的区别
- 运算顺序不同。位运算符的两端的表达式都要进行计算,而逻辑运算符运算完第一个表达式后如果已经判定整个表达式为真或假以后,便不再运算第二个表达式
- 运算对象不同。位运算符可以对布尔型运算也可以对数值型进行运算;而
逻辑运算符两端只接受布尔型数据,即只对true和false进行运算。
6. Java语言中可以采用什么语句跳出多重循环?请举例说明
带标号的break语句用在循环语句中,可跳出多重循环的外层循环。
例如:
lab:
for(int i =0; i<2; i++) {
for(int j=0; j<10; j++) {
if (j >1) {
break lab;
}
System.out.println(“break");
}
}