• java面试基础(一)


    1.基本数据类型、封装类和运算操作
    (1)简述 & 和 && ,以及 | 和 || 的区别。
    ———&和|是位运算符也是逻辑运算符,作为逻辑运算符时左右两边都会进行判断(不会出现短路);而&&和 || 也是逻辑运算符(存在短路现象:即当左边满足条件时,右边不会再执行,所以也叫短路与、短路或),一般用在if、while、for等条件判断里。

    (2)运行 short s1 = 1; s1 = s1 + 1; 会出现什么结果?
    错! s1 + 1,s1是short类型,1是int型,s1会自动转换为int型的1,与1相加后,得到int型的2,要向左侧的short类型的s1看齐,即需要通过强制类型转换。正确写法:s1 = (short) (s1 + 1);
    运行 short s1 = 1; s1 += 1; 又会出现什么结果?
    正确! 执行s1+=1;其实执行的是s1 = (short) (s1 + 1); 其中会有一个强制转换的过程。

    注:Java的基本数据类型转换规则,大的数据类型转换为小的数据类型需要强制转换,反之可以自动转换。赋值表达式等号两侧的转换的规则是右侧的向左侧的看齐,即右侧表达式要转换到和左边的类型一样。

    数据类型大小:

    ①byte<short<int<long<float<double;

    ②         char<int<long<float<double;

    值得注意的是byte和char ,short和char都不会存在隐式转换,相互之间只能进行强制类型转换。

    (3)用最优效率的方法算出2乘以8等于多少。

    用位运算符:int i = 2 << 3;【补充】:对于正数来说,左移 n 位相当于乘以 2n(但效率比乘法高),右移 n 位相当于除以2n(但效率比除法高)。

    (4)"==" 和 equals 方法有什么区别?
    "==" 比较地址
    equals 判断值是否相等

    (5)Integer 和 int 的区别是什么?
    Integer是封装类,其中包含了int 基本数据类型和针对int的一些操作。而int是基本数据类型。

    (6)Math.round(11.5) 和 Math.round(-11.5) 分别等于多少?
    分别是12、 -11 将括号里的数+0.5之后再向下取整

    (7)float 型 float f=3.4 是否正确?
    不对,精度不准确,应该用强制类型转换,如下所示:
    float f = (float)3.4 或 float f = 3.6f


    2.流程控制方面的
    (1)switch 语句能否作用在byte、long、String上?
    ————a.switch里可以用char,byte,short,int 这些基本类型,以及它们的封装类
    b.不能用long,double,float,boolean,包括它们的封装类
    c.jdk1.7和以上版本里,可以使用字符串类型
    d.switch中还可以使用枚举类型

    (2)在Java中,如何跳出当前的多重嵌套循环?
    ————用break 或 continue ,其中,break跳出整个循环,continue 是跳出当次循环

    (3)while 和 do...while 有什么区别?
    ————while 先判断条件再执行循环体
    do...while 先执行后判断,所以同等条件下,do...while 会多执行一次

    (4)你有没有用过关键字goto?并简述你的看法
    ————不建议使用,,因为它会破坏程序的结构,尤其会让代码一团槽,不能读

  • 相关阅读:
    服务端配置scan ip
    父表、子表 主外键关系
    Linux下使用NMON监控、分析系统性能
    Spot light工具集
    linux设置中文环境
    【Android Developers Training】 20. 创建一个Fragment
    【Android Developers Training】 19. 序言:通过Fragments构建动态UI
    【Android Developers Training】 18. 重新创建一个Activity
    【Android Developers Training】 17. 停止和重启一个Activity
    【Android Developers Training】 16. 暂停和恢复一个Activity
  • 原文地址:https://www.cnblogs.com/tangjian07/p/10588861.html
Copyright © 2020-2023  润新知