2、Java语言基础知识
数据类型及范围
四种:整型(byte,short,int,long)、浮点型(float,double)、字符型(char)、布尔型(true,false)
类型 | byte | short | int | long | float | double | char | boolean |
---|---|---|---|---|---|---|---|---|
字节数/bytes | 1 | 2 | 4 | 8 | 4 | 8 | 2 | 见说明 |
位数/bit | 8 | 16 | 32 | 64 | 32 | 64 | 16 | 1 |
初始值 | 0 | 0 | 0 | 0 | 0.0f | 0.0d | 0 | false |
范围(2的位数减一次方) | -128~127 | -32768~32767 | -2147483648~2147483647(21.47亿) | -9223372036854775808~9223372036854775807(922.33亿亿) | 1.4E - 45~3.4028235E38 | 4.9E - 324~1.7976931348623157E308 | 0~65535(2的16次方-1) | true或是false |
boolean类型,在JVM规范里被编译成int类型,占4个字节(32位)
boolean数组被编译成byte数组,数组每个元素站1个字节(8位)
对象的初始值都为null:string、基本类型包装类
运算符
优先级
先乘除后加减,括号优先级最高。
关注逻辑运算符里的异或:^ ——两者相同为false,两者不同为true(两者是true或false)
自增自减运算符、比较运算符、逻辑运算符、三元运算符略过
按位运算符
按位与、按位或、按位非(~)(每一位反转)、按位异或
按位运算符将两者的每一位(bit)进行比较,比较结果是0或1,再填入对应的位上,最后得出的结果就是按位运算的结果。
移位运算符
eg: >>、<<
例如:8>>1=4,9<<2=36
解释:...0001000 --> ...0000100,...0001001 --> ...0100100
循环语句
for、while、do...while
for-each(增强for)
使用选择:执行次数或是执行条件。
跳转语句:break、continue、return
break强行退出循环,continue跳过当次循环进入下一次
return返回指定返回值(可以范围自定义类型),未指定返回值时用于结束方法。
对象
可以只创建引用,不一定有实体。使用new关键字将引用关联实体。
关键字
访问权限:
作用域与可见性 | 当前类 | 同一package | 子类 | 其他package |
---|---|---|---|---|
public | √ | √ | √ | √ |
protected | √ | √ | √ | X |
default | √ | √ | X | X |
private | √ | X | X | X |
final
- 修饰类:无法被继承
- 修饰方法:无法被重写
- 修饰变量:无法被修改或是无法被改变引用
重载和重写
重载:方法参数不同,方法名相同,返回值类型自由,方法体不同。重载发生在编译时。
重写:存在于子类,方法参数、方法名、返回值类型相同,方法体不同。访问权限不低于父类。