数学运算符
符号:(+ - * /) 取余数(%)
//1.数学运算符
int a = 10;
int b = 5;
// int c = a + b; 常规 若需要接收数据的结果的使用方式.
System.out.println( a + b);//15
System.out.println( a - b);//5
System.out.println( a * b);//50
System.out.println( a / b);//2
//可以通过取余2 来判断当前数据是否为偶数 或奇数
System.out.println( 5 % 2);//1
//求余数的操作 有一些规则 :取余操作时,左边的数据 小于右边的数据 余数则为左边的数据
System.out.println(1 % 3);//1
System.out.println(2 % 3);//2
System.out.println(3 % 3);//0
自增自减运算符
自增:在变量自身基础上增加1 , 符号: ++
自减:在变量自身基础上减少1 , 符号: --
作用于变量
单独运算时(只有当前变量被运算).符号在前在后都一样.
// int a = 5;
// a++;//单独运算 ,自增自减符号 在前在后都一样
// System.out.println(a);//6
// a--;
参与运算时(赋值也算运算),符号在前在后不一样.
符号若在前,先执行符号对应的自增或自减的操作,然后再去参与其它运算.
符号若在后,先去参与其他运算,最后再执行符号对应自增或自减的操作.
int a = 5;
// int b = 5;
// int c = a++;
// int d = ++b;
// System.out.println(a);
// System.out.println(b);
// System.out.println(c);
// System.out.println(d);
// int a = 5;
// int b = 5;
// int c = a--;
// int d = --b;
// System.out.println(a);
// System.out.println(b);
// System.out.println(c);
// System.out.println(d);
int a = 5;
int b = 5;
//参与其他运算时,赋值的运算优先度也是最低的
int c = --a - b-- ;
System.out.println(a);
System.out.println(b);
System.out.println(c);
关系运算符
关系运算符指的就是,(大于> ) (小于< ) (大于等于>= ) (小于等于<=) ( 等于 ==) (不等于 !=)
关系运算符的结果一定是boolean类型,要么成立(true) 要么不成立(false)
int a =50;
int b =40;
boolean c = a > b; boolean
a 的数据 大于 b 的数据吗? ------------ true
int c = 50;
boolean d = a >= b;
a 的数据 大于等于 c的数据吗?---------- true
int e = 100; int f = 99;
boolean g = e == f++; ------------ false
//1.关系运算符的使用演示
int a = 50;
int b = 40;
boolean c = a > b;
System.out.println(c);//true
System.out.println(a >= b);//true
System.out.println(a < b);//false
System.out.println(a == b);//false
System.out.println(10 < 10);//false
System.out.println(10 <= 10);//true
System.out.println(4 != 4);//false
System.out.println(5 == 4);//false
逻辑运算符
逻辑运算符的结果一定是boolean类型的.
逻辑运算符分为三种:
逻辑与(并且),符号 : &&
逻辑与(并且) 现象:在逻辑与(并且)的关系中,两个或多个条件,若有一个条件不成立,其结果一定不成立
一假俱假 ------见 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
//2.逻辑运算符:
// int a = 5;
// int b = 10;
// int c = 5;
// boolean result = a > b && b > c;//false && true ---并且关系中,见false即false
// System.out.println(result);
//
// System.out.println(a > b || b > c);//false || true ---或者关系中,见true即true
//
// System.out.println(a == ++c || c > 5);//false || true---或者关系中,见true即true
//
// System.out.println(!true);//false
// System.out.println(!false);//true
//判断年份是否为闰年
/**
* 条件一:年份能被 4 整除 并且 年份不能被100整除
* 或者
* 条件二:年份能被400整除
*/
//Scanner --- 扫描器功能 可以扫描显示台中用户输入的内容并接收。
Scanner s = new Scanner(System.in);//创建一个扫描器
System.out.println("请输入要判断的年份,回车即可!");
int year = s.nextInt(); //接收显示台中用户输入的int类型的数据 并存储给变量 year
boolean r1 = year % 4 == 0 && year % 100 != 0;//条件1
boolean r2 = year % 400 == 0;//条件2
boolean result_ = r1 || r2;//条件1或条件2 有一个成立,则表示是闰年。
System.out.println(result_);
//方式二:
// boolean result2 = (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
// System.out.println(result2);
短路逻辑
短路与(并且)
相亲成功的两个条件:
1.相亲对象是女生 true false
并且
2.勤俭持家 true
结果: true false
短路与:如果前面的条件不成立,程序会立刻返回false,根本不会判断后面的条件。
短路或(或者)
相亲成功的两个条件:
1.长得好看 true
或者
2.勤俭持家
结果: true
短路或:如果前面的条件成立,成立会立刻返回true,根本不会判断后面的条件.
//短路逻辑
int a = 5;
int b = 20;
// System.out.println(a > b && ++b > a);//false
// System.out.println(b);//20
System.out.println(++a < b || ++b > 19);//true
System.out.println(b);//20
//未发生短路
System.out.println(a >= 6 && ++b < 20);
System.out.println(a);//6
System.out.println(b);//21
赋值运算符
赋值号: = 赋值的顺序,是从右往左赋值.
扩展赋值号: += -= *= /= %=
在自身基础上快速的进行运算,并将运算的结果赋值给自身.
//1.扩展赋值运算符:
int a = 10;
a += 10;// 等价于: a = a+10;
System.out.println(a);//20
a -= 10;// 等价于: a = a-10;
System.out.println(a);//10
a *= 2;// 等价于: a = a*2;
System.out.println(a);//20
a /= 5;// 等价于: a = a/5;
System.out.println(a);//4
a %= 2;// 等价于: a = a%2;
System.out.println(a);//0
三元(三目)运算符
格式: boolean ? 值1 : 值2;
判断的逻辑 ? 成立返回值1 : 不成立返回值2 ;
//三元运算符:
int a = 20;
int b = 80;
// 判断的逻辑 ? 成立返回值1 : 不成立返回值2 ;
int max = a > b ? a : b;
System.out.println(max);
//使用三元表达式,用什么类型来接收返回的结果,具体要看值1 和值2 的类型,值1和值2类型要一致.
int c = 10;
boolean result = c % 2 == 0 ? true : false;
System.out.println(result);
字符串拼接符
字符是char类型,用单引号来存储,且只能存一个字符.
字符串是String类型,用双引号来存储,可以存储多个字符.
1.使用+号时,若两边都是数值类型,则进行运算操作.
2.使用+号时,若有一方为字符串类型,则进行拼接操作,变成一个整体的字符串!
String name = "赵仁杰";
//字符串拼接符
//字符串的直接量
String name = "赵仁杰";
System.out.println("我的名字是:" + name );//字符串拼接变量
System.out.println(10+10+""+30);//2030
System.out.println(""+6+6+6);//666
System.out.println(10+10+30+"");//50
-------------------------------------------
byte b = 5;
// b = b + 5; 编译错误:小类型 + 大类型 系统会自动将其结果转换为大类型
b +=5; //使用扩展赋值号的时候, 系统会自动进行强制转换 b = (byte)(b + 5);
System.out.println(b);//10