目录
1.Java包含哪些数据类型?请举例说明
- 基本类型:
- 整数类型:byte,short,int,long
- 浮点类型:float,double
- 字符类型:char
- 布尔类型:boolean
- 复合类型:Class,Interface,array
2.Java基本数据类型转换包含哪两类?请举例说明
- 自动类型转换:不同数据类型参与运算时,低级别数据类型会自动向高级别数据类型统一,以至于不改变数据精度,保证运算准确。Boolean类型数据不能向整数类型转换
- 强制类型转换:在低级别数据类型向高级别数据类型转换时,需要使用强制类型转换。
注意:两个整数类型数据相加,结果默认int
int a = 6 , b = 8;
float c = 4.0, d = 6.8;
System.out.println(a + c) ;
//10.0
System.out.println( int( d + a ) );
//12.0
3.为什么需要包装类?
- 由于Java是纯粹的面向对象的程序设计语言,而基本数据类型不是对象,在很多需要对象作为参数的情况下无法使用,而包装类就为其提供对应的对象。
- 包装类为对应的数据类型提供了一些方便的静态方法与静态属性,例如:
Integer.parseInt(String s)
将表示数字的字符串转换为数字,Integer.MAX_VALUE
表示int类型表示的最大值。
4.int和Integer有什么区别,它们之间的相互转换是怎样的?
int
表示的是一种基本数据类型,Interger
是一个类即包装类。Int
转化为Interger
:Integer a = new Integer(100); //新建对象 Integer b = Integer.ValueOf(100); Integer c = 100; //自动装箱
Interger
转化为Int
:int d = a.intValue(); //调用方法 int e = a; //自动拆箱
5.逻辑运算符&和&&的区别是什么?逻辑运算符&与位运算符&的区别是什么?请分别举例说明
- 逻辑运算符&与逻辑运输符&&的区别在于,&在求值时会先求左右两侧的值在求最后结果;而&&从左至右求值,当左侧为假时直接返回假,有短路的效果。
- 逻辑运算符&与位运算符&的区别在于其操作数或表达式的数据类型:
boolean a = 1, b = 2, c = 1; System.out.println( (a == b) & (a == c)); //先算左右值 System.out.println( (a == b) && (a == c)); //计算左值后返回false System.out.println( (a == b) & (a == c)); //左右为boolean,为逻辑运算符 System.out.println( a & c); //左右为int,为位运算符
6.Java语句中采用什么语句跳出多重循环?请举例说明
break lab
,Continue lab
,return [a;]
都可跳出多层循环
lab_a:for(int i = 1; i <= 100; i++){
lab_b:for(int j = 1; j <= 100; j++){
if (j + i == 99){
continue lab_b;
} else if (j * i == 100) {
break lab_a;
} else if (j - i == 11){
return;
}
}
}