1. Java是否需要开发人员回收内存垃圾吗?
不需要
Java有独立的垃圾收集算法(GC),并且有JVM提供的独立线程负责运行,不需要程序员考虑回收内存垃圾。
具体垃圾回收机制看这里:深入详解Java垃圾回收(GC)机制
2. Java的数据结构有那些?
线性表:ArrayList
链表:LinkedList
栈:Stack
队列:Queue
图:Map
树:Tree
*3. Java中有几种数据类型
8种基础数据类型
整形:byte,short,int,long
浮点型:float,double
字符型:char
布尔型:boolean
4. 什么是隐式转换,什么是显式转换?
显示:基转派,隐式:派转基
显示转换就是类型强转,把一个基类类型的数据强制赋值给派生类类型的变量,有可能失败;
隐式转换就是派生类类型变量转化为基类类型变量,不可能失败;
另外,基础类型之间也存在隐式类型转换,例如int转换为long,因为每一个int都可以转化为long。
隐式转换和显式转换其实就是自动类型转换和强制类型转换。
*5. Char类型能不能转成int类型?能不能转化成string类型,能不能转成double类型
Char在java中也是比较特殊的类型,它的int值从1开始,一共有2的16次方个数据;
Char<int<long<float<double;Char类型可以隐式转成int,double类型,但是不能隐式转换成string;
如果char类型转成byte,short类型的时候,需要强转。
6. 简述Java中的包装类都是哪些?
byte:Byte
short:Short
int:Integer
long:Long
float:Float
double:Double
char:Character
boolean:Boolean
7. 一个java类中包含那些内容?
属性、方法、内部类、构造方法、代码块
8. 评价: if (a+1.0==4.0),这样做好吗?
不好,因为计算机在浮点型数据运算的时候,会有误差,尽量在布尔表达式中不使用浮点型数据(if,while,switch中判断条件不使用浮点型)
9. 那针对浮点型数据运算出现的误差的问题,你怎么解决?
使用Bigdecimal类进行浮点型数据的运算
10. ++i与i++的区别
++i:先赋值,后计算 i++:先计算,后赋值
11. 程序的结构有那些?
顺序结构
选择结构
循环结构
12. 数组实例化有几种方式?
静态实例化:创建数组的时候已经指定数组中的元素,可以不用指定长度。
动态实例化:实例化数组的时候,只指定了数组长度。
13. Java中各种数据默认值
byte,short,int,long默认是都是0
boolean默认值是false
char类型的默认值是’/u0000’
float与double类型的默认是0.0
对象类型的默认值是null
14. Java最顶级的父类是哪个?
Object
15. Object类常用方法有那些?
Equals
Hashcode
toString
wait
notify
clone
getClass
*16. java中有没有指针?
理论上说有,但是不允许开发人员使用,只能由JVM来操作。
*17. java中是值传递引用传递?
理论上说,java都是引用传递,对于基本数据类型,传递是值的副本,而不是值本身。对于对象类型,传递是对象的引用,当在一个方法操作操作参数的时候,其实操作的是引用所指向的对象。
18. 什么是 Java 程序的主类 应用程序和小程序的主类有何不同?
一个程序中可以有多个类,但只能有一个类是主类。在 Java 应用程序中,这个主类是指包含 main()方法的类。而在 Java 小程序中,这个主类是一个继承自系统类 JApplet 或 Applet 的子类。应用程序的主类不一定要求是 public 类,但小程序的主类要求必须是 public 类。主类是 Java 程序执行的入口点。
19. Java 应用程序与小程序之间有哪些差别?
简单说应用程序是从主线程启动(也就是 main() 方法)。applet 小程序没有 main() 方法,主要是嵌在浏览器页面上运行(调用init()或者run()来启动),嵌入浏览器这点跟 flash 的小游戏类似。