Java操作符与流程控制

变量

通过类型划分:基本类型变量,引用类型变量

通过范围划分:局部变量,实例变量(成员变量,全局变量)

​ 局部变量无修饰符

​ 局部变量需要初始化

​ 实例变量是默认值的,可不赋值

操作符

赋值,比较运算符

= += -= *= /= %=

先进行运算,后进行赋值 a+=2 —> a = a +2

++a 和 a++ 的区别(减法同理)

++a:先进行a = a+1 ,在进行运算

a++:先进行运算,后进行a = a+1

< > <= >= instanceof

stu instanceof Student stu所指的对象,是不是Student类型

相等,位运算符

== != 判断两个变量是否相对

对象1 == 对象2 比较的是地址是否相等

若比较的是 String 类型则调用 equals() 方法比较 s.equals("")

& | ^(异或) ~(取反)

逻辑,条件运算符

&& ||

&与&&的区别(|同理):&是进行位运算,&左右进行运算。

​ &&是逻辑运算,左右分别运算,左边为false,右边不执行(短路)

三目运算:boolean表达式 ? 表达式1 : 表达式2

​ 为true执行表达式1,false执行表达式2

流程控制

if 判断

switch 枚举数值

for 循环次数已知

while 循环次数未知

do-while

break 退出循环

continue 执行到continue,本次循环结束,进行下一次循环

return 结束方法的执行

其他

short a = 1;
a = 1+a;//编译不通过
short b = 1;
//编译通过生成的字节码文件中	short b = (short)(b+1);
b+=1;
byte c = 1+1;//通过 不与其他变量进行运算,字面值不溢出

System.out.println("a" + "b" +1+2);//ab12
System.out.println(1+2+"a" + "b" );//3ab

不同类型的变量进行运算,返回的类型是什么?

类型转化:

自动转化 小类型转为大类型(可能发生精度丢失)

Object o = new Student()

BigDecimal类解决精度丢失的问题

随机数的参数Math.random();

三目运算符类型转换

System.out.println(true?97:'a');//a
System.out.println(false?97:'a');//a
int a = 97;
char b = 'b';
System.out.println(true?a:b);//97
System.out.println(false?a:b);//98
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值