转载:https://blog.csdn.net/qq_33314107/article/details/79497614
上面部分为问题,下面为答案,可以方便记忆
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
2、Java有没有goto?
3、说说&和&&的区别。
4、在JAVA中如何跳出当前的多重嵌套循环?
5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
6、short s1= 1; s1 = (s1+1是int类型,而等号左边的是short类型,所以需要强转)1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?(没有错)
7、char型变量中能不能存贮一个中文汉字?为什么?
8、Java中的基本数据类型有哪些?分别多少字节?
9、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
10,静态变量和实例变量的区别?
答案:
1.可以,但是有且只有一个public类,并且名字和类名相同
2 java保留着goto,现不使用
3符号两边都为true才为true,&&当第一个条件不满足时,不会判断第二个条件
4.加上判断条件,用break跳出循环
5.switch(),括号中一般填写int和Integer型参数,char、byte、short都能转换成int型,但是long不符合规范 jdk1.7之后可以支持
6.short s1=1;s1=s1+1; s1加上1之后会变成int型,再赋值给short型,类型不匹配;同样,short s1=1;s1+=1;会自动将类型装换为short类型
7.char是用来存储unicode的,unicode编码中包含汉字,所以char变量可以存储中文汉字,若编码中不存在的,不会显示,unicode是2个字节的,所以char存储2字节
8.基本类型:int、byte、char、double、boolean、float、long、short (String不是基本数据类型)
byte 1字节、char 2字节、short 2字节、int 4字节、float 4字节、double 8字节、long 8字节、
9.final修饰变量时,引用变量不变,引用变量指向的对象的内容可变,例:final StringBuffer buffer=new StringBuffer(“aaa”);若buffer=new StringBuffer(“”);会编译报错,但是对内容修改 buffer.append("22");是不会报错的
10.分为语法上的区别和运行中的区别。
语法:静态变量中有static修饰符,实例变量中没有,
运行:静态变量的值可以给所有对象使用,使用之后的值会产生相应的变化,再给下一个对象使用,实例变量要在对象new之后,才会在内存中分配空间,且只给实例的对象使用。静态变量不需要new就会产生内存空间,
demo :
public class A(){
static int a=0;
public int b=0;
}
public class B(){
public void main (String args[]){
A a1=new A();
A a2=new A();
a1.a=3; //相当于 A.a=3
a1.b=3; // A.b=3
System.out.println(a1.a); //静态变量,不用实例,就有内存,答案为3
System.out.print(a2.b); //实例变量,答案为0,没有改变a2的值,所有为0,
System.out.print(A.a); //结果为3 ,编译不报错 静态变量为类变量,可以调用;
System.out.print(A.b); //编译报错,没有这个方法
}}