● java中的数据类型:基本类型和引用类型
基本数据类型(primitive type)包括:
- 整数类型: byte (8位),short(16位), int (32位) ,long(64位)
byte a = 5;
int a = 416;
- 浮点类型 (都是有符号类型): float, double
double w = 5.5;
- 字符类型: char (16位, 使用Unicode字符集)
char c = 'a';
char ch ='/';
- 布尔类型: boolean (C++ 的布尔类型是bool)
boolean b = true;
boolean b = false;
ps:java不允许将数字值转换成布尔值。
引用类型(reference type)包括:
- class(类)
- interface(接口)
- 数组
●Java基本数据类型转换包含自动类型转换和强制类型转换两类。
数据类型所占字节数由低到高的顺序:byte、short 、char、int、long、float、double。
自动类型转换规则:整型、浮点、字符型数据可以混合运算。从低级到高级。
Type method(byte x,double y){
return (short)x/y*2;
}
强制类型转换规则:高级数据转换成低级数据。
int i;
byte b = (byte)i;
●Java是一个面相对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型。具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。
另外,当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装object的,这是就需要这些基本类型的包装器类了。
●int与Integer的区别就是基本类型和包装类型的区别:
- 声明方式不同:
基本类型不使用new关键字,而包装类型需要使用new关键字来在堆中分配存储空间; - 存储方式及位置不同:
基本类型是直接将变量值存储在栈中,而包装类型是将对象放在堆中,然后通过引用来使用; - 初始值不同:
基本类型的初始值如int为0,boolean为false,而包装类型的初始值为null; - 使用方式不同:
基本类型直接赋值直接使用就好,而包装类型在集合如Collection、Map时会使用到。
它们之间的相互转化
1、int转Integer
int i = 0;
Integer ii = new Integer(i);
2、Integer转int
Integer ii = new Integer(0);
int i = ii.intValue();
●
逻辑运算符&和&&的区别:
&在执行操作时,运算符左右两边的表达式首先被执行,再对结果进行与运算。
&&执行操作时,如果从左边的表达式中得到操作能确定运算结果,则不再对右边的表达式进行运算。
逻辑运算符&与位运算符&的区别:
位运算符&按位进行与操作。
●在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的 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");
}
}