1.什么是Java虚拟机?为什么Java被称作是平台无关的编程语言?
Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。Java应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能。
2.JDK和JRE的区别是什么?
Java开发工具包(JDK)是完整的Java软件开发包,包含了JRE,编译器和其他的工具(比如:JavaDoc,Java调试器),可以让开发者开发、编译、执行Java应用程序。
Java运行时环境(JRE)是将要执行Java程序的Java虚拟机。它同时也包含了执行applet需要的浏览器插件。
3.描述一下JVM加载class文件的原理机制?
JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件,它负责在运行时查找和装入类文件的类。
4.Java基本数据类型有哪些,String是Java的基本数据类型吗? 什么是自动拆装箱?
基本数据类型包括byte、short、int、long、float、double、char、boolean。
String不是Java的基本数据类型,String类是final类型,因此不可以继承也不能修改这个类。
自动装箱是Java编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如:把int转化成Integer,double转化成double,等等。反之就是自动拆箱。
5.Java有没有goto
Java中的保留字,现在没有在java中使用。
6. 0.6332的数据类型是()
A float B double C Float D Double
答案:B
解析:默认为double型,如果为float型需要加上f显示说明,即0.6332f。
7.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)
short s1 = 1; s1 += 1;(+=是Java的运算符,Java编译器会进行特殊处理,因此可以正确编译)
8.Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Math.round(11.5)==12
Math.round(-11.5)==-11
round方法返回与参数最接近的长整数
9.数据类型转换有哪几种?并举例说明。
1、隐式类型转换
int i=1;long l=i;
2、强制类型转换
long l=1;int i=(int)l;
10.简述逻辑操作(&,|)与条件操作(&&,||)的区别
区别主要有以下两点:
1)&&和||只能操作布尔型的,而&和|不仅可以操作布尔型,而且可以操作数值型
2)&和|在运算布尔型时不会产生短路现象,而&&||会产生短路现象。