0
点赞
收藏
分享

微信扫一扫

【JavaSE】第五章 运算符

cnlinkchina 2022-03-15 阅读 184

5.运算符

运算符

  • 算术运算符
  • 赋值运算符
  • 关系运算符
  • 逻辑运算符
  • 位运算符
  • 条件运算符
  • 字符串连接运算符
  • 其它运算符
算术运算符+、-、*、/、%、++、–
关系运算符>、>=、<、<=、==、!=
逻辑运算符&、
赋值运算符=、+=、-=、*=、/=、%=、^=、&=、
位运算符&、
条件运算符布尔表达式?条件1: 表达式2
字符串连接运算符+
其它运算符instanceof、new

算术运算符

public class ArithmeticOperatorTest01
{
	public static void main(String[] args)
	{
		int a = 10;
		int b = 3;
		System.out.println(a + b); // 13
		System.out.println(a - b); // 7
		System.out.println(a * b); // 30
		/*
		* Java语言中10除以3结果不是3.333333333...
		* Java规定:int类型和int类型做运算最终结果还是int类型
		* 10 / 3的结果是3,取整
		*/
		System.out.println(a / b); //3
		System.out.println(a % b); //1

		int k = 10;
		int m = k++;
		System.out.println("k=" +k); // k=11
	}
}

关系运算符

判断两个字符串是否相等

System.out.println("abc".equals("abc")); // true

关系运算的结果是布尔类型

逻辑运算符

&&:短路与

||:短路或

赋值运算符

x+=1和x-=1是否完全相同?

public class AssignmentOperatorTest02
{
	public static void main(String[] args)
	{
		byte b = 10;
		/*
		* b为byte类型,1为int
		* b + 1结果为int
		* int类型无法直接赋值给byte类型的b
		* 编译报错
		*/
		b = b + 1; 
		b += 1; // 编译正常执行
		System.out.println("b=" +b); // 11
		/*
		* 实际上Java对扩展类的赋值运算符进行特殊处理
		* 所有的扩展赋值运算符最终都不会改变运算的结果类
		* 所以b += 1等同于
		*/
		b = (byte)(b + 1);
		System.out.println("b=" + b); // 12
		b += 1000; // 编译通过,可以正常运行,等同于b = (byte)(b + 1000);
	}
}

条件运算符

三目运算符

布尔表达式? 表达式1: 表达式2

字符串连接运算符

定义一个字符串变量

String name = "jack";

当+的时候,两边如果都是数字,进行求和运算

只要有其中一个操作数是字符串类型,进行字符串拼接运算

字符串拼接的结果还是字符串类型

当一个表达式有多个+,没有小括号的前提下遵循自左向右运算

public class PlusTest01
{
	public static void main(String[] args)
	{
		int a = 10;
		int b = 20;
		System.out.println(a + "+" + b + "=" + a + b); // 10+20=1020
		System.out.println(a + "+" + b + "=" + (a + b)); // 10+20=30
	}
}
举报

相关推荐

0 条评论