面试题目1-20

来源:互联网 发布:iphone4s蜂窝数据设置 编辑:程序博客网 时间:2024/05/22 17:43

1.一个”.java”源文件中是否可以包含多个类?

可以有多个类,只能有一个 Public类,public 类名必须与文件名一致。

2.Java 有没有 goto?

java 中的保留字。

3.&与&&的区别

相同点:都可以表示逻辑运算符(true-true=true)
区别:
1)【短路】&& 短路功能,如果第一个为 false,则不再计算第二个表达式。
2)【位运算符】当&操作符两边的表达式不是 boolean 的时候,&表示按照位运算,来获取该整数最低的4个 bit 位

4.switch 是否能用在 byte 上,能否作用在long 上,能否作用在 String 上?

在 switch(expr1) 中,expr1只能是一个 整数表达式 或者 枚举常量 ,整数表达式可以是 int 或者 Integer。由于 byte、short、char 可以隐含转换为 int,所以这些类型以及这些类型的包装类型也是可以的。
long、short 不能隐式转换成 int,所以它们不能作用于 switch。

5.short s1 = 1; s1 = s1 + 1;有错吗?

1)short s1 = 1; s1 = s1 + 1;
s1+1运算时会自动提升表达式的类型,所以结果是 int,需要强转给 short 类型的 int
2)short s1 = 1; s1 += s1 ; 正确
java 编译器会对它进行特殊处理

6.char 型变量中能不能存储一个中文汉字?

1)char型变量是用来存储 Unicode 编码的字符的,Unicode 编码字符集中包含了汉字,所以可以存储这个特殊汉字。
2)补充:unicode 编码占用两个字节,char 型变量也是占用两个字节。

7.有效率的计算2*8?

2<<3
讲一个数左移 n 位,就相当于乘以2的 n 次方。
乘以8相当于左移了3位。
效率:位运算 cpu 直接支持的,效率最高。

8.设计一个一百亿的计算器

9.使用 final 关键字修饰一个变量的时候,是引用不能变还是引用的对象不能变?

使用 final 关键字修饰一个变量的时候,是指引用变量不能变,引用变量所指向的内容是可以改变的。

10.”==”和”equals”方法有什么区别?

==操作符专门用来比较两个变量的值是否相等;
(比较变量所对应的内存中存储的数值是否相同)
equals 比较两个独立对象的内容是否相同;

11.静态变量何实例变量的区别?

1)语法上:静态变量前要加 static,实例变量前不要加。
2)程序运行时的区别:

原创粉丝点击