Java常见面试题(八股文)

1.jdk和jre的区别?

jdk,Java开发工具包,为Java提供开发环境和运行环境。

jre,java的开发环境,为java的运行提供环境支持

总的来说jdk包含jre,还包含编译Java源码的编辑器javac,还包含Java的解析和调试工具,如果你只需运行Java程序,你只需要安装jre,如果你要编写Java程序就需要安装jdk。

2.Java中是不是没有全局变量?

Java中并没有真正的定义全局变量,Java程序是有很多的类和方法组合成的,每个类和方法中的变量都是自己的全局变量,但是相当于其他的类和方法来说就是局部变量。

3.==和equals的区别?

==对于基本数据类型来说是值的比较,对于引用数据来说是引用地址的比较,equals默认情况下是引用地址的比较,但是很多类重写了equals方法把它变成了值的比较,例如string,integer把它变成了值的比较。

4.重写和重载的区别?

重载

发生在同一个类中

方法名相同

参数列表不相同

与返回值无关,如果只是返回值不相同不能说是重载

重写

发生在子类和父类中

方法名相同

参数列表相同

返回值相同或是其子类

权限修饰符相同或子类大于父类权限修饰符

异常类型相同或子类小于父类的异常

5.两个值的hashCode()相同,则equals()一定为true,对吗?

不对,两个值的hashCode()相同,equals()不一定为true,例如string的通话和重地两个值的hashCode()相同,但equals()却为false,因为在散列列表中,hashCode()相同的两个键值对的哈希值相同,但是哈希值相同键值对不一定相同。

6.final在Java中的作用?

final修饰的类不能被继承

final修饰的方法不能被重写

final修饰的变量叫常量,常量必须初始化,初始换后的值不能被修改

7.在Java中math .round(-1.5)等于多少?

等于-1,math.round四舍五入大于0.5向上取整

8.string属于基本数据类吗?

string不属于基本数据类型,基本数据类型有8中byte,short,int,long,float,double,char,boolean,四种数据类型:整数 byte(1个字节)short(2个字节) int (4个字节)long(8个字节)

浮点 float(4个字节) double(8个字节)

字符 char(2个字节)

布尔类型 Boolean (1个字节)

9.string如何转变成基本数据类型?

一般情况我们使用parse例如Integer.parseInt或者使用Apache lang NumberUtils工具类

10.char变量能存汉字吗?

可以,不过如果某个汉字没有被包含在unicode编码集中,那么char不能存储这个汉字,char在Java中是占2个字节所以可以存储中文。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值