Java基础面试——day01

每天十道面试题,加油打卡
1、面向对象的特征

  • 封装
    把数据和操作的方法绑定起来,对数据的访问只能通过已定义的接口。
  • 继承
    从已有类得到继承信息创建新类的过程。
  • 多态
    用相同的对象引用调用同样的方法但做了不同的事。
    多态分为编译时多态(方法重载,overload)和运行时多态(override)。
    实现多态需要:
    1、方法重写(子类继承父类并重写父类中已有的或者抽象方法)
    2、对象造型(用父类型引用子类对象)
  • 抽象
    将一类对象的共同特征总给出来构造类的过程,包括数据抽象和行为抽象两方面,只关注对象的属性和行为,不关注细节。
    2、访问修饰符public,private,protected,以及默认的区别
    在这里插入图片描述
  • 类的成员不写修饰符时默认为default。
  • 默认对于同一个包的其他类相当于公开(public),对于不是同一个包中的其他类相当于私有(private)。
  • 受保护(private)对子类相当于公开,对不是同一包中的没有父子关系的类相当于私有。

3、String是最基本的数据类型么
不是,String属于应用数据类型

  • Java中基本数据类型只有8个:byte,short,int,long,float,double,char,boolan;
  • 除基本类型外和枚举类型,剩余都是引用类型(类,对象,接口等)

4、float f = 3.4; 是否正确
不正确;3.4为双精度数

  • 这里是双精度型(double)赋值给浮点型(float)属于下转型会造成精度损失。
  • 需要强制类型转化float f = (float)3.4;或写成 float f = 3.4 f(F);

5、short s1 =1; s1 = s1+1;是否正确? short s1 = 1; s1 +=1;是否正确?
不正确;正确

  • 由于1是int类型,因此s1+1运算结果也是int类型,需要强制类型转换才能赋值给short类型;
  • s1+=1;中有隐含的强制类型转换:s1 = (short)(s1+1);

6、Java有没有goto?
goto是java中的保留字,在目前版本中JAVA没有使用。
7、int和Integer有什么区别?

  • int为基本数据类型,Integer是int类型的包装类;
  • 为了能够将基本数据类型当成对象操作,java为每一个基本数据类型都引入了对应的包装类型(warpper class)。
  • 从JDK1.5开始引入了自动装箱/拆箱机制,二者可以相互转化;
  • JAVA为每个原始类型提供了包装类型:
    在这里插入图片描述
  • 注意:在比较Integer类型的值时,需要参考数值是否在-128~127之间,因为这个范围的数值是存储在常量池中,并不会new新的Integer对象。
    8、&和&&的区别
  • &运算符有两种用法:
    1、按位与;
    2、逻辑与;
  • &&运算符是短路和运算:
    1、短路运算,如果&&左边的表达式式位false时,右边的表达式会被直接短路掉,不会进行运算。
  • 相同点:二者都要求运算符左右两端的布尔值都是true整个表达式的值才是true;
  • 逻辑或运算符(|)和短路或运算符(||)的区别亦如此。
    9、内存中的栈(Strack)、堆(heap)和静态存储区的用法
  • 栈中存储的有:基本数据类型的变量、一个对象的引用、函数调用的现场保护(变量接收);
  • 堆中保存的有:通过new关键字和构造器创建的对象放在堆空间;
  • 静态存储区(方法区、常量池):程序中的字面量(如直接书写的13)、"hello"和常量都是放在静态存储区中。
  • 栈空间操作最快但是很小
  • 通常大量的对象都是放在堆空间,整个内存包括硬盘上的虚拟内存都可以被当作堆空间来使用
String str = new String ("hellO");
#str 放在栈上
#new 创建出来的字符串对象放在堆上
#"hello"这个字面量放在静态存储区

10、Math.round(11.5)等于多少? Math.round(-11.5)等于多少?

Math.round(11.5) = 12;
Math.round(-11.5= -11;
  • 四舍五入的原理是在参数上加0.5然后进行下取整
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

领头喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值