2018-12-25 课堂笔记&面试题

面试题一、Java中,八大基本数据类型有哪些?
答:数值型:整型(byte、short、int、long)浮点型(float、double)
非数值型:布尔类型(boolean)字符型(char)。
注意:字符串String不属于八大数据类型。

面试题二、==和equals的区别
答:==通常做数值的关系比较,
equals通常做引用型数值类型的相等比较。
==比较的是变量的地址是否同一地址,
equals比较的是变量指向的值是否相同的。

注意:==比较的是地址,equals是比较值。

面试题三、如何已最快的方式求出2的3次方?
答:System.out.print(2<<2);

解析:将2往左移动两位。

面试题四、6&7=? 6|7=?
   110 110
 &111 |111
   110 111
答:6二进制110 7二进制111

面试题五、&和&&的区别?

1、&表示逻辑且,无论第一个操作数是否位true,第二个操作都执行。
&&表示短路且,第一个操作数false,后面操作都不执行,结果返回false。
2、&还可以用作位运算符,&&只能做逻辑运算符。

赋值运算符 =
变量 变量类型 变量名 = 变量值;
常量 final 常量类型 常量名 = 常量值;

变量名规范: name 45asd aaa a_aa loginName
name2 _asda $asda admin asd

算术运算符 + - * / % ++ -- += -= *= /=
int a = 1;
int sum = (a++) + (++a) + (a--) + (++a) + (--a) + (a++) + (++a);
18     1 3 3 3 2 2 4

int a = 1;
int b = 2;
b += a; b = b+a;

int c = 2;

int d = 4;

D += c; D= D+c;

int a = 1;

double aa = a;
自动类型转换:1、类型可以兼容 2、目标类型大于源类型
double b = 2.1;
int bb = (int)b;
强制类型转换:1、类型可以兼容 2、目标类型小于源类型


关系运算符:==等于 !=不等于 >大于 < 小于 >=大于等于 <=小于等于
== !=可以比较所有类型 > < >= <= 只能比较数值

基本数据类型,在做关系运算时:直接将变量值进行比较运算。
引用型数据类型,在做关系运算时:比较的是地址。


逻辑运算符:&&-且 ||-或 !-非
或:|逻辑或 ||短路或
案例:(1>2)||(2>1)=true;或运算只要符合一个true,全为true。
且:&逻辑且 &&短路且
案例:(1>2)&&(2>1)=true;且运算只要一个false,全为false。

条件运算符:
做我女朋友好吗?“幸福”:“单身狗”;
2<3?true:false;

位运算符:

& 按位且

 | 按位或

 ^ 按位且或

 ~ 按位非|取反

<< 左移  右侧空位补0

>> 右移 

>>>无符号右移

原文地址:https://www.cnblogs.com/kemii/p/10173151.html