黑马程序员,学习笔记01

来源:互联网 发布:便利店文化知乎 编辑:程序博客网 时间:2024/04/30 11:06
//1.面试题之变量相加和常量相加的区别

 byte b1 = 3;
 byte b2 = 4;
 byte b3 = b1 + b2;
 /*
 从两方面
 1.byte与byte(或short,char)进行运算的时候会提升为int,两个int类型相加的结果也是int类型
 2.b1和b2是两个变量,变量存储的值是变化的,在编译的时候无法判断里面具体的值,相加有可能超出byte的取值范围
    */
 byte b4 = 3 + 4; //java编译器有常量优化机制

//2.java语言中char可以存储一个中文么
 可以,因为Java语言采用的是Unicode编码。
  Unicode编码占用两个字节.中文也占用两个字节所以存储一个汉字.

//3.看下面的程序是否有问题,如果有问题,指出并说明理由
    short s = 1;
 s = s + 1; //当short与int进行运算的时候,会提升为int类型,两个int类型相加的结果也是int类型
 s += 1;  //这个没问题,运算时加个强制转换符

//4.请自己实现两个整数变量的交换(不需要定义第3方变量)
 int x = 10;
 int y = 5;

 x = x ^ y;
 y = x ^ y;     // = x ^ y ^ y = x
 x = x ^ y;     // = x ^ y ^ x = y

//5.怎样最有效率的计算2 * 8
 System.out.println(2 << 3); 左移3个字符
0 0