面试题:java中,八大基本数据类型有哪些?
数值型:整型(byte,short,int,long,)、浮点型(float,double)
非数值型:布尔类型(boolean),字符型(char)
面试题2:==和equals的区别
1、 ==通常做数值的相等关系比较,
equals通常做引用型数据类型的相等比较
2、 ==比较的是变量的地址是否是同一个地址
equals比较的是变量指向的值是否是相同的
面试3:如何最快的方式求出2的3次方
Sysem,out.print(2<<2);
面试题四:6&7=?6 6丨7=?7
110 110
&111 丨111
110 111
面试题5:&和&&的区别
1、&表示逻辑且,无论第一个操作数是否为true 第二个操作数都执行
&&表示短路且,第一个操作数为false时后面操作数不执行,结果返回false
2、&还可以用作位运算,&&只能做逻辑运算。
或:丨逻辑或丨丨短路或
且:&逻辑且 &&逻辑且
(3>4)丨丨(4>3)=true;
或运算,只要有一个为true;整个结果为true
(3>4)&&(4>3)=false:
或运算;只要有一个为false;整个结果为false
2、算术运算符 + - * / % ++ -- += -= *= /=
int a = 1;
int sum = (a++) + (++a) + (a--) + (++a) + (--a) + (a++) + (a--);
17 1 3 3 3 2 2 3
int a = 1;
int b = 2;
b += a; b = b+a;
int a = 1;
double aa = a;
自动类型转换:1、类型可以兼容 2、目标类型大于源类型
double b = 2.1;
int bb = (int)b;
强制类型转换:1、类型可以兼容 2、目标类型小于源类型
3、关系运算符
4、逻辑运算符
5、位运算符
6、条件运算符位运算符
基本数据类型,在做关系运算时:直接将变量值进行比较运算
引用型数据类型,在做关系运算时:比较的是地址