运算符
1.数学运算符
-
加 + 减 - 乘 * 除 / 取余%
int a = 10;
int b = 5;
int c = a + b;//声明int类型 变量c 接收a+b结果
// System.out.println(c);//15
// System.out.println(a + b);//15
// System.out.println(a - b);//5
// System.out.println(a * b);//50
// System.out.println(a / b);//2
System.out.println(5 % 2);//1
//一个数被2整除(余数为0) 则为偶数
System.out.println(2 % 2);//0
System.out.println(8 % 2);//0
//取余操作时, 若左边的数据 小于右边的数据 ,其余数是左边自身的数据
System.out.println(1 % 3);//1
System.out.println(2 % 3);//2
System.out.println(3 % 3);//0
-
.自增自减运算符
自增(++):在变量自身基础上增加1
自减(--):在变量自身基础上减少1
1.单独运算时,自增自减符号在前在后都一样。
2.参与运算时,就是写了赋值号(=) 也算运算,自增自减符号在前在后不一样。
加加在前,先做自增,后参与其它运算。
加加在后,先参与其它运算,再做自增。
减减在前,先做自减,后参与其它运算。
减减在后,先参与其它运算,再做自减。
/**
* 运算符相关演示类
* 1.数学运算符相关演示
* 2.自增自减运算符演示
*/
public class OperationDemo {
public static void main(String[] args) {
// int a = 10;
// int b = 5;
// int c = a + b;//声明int类型 变量c 接收a+b结果
System.out.println(c);//15
System.out.println(a + b);//15
System.out.println(a - b);//5
System.out.println(a * b);//50
System.out.println(a / b);//2
//
// System.out.println(5 % 2);//1
// //一个数被2整除(余数为0) 则为偶数
// System.out.println(2 % 2);//0
// System.out.println(8 % 2);//0
//
// //取余操作时, 若左边的数据 小于右边的数据 ,其余数是左边自身的数据
// System.out.println(1 % 3);//1
// System.out.println(2 % 3);//2
// System.out.println(3 % 3);//0
//-----自增自减运算符
// int a = 15;
// ++a;//等价于 a = a+1;
// System.out.println(a);//16
// --a;//等价于 a = a -1;
// System.out.println(a);//15s
//-------第二种情况 ,参与运算时----------------
// int b = 5;
// int c = 4;
// int d = b++;
// int e = --c;
// System.out.println(b);//6
// System.out.println(c);//3
// System.out.println(d);//5
// System.out.println(e);//3
// int b = 5;
// int c = 4;
// int d = --b;
// int e = c--;
// System.out.println(b);//4
// System.out.println(c);//3
// System.out.println(d);//4
// System.out.println(e);//4
int a = 5;
int b = 3;
//运算的规则:抛开减减符号不说,单独就看四则运算 与 赋值运算 ,优先做四则运算。
//套入自增自减规则然后
// int c = --a - b;
// System.out.println(a);
// System.out.println(b);
// System.out.println(c);
int result = a++ - ++b;
System.out.println(a);
System.out.println(b);
System.out.println(result);
}
}
3.关系运算符
大于(>) 小于(<) 大于等于(>=) 小于等于(<=) 等于(==) 不等于(!=)
关系运算符的判断结果是boolean类型,要么成立(true) 要么不成立(false)
int a =50; int b = 40;
boolean result = a > b; boolean 类型
a的数据大于b的数据? --------------------------- true
int c = 50; int d =50;
boolean result1 = c >= d;
c的数据大于等于d的数据吗?---------------------- true
int e = 100; int f =99;
e <= ++f; -------------------------------- true
4.逻辑运算符
java逻辑运算符分为三种(与或非),它们返回的结构是boolean类型(true/ false)
1.逻辑与(&&) :与是并且的意思
2.逻辑或(||) :或是或者的意思
3.逻辑非(!) :非是结果取反的意思
逻辑与(并且) 现象:在逻辑与(并且)的关系中,两个或多个条件中,有一个条件不成立,结果一定不成立.
一假俱假 -----见 false 即 false
能毕业吗?
条件一:课程学完了吗? true false false true
并且
条件二:考试及格了吗? false true false true
结果: false false false true
--------------------------------------------------------------------------------
逻辑或(或者) 现象:在逻辑或(或者)的关系中,两个或多个条件中,有一个条件成立,结果一定成立.
一真俱真 -----见 true 即 true
能结账吗?
条件一:微信有钱吗? false true true false
或者
条件二:带现金了吗? true false true false
结果: true true true false
--------------------------------------------------------------------------------
逻辑非(取反)
true: !true 非真即假
结果: false
false:!false 非假即真
结果: true
int a = 5;
// int b = 10;
// int c = 5;
// boolean result = a > b && b > c;// false && true ----->在并且的关系中,见false即false
// System.out.println(result);//false
// System.out.println(a > b || c < b);//false || true --->在或者的关系着,见true即true
// System.out.println(!(a==c) && b > c);// false && true-->在并且的关系中,见false即false
//判断年份是否是闰年:
/**
* 闰年的判定条件:
* 条件一: 年份能被4整除 并且 年份不能被100整除
* 或者
* 条件二: 年份能被400整除
* */
// Scanner s = new Scanner(System.in);//创建一个扫描器
// System.out.println("请输入一个要判断的年份");
// int year = s.nextInt(); //接收控制台中输入的int 的数据 存到year这个变量里面
// System.out.println(year);
// boolean r1 = year % 4 == 0 && year % 100 != 0;
// boolean r2 = year % 400 ==0;
// boolean isRun = r1 || r2;//条件一的boolean结果或者条件二的boolean结果 见true 即 true
// System.out.println("当前年份是闰年的结果:"+isRun);
// //第二种写法:
// boolean r3= (year % 4 == 0 && year % 100 != 0) || year % 400 ==0;
短路逻辑
短路与 和 短路或
短路与:
相亲成功的两个条件
1.相亲对象是女生 true
并且
2.要勤俭持家 true
结果: 相亲成功(true)
短路与的现象:如果在与的关系中,第一个条件(前面的条件)不成立,程序则立刻返回不成立的结果,代码不会继续看条件二.
-----------------------------------------------------------------------------------------
短路或:
相亲成功的两个条件(满足其一即可)
1.长得好看
或者
2.勤俭持家
短路或的现象:如果在或的关系中,第一个条件(前面的条件)成立,程序立刻返回成立的结果,代码不会继续看条件二.
//短路逻辑:
// int a = 10;
// int b = 20;
// System.out.println(a > b && ++a < b);// false
// System.out.println(a);//10
//
// System.out.println(++a < b || ++b >a);//true
// System.out.println(b);//20
//
// System.out.println(a >=11 && ++b >20 );//true
// System.out.println(a);//11
// System.out.println(b);//21
5.赋值运算符
赋值号: = 赋值的顺序,将赋值号右边的内容 给左边变量的过程.
扩展赋值: += -= /= *= %= 在变量的自身基础上,进行运算然后将结果再赋值给自身。
//扩展赋值的使用
int a = 10;
a += 20;// 30 // 等价于:a = a + 20;//在a的自身基础上加20
a -= 20;// 10
a *= 20;// 200
a /= 20;// 10
a %= 20;// 10
System.out.println(a);
//面试题:
byte b = 10;
// byte r = b +10;//编译错误:小类型+大类型 其结果会转换为大类型结果。
b += 10;//使用扩展赋值 系统会包含转化的代码 等价于 (byte)(b+10)
6.字符串拼接运算符
字符是char类型 要用单引号来存储1个字符!
字符串是String类型,要用双引号来存储,存储一串字符!
1.使用+号时,如果两边的内容都是数值的话,则会进行运算操作!
2.使用+号时,如果有一方是字符串类型,则会进行链接(拼接)操作,则整体会变成一个字符串。
char a = 'D';
String b = "ABC";
//字符串链接运算测试:
String name = "乐磊";
int age = 18;
System.out.println("大家好,我叫"+name+",我的年龄是"+age);
System.out.println(10+10+""+30);//"2030"
System.out.println(""+10+10+30);//"101030"
System.out.println(10+10+30+"");//"50"
7.三元(三目)运算符
语法: boolean ? 值1 :值2;
判断逻辑是否成立 ? 若成立则返回值1 : 若不成立则返回值2;
int number1 = 10;
int number2 = 20;
// 判断的逻辑 ? 成立返回值1 : 不成立 返回值2
int max = number1 > number2 ? number1: number2;
System.out.println(max);
//接收结果要看值1和值2的类型来决定声明什么变量进行接收
String result = number1 > number2 ? "num1大于num2" : "num2大于num1";
System.out.println(result);