Java基础知识中一些需要注意的地方,包括和C语言的一些不同之处
1. 强类型:
1. 强类型:
int a = 10;
int b = 20;
错:
boolean flag = (a = b);
//对:
int c = (a = b);
三目运算:
int z = (x=y) ? x : y;//报错,?号前必须是boolean
2. 赋值运算符:(面试题)
//错:
short s = 1;
s = s + 1;
//对:
short s = 1;
s += 1;
3. &和&&、|和||区别:
&&和||有短路效果,效率更高。
4. 实现两个变量的交换:(面试题)
int a = 10;
int b = 20;
//方式1:
int c = a;
a = b;
b = c;
//方式2:
//左边:a,b,a
//右边:a ^ b
a = a ^ b;
b = a ^ b;
a = a ^ b;
//方式3:
a = a + b;
b = a - b;
a = a - b;
//方式4:一句话搞定
b = (a+b) - (a=b);
5. 无符号右移>>>
6. 用最有效的方式计算2*8的结果:(面试题)
2 << 3
7. 三元运算符能实现的用if能实现,反之则不一定成立:
三元运算符操作完毕应该有一个结果,而不是一个输出语句。
8. switch的表达式限定:
byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是字符串
9. 数组:
int[] a = new int[3];//正确
int[] a = new int[]={1,2,3}//正确
int[] a = new int[3]={1,2,3}//错误
10. 面向对象思想,大象装进冰箱:
1)有哪些类呢?名词提取法
大象
冰箱
Demo
2)每个类有哪些东西呢?
大象
走进去
冰箱
开门
关门
Demo
main方法
3)类与类之间
的关系是什么呢?
Demo中使用大象和冰箱类的功能