java 基础知识面试题(持续更新),java基础面试笔试题


我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家。
扫描二维码或搜索下图红色VX号,加VX好友,拉你进【程序员面试学习交流群】免费领取。也欢迎各位一起在群里探讨技术。
推荐文章:Java 面试知识点解析Mysql优化技巧(数据库设计、命名规范、索引优化

 

1.权限修饰符 public ,protected ,默认, private 的区别是?

 

当前类 相同包下 子类 项目中其他包下

public √ √ √ √

protected √ √ √ ×

默认 √ √ × ×

private √ × × ×

2.java中的基本数据类型有哪些? String 属于基本类型吗?

答:java中基本类型有8种 , byte short,int ,long ,float , double ,char ,boolean ,String 属于引用类型,不属于基本类型

整数类型: byte, short ,int ,log

byte (1字节,8位 取值范围:-128 ~ 127) ,short(2字节,16 位,很少用) ,int(4字节,32位最常用) ,long(8字节,64位)

数值类型

小数类型: float(4字节 32位) , double (8字节,64位)

字符类型 : char 占2个字节,16位 ; 单引号引起的字符,可以为中文

布尔类型 : boolean 值为true 或者 false

java中默认的整数类型是 int , 默认的小数类型是double

类型的自动提升:

例如:

 

double d = 1L;//类型小转大,可以自动提升

long l = 1.0; //类型大转小,只能强转

 

3. int 与 Integer 的区别是什么?

答:1、Integer是int的包装类,int则是java的一种基本数据类型
2、Integer变量必须实例化后才能使用,而int变量不需要
3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值
4、Integer的默认值是null,int的默认值是0

拓展: int 与 Integer 的比较 , Integer 与 Integer 的比较

 

//情形1 Integer 与 int类型比较

Integer i   =   1;

int     j   =   1;

System.out.println(i == j);

//情形2 Integer 与 Integer 比较(不通过new 的形式)

Integer i1 =   100;

Integer i2 =   100;

System.out.println(i1 == i2);

//情形3 Integer 与 Integer 比较(不通过new 的形式)

Integer i3 =   128;

Integer i4 =   128;

System.out.println(i3 == i4);

//情形4 Integer 与 Integer 通过new

Integer i5 =   new Integer(110);

Integer i6 =   110;

System.out.println(i5 == i6);

//情形5 Integer 与 Integer 通过new

Integer i7 =   new Integer(120);

Integer i8 =   new Integer(120);

System.out.println(i7 == i8);

 

最终执行结果:

 

true

true

false

false

false

 

分析:

 

//写在前面 ,对于 == ,int 类型之间的比较,比较的是值, Integer对象之间比较的是内存地址

/*

情形一:

Integer 与 int 的比较 , 会将Integer 拆箱成 int 类型的值再做比较,所以最终是两个int类型的比较. 而两个int类型比较的是字面值,所以结果为true

*/

/*

情形二:

Integer i1 = 100;这句最终执行的代码是 Integer i1 = Integer.valueOf(100);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值