java运算符与流程控制

流程控制

  • 分为顺序结构、 分支结构、循环结构

顺序结构

  • 程序从上而下执行流程,简单的例子如main的从上而下执行

分支结构

  • if-else、switch-case两种分支语句。但是if-else的语句要比switch-case的范围大,在相同情况下,优先推荐使用switch-case语句。三元运算符与if-else优先使用三元
  1. if-else有三种形式if、if-else、if-if-else-else

  2. switch-case语句

    1. 表达式指定的六种值类型:byte、short、char、int、enum(枚举1.5新增)、String(1.7新增)
    2. case是程序进入的人口,break语句是终止。
    3. break语句可以灵活运用达到程序所要实现的功能
    4. default模块可以灵活放置
// 求出2020年下3月份之前一共有多少天数
int moth = 3,days = 0;
switch(moth){
        default:
			System.out.println("错误");
        break;
		case 12 :days+=31;
		case 11 :days+=30;
		......
		case 1  :days+=31;
			break;
}

循环结构

  • for(;;){}while(true){}do{}while(true)【都是死循环结构】

  • 循环语句分为四个部分

    • 初始化部分 ①
    • 循环条件部分 ②
    • 循环体部分 ③
    • 迭代部分 ④
for(①;②;④){  
	③;
}
//执行流程:1-2-3-4-2-3-4-...-2
//可以有多个变量更新,用逗号分隔
① 
while(②){ 
	③;
	④
}
//执行流程:1-2-3-4-2-3-4-...-2
① 
do{ 
	③;
	④
}while(②);
//执行流程:1-3-4-2-3-4-...-2
//至少执行一次循环体

break、continue、lable关键字

  • break在switch和循环语句,continue在循环语句
  • break终止当层循环、continue终止本次循环
  • lable可以在嵌套循环中使用,来让break、continue控制外层

运算符

算术、关系、位、逻辑、赋值、其他运算符

算术运算符

  • +、-、*、/、%、++、–

  • %(取模)根据取模数的符号运算出对应的符号。例如:-7%2 = -1

  • ++分为前后两种情况

    // 前++先赋值在进行运算
    int a =3,b=0;
    b = ++a;
    // a=4,b=4		相当于是a=3+1 ,b=a;
    // 后++先运算在进行赋值
    b = a++;	
    // a=5,b=4			相当于是 b=a,a=4+1;
    b = (a++)+4+(++a);
    // b=5+4+7=16,a=7
    

关系运算符

  • ==、!=、<、>、>=、<=

  • 六种情况来判断两个变量之间的关系为true或false

逻辑运算符

  • &、&&、|、||、!

  • & (两边都会进行判断否为true)

  • && (只要左边一边为false就不会进行右边的比较)

  • | (两边都会进行判断否为true)

  • || (只要左边为true就不会进行右边的比较)

  • ! (对操作数的逻辑状态进行取反操作)

赋值运算符

  • =、+=、***-=、=、/=、%=

  • 相当于是对类型进行了一次运算,但是其值的类型不会发生改变

条件运算符

  • (表达式)?(操作1):(操作2)

  • 前一个表达式为true的情况下进行操作1,否则进行操作2

位运算符

  • &、|、^、<<、>>、>>>(无符号)

  • 对数据进行二进制间的运算处理,效率较高

    0	0	0	0	1	1	1	1 ---------		a
    0	0	0	0	1	0	0	1 ---------		b
    
    0	0	0	0	1	0	0	1 ---------		a&b
    0	0	0	0	1	1	1	1 ---------		a|b
    0	0	0	0	0	1	1	1 ---------		a^b
    
    int a = 12;
    a<<2;// 相当于12*2^2=48
    a>>2;// 相当于12/(2^2)=3
    

instanceof 运算符

  • 主要是用来确定对象是否为一个特定类型,例如:“name” instanceof String
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值