Java基础复习

基础数据类型

byte 8位(-128~127)
short 16位(-215~215-1)
int 32位
long 64位 默认值为0L
float 32位 单精度,不能表示精确值。默认值为0.0f
double 64位 双精度,不能表示精确值。默认为0.0d
boolean 表示一位信息,默认值false
char 单一的16位unicode字符

单双精度的区别主要体现在占用内存不同,从而导致双精度的范围更大、有效数字更多。

修饰符

访问修饰符

private 同一类中可见,子类无法继承
default 同一包内可见

非访问修饰符

  • static 声明独立于对象的静态变量
  • abstract 抽象类无法实例化对象,只能被子类继承。抽象方法具体实现由子类提供
  • transient 序列化时JVM跳过该变量,序列化保存的状态中不存在该变量
  • volatile 每次被线程访问时,都必须同共享内存中重新读取该变量的值。保证线程之间共享的值相互之间可见,但是如果对volatile的值进行修改由于无法保证原子性(一个操作不能中断)所以修改是线程不安全的。
    参考流程如下:
    线程1和2同时操作volatile数据A++。当两个线程从主内存获取到A的状态为0,线程1进行计算改变A的状态为1(这个时候还是在线程1的工作内存中),同理线程2的工作内存中A的计算后状态也是1。最后主内存的A被更新了两次,但是两次都是将变量更新为1。两个线程操作volatile变量,箭头上的数字代表执行顺序

运算符

instanceOf 用于检查对象类型(这个竟然是运算符)

循环

  • for
    for(初始化; 布尔表达式; 更新)
    for(声明语句 : 表达式) java5引入的增强型循环
  • while
    while(布尔表达式)只要布尔表达式为true,循环体会一直执行下去
  • do…while
    do…while循环和while循环相似,不同的是,do…while循环至少会执行一次

break关键字用于跳出循环或switch语句。break默认跳出当前一层循环,但是如果在多个循环外有标签,可以直接break标签名跳出多层循环。

first:while(true){
	secone:while(true){
		break first;
	}
}

continue关键字不执行之后的语句直接进入下一次循环表达式检测,也可以使用标签,主要用于控制进入外层循环的下一次表达式检测。

分支判断

if ---- else ---- else if
switch case

switch(expression){//表达式
    case value :
       //语句
       break; //可选
    case value :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句,没有case匹配时进入执行default的代码
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值