Java基础
1.一个java源文件中是否可以包括多少个类?有什么限制?
可以有多个类,但只能有一个public的类,并且public的类名必须与文件名一致。
2.Java有没有goto?
Java中的保留字,现在没有在Java中使用。
3.说说&和&&的区别。
&和&&都可以用作逻辑与运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式。
& 不管前面的条件是否正确,后面都执行。
&& 前面条件正确时,才执行后面,不正确时,就不执行,就效率而言,这个更好。
4.在Java中如何跳出当前的多重嵌套循环?
在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标点,然后在里面循环体的代码中使用带有标号break语句,即可跳出外层循环。
5.switch语句能否作用在byte上,能否作用在long上,能否作用在string上?
witch(expr1)中,expr1 是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long不能作用于 swtich。
6.char 型变量中能不能存贮一个中文汉字?为什么?
是能够定义成为一个中文的,因为 java 中以 unicode 编码,一个 char 占 16 个字节,所以放一个中文是没问题的。
7.用最有效率的方法算出2乘以8等于几?
2<<3
因为将一个书左移n位,就相当于乘以了2的n次方,那么,一个数乘以8只要将其左移3位即可,而位运算cpu直接支持的,效率最高,所以,2乘以8等于几的最效率的方法是2<<3。
8.使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
使用final关键字修饰一个变量时,是指引用不能变,引用变量所指向的对象中的内容还是可以改变的。
9.==和 equals() 都可以返回一个 true 或者 false 的结果,请问二者有什么区别?
==可以比较基本数据类型的值也可以比较引用数据类型的值。
equals()如果没有被重写的话是和==是一样的,如果被重写了就按照重写的规则进行比较。
10.静态变量和实例变量的区别?
在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。
在程序运行时的区别:实例变量属于某个对象的属性,必须创建实例变量。静态变量不属于某个实例对象,而是属于类,也称为类变量,不用创建任何实例对象。实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
11.是否可以从一个static方法内部发出对非static方法的调用?
本可以。因为非static方法是要与对象关联在一起,必须创建一个对象后,才可以在该对象上进行方法调用,static方法调用不需要创建对象,可以直接调用。当一个static方法被调用时,可能还没有创建任何实例对象。
12.GC 是什么? 为什么要有 GC?
GC 是垃圾收集的意思,内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java 提供的 GC 功能可以自动监测对象是否超过作用域从而达到自动回收内存的目,Java 语言没有提供释放已分配内存的显示操作方法。
13.数据类型有哪些
整数: byte short int long
浮点数 float double
布尔 boolean
字符 char
14.串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?
吞吐量收集器使用并行版本的新生代垃圾收集器,它用于中等规模和大规模数据的应用程序。而串行收集器对大多数的小应用(在现代处理器上需要大概 100M 左右的内存)就足够了.
15.如果对象的引用被置为 null,垃圾收集器是否会立即释放对象占用的内存?
不会,在下一个垃圾回收周期中,这个对象将是可被回收的。
16.在 Java 中,对象什么时候可以被垃圾回收?
当对象对当前使用这个对象的应用程序变得不可触及的时候,这个对象就可以被回收了
17.数组有没有 length()方法?String 有没有 length()方法?
数组没有 length()方法,有 length 的属性。String 有 length()方法。JavaScript 中,获得字符串
18.break 和 continue 的区别是什么?
break 跳出循环,continue 跳出本次循环,进入下次循环
19.说出一些常用的类,包,接口,请各举 5 个
常用的类:BufferedReader BufferedWriter FileReader FileWirter String Integer
常用的包:java.lang java.awt java.io java.util java.sql
常用的接口:Remote List Map Document NodeList

浙公网安备 33010602011771号