面试题
1.
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;
byte b4 = 3 + 4;
2. a = a + 20;
a += 20;
结果是等价的,理解不是等价的。
因为+=这种运算符,内含了强制类型转换功能。
比如:
short s = 2;
s+=3;
等价于
s = (short)
3.2*8最有效的方式
4.10和20 交换的方式
5.在Java中,下列(B)语句不能通过编译。D
A. String s = "join"+ "was"+ "here";
B. String s = "join"+3;
C. int a = 3+5;
D. float f = 5+5.5;
一、Scanner的注意问题
1、Scanner键盘录入的时候需要注意的问题及解决方法
如何会出现问题:先输入一个int类型再输入一个String类型会出问题,会默认把换行字符当作一个字符串给string类型。
解决方法①:再去创建一个Scanner对象(方法1常用)
解决方法②:数据都用String类型接收,再把字符串转换为int类型。
四、String常见面试题
1、如何理解字符串一旦初始化就不可以被改变。
String s = "hello";
s += "world";
System.out.println(s);
不可以被改变说的是常量池中的值,并不是引用s(s是可以重新被赋值的)
2、
String s1 = new String("abc");
String s2 = "abc";
s1、s2有区别吗?
第一种方式:第一种方式在内存中存在两个"abc"字符串,一个是在常量池中,一个是在堆内存当中.
第二种方式:在内存中只存在一个"abc"在常量池中.
|
|