学习Java你必须了解的知识

时间:2021-10-04 16:20:47

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)&和|在运算布尔型时不会产生短路现象,而&&||会产生短路现象。