1 运算符

1.1 运算符概述

运算符 用于连接 表达式 的 操作数,并对操作数执行运算。
例如,表达式num1+num2,其操作数是num1和num2,运算符是”+”。
在java语言中,运算符可分为5种类型:
算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符。
根据操作数的不同,运算符又分为单目运算符、双目运算符和三目运算符。
单目运算符只有一个操作数,双目运算符有两个操作数,三目运算符则有三个操作数。
位运算符涉及到二进制位的运算,在java 程序中运用不是很多。

1.2 运算符具体功能

java单目运算 java多目运算符_整除

1.2.1 基本四则运算符

java单目运算 java多目运算符_运算符_02

1.2.2 取余运算符

java单目运算 java多目运算符_运算符_03


经常使用取余运算符单独表示数中的某一数位

1.2.3 自增自减运算符

自增运算符:++ ,相当于是给变量本身的值+1;
自减运算符:-- , 相当于是给变量本身的值-1;

自增自减运算符分为前缀式与后缀式:

前缀式:符号写在前面,比如:++a ;先改变变量本身的值,再使用;

后缀式:符号写在后面,比如:a++ ; 先使用变量,再改变变量本身的值;

java单目运算 java多目运算符_运算符_04


自减运算符也是同样的原理

java单目运算 java多目运算符_java单目运算_05


java单目运算 java多目运算符_java单目运算_06


思考此代码结果并验证其结果:

java单目运算 java多目运算符_java_07

1.2.4 比较运算符

,<,>=,<=其输出结果均为true或false
==,!= 比较数是否相等

java单目运算 java多目运算符_java_08

比较运算符结果均为布尔类型,结果均为true或false;

1.2.5 逻辑运算符

关系运算符只能用于一次比较操作,但是很多情况下是需要多个关系运算兼顾考虑的,如:考试等级判断、个人所得税的缴纳等等,这时就需要使用逻辑运算符来操作。逻辑运算符有:&&----短路与、||----短路或、!----非;

短路与运算
两个关系参与的短路与运算:只有两个都是true,短路与结果才是true;只要有一个是false,短路与结果就是false。
并且在实际运行中,只要出现false结果,后续就不再继续进行运算,会直接输出结果false;

短路或运算
两个关系参与的短路或运算:只有两个都是false时,短路或结果才是false;只要有一个是true,短路或结果一定是true。
并且在实际运行中,只要出现true结果,后续就不再继续进行运算,会直接输出结果true;
非运算
非运算是针对一个关系运算结果的求反运算:关系为true,则非运算结果是false;关系为false,则非运算结果是true。

与运算中,全真才真,或运算中,全假才假;

1.2.6 三目运算符

语法:boolean条件 ? 值1 : 值2
三目运算符是一个根据条件的不同取值,去执行不同的值:如果条件为true时,则执行值1;如果条件为false时,则执行值2。
注意:
①、三目运算中的值1和值2,只能有一个被执行;
②、值1和值2的类型必须一致;
③、三目运算的结果类型,由值的类型决定;

练习:求俩个数的最大值

java单目运算 java多目运算符_运算符_09


思考一下,如果要比较3个数应该怎么判断?练习:编写判断任意一个数的奇偶性:如果是偶数,则输出是偶数;否则,输出是奇数。

java单目运算 java多目运算符_1024程序员节_10

1.2.7 赋值运算符

赋值运算符是用于将等号右边的结果赋值给左边的变量,赋值运算是最后才执行的,执行顺序是从右往左。赋值运算符在使用时还具备以下用法:

  • 赋值运算表达式本身也是有值得
  • 在开发中,赋值运算符可以与算术运算符配合一起使用,这种就称之为扩展赋值运算符。具体写法为:

预习:求平年闰年
要求:接收用户输入的年份,判断是平年还是闰年
如果年份是闰年,需要满足下面两个条件之一:
条件1:能被4整除,并且不能被100整除
条件2:能被400整除

//1.提示并接收用户输入的年份
		System.out.println("请输入您要判断的年份:");
		int year = new Scanner(System.in).nextInt();
		
		//2.定义一个变量用来保存结果
		String result = "平年";//默认值是平年,假设每年都是平年
		
		//3.判断用户输入的年份是否满足闰年的条件
		/**方法1*/
		/**条件1:能被4整除,并且不能被100整除*/
//		if(year % 4 == 0) {//能被4整除
//			if(year %100 != 0) {//不能被100整除
//				result = "闰年";//符合闰年的条件1,修改结果为闰年
//			}
//		}
//		/**条件2:能被400整除*/
//		if(year % 400 == 0) {//能被400整除
//			result = "闰年";//符合闰年的条件2,修改结果为闰年
//		}
		/**方法2*/
		/**判断结构 if(判断条件){满足判断条件以后执行的代码} */
		//if(条件1  || 条件2){是闰年 }
		//if((小条件1  && 小条件2) || 条件2){ 是闰年 }
		//if((能被4整除  && 不能被100整除) || 能被400整除){ 是闰年 }
		if((year % 4 == 0 && year %100 != 0) || year % 400 == 0){
			result = "闰年";//符合闰年的条件,修改结果为闰年
		}
		System.out.println(year+"年是"+result);