目录
[Scanner 键盘录入](#Scanner 键盘录入)
算数运算符
|----|----|----------------|
| 符号 | 作用 | 说明 |
| + | 加 | 参看小学一年级 |
| - | 减 | 参看小学一年级 |
| * | 乘 | 参看小学二年级,与"×"相同 |
| / | 除 | 参看小学二年级,与"÷"相同 |
| % | 取余 | 获取的是两个数据做除法的余数 |

数值拆分

字符串拼接操作



自增自减运算符

public class OperatorDemo2 {
/*
自增自减运算符
符号:++(自增)、--(自减)
使用方式:
可以放在变量的前面,也可以放在变量的后面
使用细节:
单独使用:符号在前或在后没有区别示例:
c
int a = 10;
++a;
a++;
参与运算使用:
++在前:先自增再操作
++在后:先操作再自增
*/
public static void main(String[] args) {
int a =10;
int b =++a;
System.out.println(a);
System.out.println(b);//a=11 b=11
int c =10;
int d = c++;
System.out.println(c);
System.out.println(d);// d=10 c=11
}
}
类型转换
隐式转换




强制转换类型


public class TypeChangeDemo {
/*
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;
错误原因:b1 和 b2 是 byte 类型数据,相加时会自动提升为 int 类型(Java 的运算类型提升规则),最终结果是 int 类型;将 int 类型值直接赋值给 byte 类型变量,属于 "大类型赋值给小类型",会导致编译错误。
改正方案:
强制类型转换:byte b3 = (byte)(b1 + b2);
改变变量类型:int b3 = b1 + b2;
代码片段 2
java
byte b = 3 + 4;
说明:这句代码不会报错,因为 Java 存在 "字面量优化机制":编译阶段(javac)会直接计算3+4的结果(7),而 7 在 byte 类型的取值范围(-128~127)内,因此编译后字节码等价于byte b = 7;。
完整 main 方法代码
java
}
*/
public static void main(String[] args) {
byte b = 3 + 4;
System.out.println(b);
}
}
赋值运算符

关系运算符

逻辑运算符
把多个条件放在一起运算,最终返回布尔类型的值:true、false
需求: 在程序中,判断一个学生成绩是否在 90~100 之间,是的话程序输出优秀.

|----|------|---------------------|
| 符号 | 介绍 | 说明 |
| & | 逻辑与 | 并且, 遇 false 则 false |
| | | 逻辑或 | 或者,遇 true 则 true |
| ! | 逻辑非 | 取反 |
| ^ | 逻辑异或 | 相同为 false,不同为 true |
|------|-----|----|
| 符号 | 介绍 | 说明 |
| && | 短路与 | |
| || | 短路或 | |

public class OperatorDemo03 {
/*
短路逻辑运算符:
& : 没有短路效果,无论符号左边是true还是false,右边都要继续执行.
&& : 具有短路效果,当符号左边为false的时候,右边就不执行了.
如果符号左边为true,右边要继续执行.
| : 没有短路效果,无论符号左边是true还是false,右边都要继续执行.
|| : 具有短路效果,当符号左边为true的时候,右边就不执行了.
如果符号左边为false,右边要继续执行.
*/
public static void main(String[] args) {
int x = 3;
int y = 4;
// false & false
++x;
y--;
boolean result = false;
System.out.println(result); // false
System.out.println(x); // 4
}
}
三元运算符

运算符优先级

Scanner 键盘录入

import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的年龄");
int age = sc.nextInt();
System.out.println("请输入你的姓名");
String name = sc.next();
System.out.println("姓名为"+name+"年龄为"+age);
}
}