Java的运算符与分支结构(上)

发布于:2022-12-29 ⋅ 阅读:(577) ⋅ 点赞:(0)

1.运算符:

算数:+ ; - ; * ; / ; % ; ++ ; --

       %:取模/取余,余数为0即为整除

System.out.println(5%2);//1,商2余1
System.out.println(8%2);//0, 商4余0......整除

++/--:自增1/自减1,可在变量前也可以在变量后

  • 单独使用时,在前在后都一样
  • 被使用时,在前在后不一样   

          a++的值为a......(a--的值为a)

          ++a的值为a+1.....(--a的值为a-1)

//单独使用++
int a = 5 ,b = 7;
a++;
++b;
System.out.println(a);//6
System.out.println(b);//8


//被使用
int a = 5, b = 5;
int c = a++; //1.将a++的值5赋值给c     2.a自增1变为6
int d = ++b; //1.将++b的值6赋值给d     2.b自增1变为6
System.out.println(a);//6
System.out.println(b);//6
System.out,println(c);//5
System.out.println(d);//6


--单独使用/被动使用与上面方法一致

关系:> ; < ; >= ; <= ; == (等于); !=(不等于)

  • 关系运算的结果为boolean型
  • 关系成立则为true,关系不成立则为false
  • <=;>=其中只要有一个条件成立则为true
//>=与<=
int a =5,b = 10, c = 5;
System.out.println(a<=b);//true
System.out.println(a>=c);//true

逻辑:&& ; || ; !

  • 逻辑运算是建立在关系运算的基础之上的
  • 逻辑运算的结果也是boolean型
  • &&短路与(并且),两边都为真则为真,见false则false
  • 短路与,当第一个条件为false时,则发生短路(后面不执行了)
int a = 5,b = 10,c = 5;
System.out.println(a==b && c>b);//false&&false=false
System.out.println(b!=c && a<b);//true&&true=true
System.out.println(b<=c && b>a);//false&&true=false


//短路演示
boolean b1 = a>b && c++>2;
System.out.println(b1);//false
System.out.println(c);//5,发生短路

||:短路或(或者),有真则真,见true则true

  • 当第一个条件为true时,则发生短路(后面不执行了)
int a = 5,b = 10,c = 5;
System.out.println(b>=a || b<c);//true||false=true
System.out.println(a==b || c>b);//false||false=false

//短路演示
boolean b1 = a<b || c++>2;
System.out.println(b1);//true
System.out.println(c);//5,发生短路

!:逻辑非(取反),非真则假,非假则真

int a = 5,b = 10,c = 5;
boolean b1 = !(a<b);
System.out.println(b1); //!true=false
System.out.println(!(a>b));//!false=true

赋值:= ; += ; -= ; *= ; /= ;%=

  • 简单赋值运算符:=
  • 扩展赋值运算符:+=;-=;*=;/=;%=
  • 扩展运算符自带强转功能
int a = 5;
a += 10;//相当于a=(int)(a+10)
System.out.println(a);//15

字符串连接:+

  • 若两边为数字,则做加法运算
  • 若两边出现了字符串,则做字符串连接
  • 任何类型的数据只要和字符串连接,结果一定是字符串类型
int age = 18;
System.out.println("age=");//age=
System.out.println(age);//18
System.out.println("age="+age);//age=18

//第一条与第三条演示
System。out.println(10+20+""+30);//3030

条件:

  • 语法:

boolean?数1:数2

  • 执行过程:
  • 整个条件运算是有值的,它的值要么是?号后面的数1,要么是:号后面的数2
  • 计算boolean的值:

若为true,则整个表达式的值为?号后面的数1

若为false,则整个表达式的值为:号后面的数2

int num = 5;
int flag = num>0?1:-1;
System.out.println(flag);//1

2.分支结构:基于条件执行的语句

  • if结构:1条路
1)语法
if(boolean){
    语句块
}
2)执行过程:
判断boolean的值:
若为true,则执行语句块
若为false,则直接结束
  • if....else结构:两条路
1)语法
if(boolean){
    语句块1
}else{
  语句块2
}
2)执行过程:
判断boolean的值:
若为true,则执行语句块1
若为false,则执行语句块2

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到