1.Java 有没有 goto?
作为java的保留字,但是在java中没有使用。
2.&和&&的区别
两者都是逻辑“与”的意思,&&会出现短路,也就是前面的条件为false就不会判断后面的,效率比较高,而&即使前面条件为false也会判断后面的条件
3.java如何跳出多重循环
在需要跳出的循环的地方做标记,假设标记为OK:在需要跳出的地方break OK;就能跳出多重循环。
4.switch表达式可以放哪些数据类型
整型或可以隐式的转为整型的数据类型,有int,char,byte,short,还有枚举类型,在jdk1.7之后支持String类型。
5.short s1=1, Q1:s1=s1+1; Q2:s1+=1; Q1和Q2的正误。
Q1是错误的,Q2是正确的。
Q1会出现强制转换类型的错误,Q2中的+=隐式的含有一个类型的自动提升。
6.char类型变量能储存一个汉字吗
char类型的数据类型就是存储一个Unicode字符,所以是可以存储一个汉字的,占用两个字节。
7.使用final关键字修饰变时,是引用不能变,还是引用的对象不能变
引用的变量不能变,引用的对象是可以改变的。
举个例子:
final Stringbuffer sb=new Stringbuffer("aaa");
sb=new new Stringbuffer("bbb");//报错,因为final修饰,引用不能改变
sb.append("bbb");//正确,引用的对象可以改变
8.==和equals的区别
==比较的是地址,equals比较字面量的值。如果没有定义equals方法,他将继承Object类的equals方法,Object的equals方法是这样的:
public boolean equals(Object o){
return this==o;
}
也就是比较的是地址,所以如果需要比较内容需要重写equals方法,String就重写了equals方法。
9.静态变量和实例变量的区别
静态变量属于类,是唯一的,实例变量属于具体对象的。因此每创建一个类的对象都会创建一个实例变量,而在类的初始化的时候静态变量只初始化一次。
例子:
public class Test{
static int a=0;
int b=0;
public Test(){
a++;
b++;
system.out.print("a:"+a+"====b:"+b);
}
}
创建Test类的实例,会发现静态变量a会累加,实例变量不会。
10.Math.round(11.5) 等於多少? Math.round(-11.5)
Math.round(11.5) =12.Math.round(-11.5)=11;
四舍五入先加0.5在向下取整。