跳至主要內容

基础语法

摸鱼散人大约 2 分钟

Java有哪些数据类型?

  • 基本数据类型

    • 数值型
      • 整数类型(byte、short、int、long)
      • 浮点类型(float、double)
    • 字符型(char)
    • 布尔型(boolean)
    基本类型位数字节默认值最小值最大值
    int3240-2^312^31-1
    short1620-2^152^15-1
    long6480L-2^632^63-1
    byte810-128127
    char162'\u0000''\u0000''\uffff'
    float3240.0f1.4E-453.4028235E38
    double6480.0d4.9E-3241.7976931348623157E308
    boolean1false
  • 引用数据类型

    • 类(class)
    • 接口(interface)
    • 数组([])

什么是自动类型转换、强制类型转换?

  • 自动类型转换:把一个表数范围小的数值或变量直接赋给另一个数范围大的变量时
  • 强制类型转换:反之,需要强制转换

什么是自动拆箱/封箱?

  • 装箱 :将基本类型用它们对应的引用类型包装起来
  • 拆箱 :将包装类型转换为基本数据类型

&和&&有什么区别?

  • &:短路与
  • &&:逻辑与

switch 是否能作用在 byte/long/String上?

  • Java5 以前 switch(expr)中,expr 只能是 byte、short、char、int
  • 从 Java 5 开始,Java 中引入了枚举类型, expr 也可以是 enum 类型
  • 从 Java 7 开始,expr还可以是字符串(String),但是长整型(long)在目前所有的版本中都是不可以的

break ,continue ,return 的区别及作用?

  • break 跳出整个循环,不再执行循环( 结束当前的循环体 )
  • continue 跳出本次循环,继续执行下次循环( 结束正在执行的循环 进入下一个循环条件 )
  • return 程序返回,不再执行下面的代码( 结束当前的方法 直接返回 )

用最有效率的方法计算2乘以8?

  • 2 << 3。位运算,数字的二进制位左移三位相当于乘以2的三次方。

说说自增自减运算?

  • ++和--运算符可以放在变量之前,也可以放在变量之后
  • 运算符放在变量之前时(前缀),先自增/减,再赋值
  • 当运算符放在变量之后时(后缀),先赋值,再自增/减