javaSE 面试题03:运算


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 的小游戏类似。


文章作者: 银色回廊
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 银色回廊 !
评论
  目录