QUESTION:
1. JAVA包含哪两大类数据类型,取值范围和默认值为:分为 基本类型 和 复合类型
基本类型包括:
| byte: 0(默认值) | -27 ~ 27 -1 |
|---|---|
| short: 0 | -215 ~ 215-1 |
| int : 0 | -231~ 231-1 |
| long: 0 | -263~ 263-1 |
| float: 0.0f | -231~ 231-1 |
| double: 0.0d | -263 ~ 263-1 |
| char : ‘u0000’ | 0~216-1 |
| boolean : false | truefalse |
复合类包括:
class(类)
interface(接口)
数组
public class abc {
static byte a;
static short b;
static int c;
static long d;
static float e;
static double f;
static char g;
static boolean h;
public static void main(String[] args) {
System.out.println(a+" "+Byte.MIN_VALUE+"~"+Byte.MAX_VALUE);
System.out.println(b+" "+Short.MIN_VALUE+"~"+Short.MAX_VALUE);
System.out.println(c+" "+Integer.MIN_VALUE+"~"+Integer.MAX_VALUE);
System.out.println(d+" "+Long.MIN_VALUE+"~"+Long.MAX_VALUE);
System.out.println(e+" "+Float.MIN_VALUE+"~"+Float.MAX_VALUE);
System.out.println(f+" "+Double.MIN_VALUE+"~"+Double.MAX_VALUE);
System.out.println(g+" "+Character.MIN_VALUE+"~"+Character.MAX_VALUE);
System.out.println(h);
}
}
2.java什么情况会发生整型溢出:结果为:
0 -128~127
0 -32768~32767
0 -2147483648~2147483647
0 -9223372036854775808~9223372036854775807
0.0 1.4E-45~3.4028235E38
0.0 4.9E-324~1.7976931348623157E308
false
赋值时超出int的最大界或最小界
例如232,这时可以使用long
基本包装类:将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。
Byte:-128~127;
Short:-128~127;
Character(char):0~127;
Long:-128~127;
Integer:-128~127;
Double和Float没有缓存;
Boolean:使用静态final,就会返回静态值;
public class Integer{
public static void main(String[] args){
Integer i = new Integer(127);
System.out.println(i);
System.out.println(++i);
}
}
4.什么是自动装箱和自动拆箱:
举个例子:
Integer a = 6; int b = a;
装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。(int b = a;)
5.int 和 integer区别:Integer是int的包装类,属于是int的拓展,默认值为NULL,int则是java的一种基本数据类型,默认值是0 。相互转化方式参见问题四。
6.&和&&区别,逻辑运算符&和位运算符&区别:&作为位运算符时,将左右两边的数字转为二进制计算。作为逻辑运算符,&左右两端条件式有一个为假就会不成立,但是两端都会运行。
&&也叫做短路运算符,只要左端条件式为假直接不成立,不会去判断右端条件式,与||不同。
XXX:
while{
for(…)
{
break XXX
}
}
未完待续……



