Java基础语法03-运算符

Rookie_L
2022-03-10

运算符

Java语言支持的运算符

算术运算符

符号

算术运算符符号:+ , – , * , / , ++ , —

package Operator;

public class Demo01 {
   public static void main(String[] args) {
       //算数运算符的基本操作
       int a = 10;
       int b = 20;
       int c = 30;
       int d = 40;
       System.out.println(a+b);
       System.out.println(a-b);
       System.out.println(a*b);
       System.out.println(a/(double)b);
       System.out.println(a%b);
  }
}
输出结果

小tips

  • 当参与运算的变量中有long型时,输出的结果也为long
  • 若参与运算的变量中无long型时,无论参与运算的变量是何类型,则输出结果均为int

eg:

package Operator;

public class Demo01 {
   public static void main(String[] args) {
       //算数运算符的基本操作
       long a = 10;
       int b = 20;
       byte c = 30;
       short d = 40;
       System.out.println((String) (a+b));
       System.out.println((String) (b+c));
       System.out.println((String) (c+d));
       System.out.println((String) (b+d));
       

  }
}
test

** 自增(++)、自减(–)运算符**

package Operator;

public class Demo03 {
   public static void main(String[] args) {
       //++ -- 自增 自减 一元运算符
       int a = 1;
       int b = a++;                //执行这行代码时,先进行赋值操作把a的初始值1赋值给b;然后a再执行自增操作a = a+1 = 2。
       System.out.println(a);
       int c = ++a;                //执行这行代码时,先进行a = 2自增操作a = a+1 =3;然后再执行赋值操作把a值3赋值给c。
       System.out.println(a);
       System.out.println(b);
       System.out.println(c);
  }
}
自增自减

赋值运算符

符号

赋值运算符符号:=

语法格式

//语法格式如下
int a = 10;  //初始化int类型变量a,并将10赋值给a。

关系运算符

符号

:关系运算符符号:> , < , >= , <= , == , != , instanceof

  • 关系运算符返回的是 布尔值,其结果只有true和false两种情况,常用于if语句中

语法格式

package Operator;

public class Demo02 {
   public static void main(String[] args) {
       //关系运算符返回的是 布尔值,其结果只有true和false两种情况,常用于if语句中
       int a = 10 ;
       int b = 20 ;
       System.out.println(a == b);
       System.out.println(a != b);
       System.out.println(a < b);
       System.out.println(a > b);

  }
}
result

逻辑运算符

符号

逻辑运算符符号:&& , || , !

语法格式

package Operator;

public class Demo04 {
   public static void main(String[] args) {
       boolean a = true;
       boolean b = false;
       System.out.println("a&&b:\t"+(a && b));             //逻辑与运算:只要有一个是假的,则结果就是假的
       System.out.println("a||b:\t"+(a || b));             //逻辑或运算:只要有一个是真的,则结果就是真的
       System.out.println("!(a&&b):\t"+!(a && b));         //逻辑非运算:结果取反
       //短路运算:当与运算中第一个变量为假时,就不会再去判断第二个变量。
       int c = 5;
       boolean d = b && (c++ > 5);
       System.out.println(d);
       System.out.println(c);
  }
}
result01

位运算符

符号

位运算符符号:& , | , ^ , ~ , >> , << , >>>

语法格式

语法格式如下

package Operator;

public class Demo05 {
   public static void main(String[] args) {
       /*
       A = 0010 1101
       B = 1011 1001
       -------------------
       A&B =   0010 1001
       A|B =   1011 1101
       A^B =   1001 0100   异或运算:变量真假相同时结果为假,不同时为真
       ~B =   0100 0110
       */
       //快速计算2*8
       System.out.println(2<<3);
  }
}

条件运算符

符号

条件运算符符号:x ? y : z :

语法格式

语法格式如下:

package Operator;

public class Demo05 {
   public static void main(String[] args) {
       int a = 10;
       int b = 20;
       // 条件运算符 x ? y : z
       // 先判断x是否为真,若x为真,则结果是y;若x为假,则结果是z
       System.out.println((a>b) ? 50 : 60);
       System.out.println((a<b) ? 50 : 60);
  }

}

扩展赋值运算符

符号

扩展赋值运算符符号:+= , -= , *= , /=

语法格式

语法格式如下

package Operator;

public class Demo05 {
   public static void main(String[] args) {
       int a = 10;
       int b = 20;
       a+=b;
       System.out.println(a); // a = a+b -->30 = 10+20
       a-=b;
       System.out.println(a); // a = a-b -->10 = 30-20

       //字符串连接符 +
       //当+号两侧的任意一侧出现了String类型,则它会自动将两侧的变量都转换为String类型并进行连接。
       System.out.println("" + a + b);
       //但是如果String类型前面出现了运算,则会先运算再连接。
       System.out.println(b+ a + "" );
  }

}
result02

运算符优先级

优先级运算符简介结合性
1[ ].( )方法调用,属性获取从左向右
2!、~、 ++、 —一元运算符从右向左
3* 、/ 、%乘、除、取模(余数)从左向右
4+ 、 –加减法从左向右
5<<、 >>、 >>>左位移、右位移、无符号右移从左向右
6< 、<= 、>、 >=、 instanceof小于、小于等于、大于、大于等于, 对象类型判断是否属于同类型从左向右
7== 、!=2个值是否相等,2个值是否不等于。 下面有详细的解释从左向右
8&按位与从左向右
9^按位异或从左向右
10|按位或从左向右
11&&短路与从左向右
12||短路或从左向右
13?:条件运算符从右向左
14=、 += 、-= 、*= 、/=、 %=、 &=、 |=、 ^=、 <、<= 、>、>= 、>>=混合赋值运算符从右向左

点击查看Java基础语法01-注释、标识符、数据类型

点击查看Java基础语法02-类型转换、变量

收藏 0
打赏
Java基础语法02-类型转换、变量
上一篇
Java基础语法04-包机制与JavaDoc生成文档
下一篇

发表评论

注册不是必须的

Rookie_L

Rookie_L 博主

Android Developer Fullstack Explorer 极客生活家
文章目录 0%
您的支持是我更新的最大动力
在手机上浏览此页面