基础语法
大约 2 分钟
Java有哪些数据类型?
基本数据类型
- 数值型
- 整数类型(byte、short、int、long)
- 浮点类型(float、double)
- 字符型(char)
- 布尔型(boolean)
基本类型 位数 字节 默认值 最小值 最大值 int 32 4 0 -2^31 2^31-1 short 16 2 0 -2^15 2^15-1 long 64 8 0L -2^63 2^63-1 byte 8 1 0 -128 127 char 16 2 '\u0000' '\u0000' '\uffff' float 32 4 0.0f 1.4E-45 3.4028235E38 double 64 8 0.0d 4.9E-324 1.7976931348623157E308 boolean 1 false - 数值型
引用数据类型
- 类(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的三次方。
说说自增自减运算?
- ++和--运算符可以放在变量之前,也可以放在变量之后
- 运算符放在变量之前时(前缀),先自增/减,再赋值
- 当运算符放在变量之后时(后缀),先赋值,再自增/减