1 运算符
开发中使用的算术运算符:
加 + 减 - 乘 * 除 / 取余 % 小括号 () = 赋值号
注意事项:
1. 先乘除,后加减
2. 从左至右运行
3. 除数不能为0
4. 先运算小括号里面的内容
【重点】小括号里面的内容对于小括号外部而言是一个整体,是一个【常量】
= 赋值号 注意 【 = 为赋值号, == 为等于号】
赋值号的功能是将赋值号右侧的数据,赋值给左侧的【变量】
char ch = 'A'; True
10 = 20; false
使用总结:
1. 变量有且只能是被赋值之后才可以修改内容,未赋值不能修改
2. 取余操作注意细节
3. 【批注】
取余操作针对整数,小数没有取余操作
/* 算术运算符演示 */
class Demo1 {
public static void main(String[] args) {
// 定义两个int类型变量
int num1 = 10;
int num2 = 20;
// num1 + num2结果赋值给num1
num1 = num1 + num2; // num1 = 30 num2 = 20
// 变量在代码运行的过程中是会发生改变。
num1 = num1 * num2; // num1 = 600 num2 = 20
num1 = num1 - num2; // num1 = 580 num2 = 20
num1 = num1 / num2; // num1 = 29 num2 = 20
// 小学手写方式
// 20 ÷ 29 = 0 ...... 20
// 5 ÷ 2 = 2 ...... 1
// 9 ÷ 4 = 2 ...... 1
num1 = num2 % num1; // num1 = 20 num2 = 20
/*
num2的值从开始到最后没有发生改变
num2从开始没有被赋值过
*/
System.out.println(num1);
System.out.println(num2);
}
}
1.2关系运算符
代码开发中关系运算符
> 大于
< 小于
>= 大于等于
<= 小于等于
!= 不等于
== 等于判断
注意事项:
1. 关系运算符结果是一个boolean数据类型,true or false
2. 关系运算符一般用于条件判断,数据过滤...
/* 关系运算符 */
class Demo3 {
public static void main(String[] args) {
// 定义一个boolean 类型变量
boolean ret = true;
// 5 > 10 结果赋值给ret 这个boolean类型变量
ret = 5 > 10;
System.out.println(ret); // false
ret = 5 < 10;
System.out.println(ret); // true
ret = 5 >= 5;
System.out.println(ret); // true
ret = 5 <= 2;
System.out.println(ret); // false
ret = 5 != 5;
System.out.println(ret); // false
ret = 5 == 4;
System.out.println(ret); // false
}
}
【重点来啦】
1.3 自增自减运算符
【注意】
自增自减运算符只可以操作变量,不可以操作常量。
语法
++ 自增运算符 操作的变量自增1 等价于 += 1
-- 自减运算符 操作的变量自减1 等价于 -= 1
【难点】
前后关系
自增自减运算符在
变量之前:首先执行自增自减操作,再来完成当前行代码的运行
变量之后:首先执行当前行代码,再来执行自增自减操作
/*操作演示*/
class Demo2 {
public static void main(String[] args) {
/* 自加或自减:如果符号在右边先执行此代码后自加或自减 */
/*int num = 5;
int ret = num++ - num--;
System.out.println(num);
System.out.println(ret);
*/
/* 自加或自减:如果在左边先进行自加或自减后进行代码运行 */
/*int num = 18;
int ret = ++num % num--;
System.out.println(num);
System.out.println(ret);
*/
int num1 = 10;
int num2 = 20;
int ret1 = num1 % num2;
System.out.println(ret1);
int ret2 = num1 / num2;
System.out.println(ret2);
}
}
1.4 逻辑运算符
与 && 【重点】同真为真,有假【即】假
或 || 【重点】有真【即】真,同假为假
非 ! 取反【反向思维】
/* 逻辑运算符演示 */
class Demo8 {
public static void main(String[] args) {
// 定义一个boolean类型的变量
boolean ret = false;
ret = 5 > 3 && 10 > 8;
System.out.println("ret : " + ret); // true
ret = 5 < 3 && 10 > 8;
System.out.println("ret : " + ret); // false
ret = 5 < 3 || 10 > 8;
System.out.println("ret : " + ret); // true
ret = 5 < 3 || 10 < 8;
System.out.println("ret : " + ret); // false
ret = !(5 > 3);
System.out.println("ret : " + ret); // false
}
}
【逻辑运算符的通断现象】
/* 逻辑与短路原则 */
class Demo9 {
public static void main(String[] args) {
int num = 5;
boolean ret = false;
/*
只要有错后面的就不看了吗 为了效率是吗
逻辑与的情况下:
同真为真,有假【即】假
当出现一个条件为false之后,整个逻辑与表达式的结果为
false,从false之后的其他所有条件都不会执行。
计算机的节约性能问题!!!
*/
ret = num > 10 && ++num > 1;
System.out.println("ret : " + ret);
System.out.println("num : " + num);
}
}
/* 逻辑或短路原则问题 */
class Demo10 {
public static void main(String[] args) {
int num = 10;
boolean ret = false;
/*
逻辑或短路原则
有【真】即真,同假为假
只要发现一个条件为真,整个表达式结果已经确定为真。
从true条件开始其他条件不需要执行
*/
ret = num > 5 || ++num > 20;
System.out.println("ret : " + ret); // true
System.out.println("num : " + num); // 10
}
}