一.运算符和表达式
表达式
- 定义:用运算符把字面量或者变量连接起来,符合Java语法的句子
- 不同的运算符连接的表达式体现的是不同类型的句子
运算符
- 定义对字面量或者变量进行操作的符号
- 算数运算符
符号 | 作用 | 说明 |
---|---|---|
+ | 加 | Java中+三种用法: (3)字符相加 |
- | 减 | |
* | 乘 | |
/ | 除 | *注:如果除法运算符的两个操作数都是整数类型,则计算结果为整数,除数不可以为0,否则会引发异常;如果除法运算符的两个操作数中至少一个是浮点数,则计算结果是浮点数,此时除数可以为0或0.0,得到的结果是正无穷大或负无穷小 |
% | 取模,取余 | *注:求余运算符的结果不一定总是整数。如果求余运算符的两个操作数都是整数,则第二个操作数不能为0(同除法运算规则); 如果求余运算符的两个操作数中至少一个是浮点数,则第二个操作数可以是0或0.0,但求余结果是是非数:NaN |
补充:类型转换
1.分类:
隐式转换(自动类型提升):取值范围小的数值→取值范围大的数值
- 取值范围小的数值和取值范围大的数值进行运算时,小的会先提升为大的,再进行运算
- byte short char 三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算
强制转换():取值范围大的数值→取值范围小的数值
- 格式:目标数据类型 变量名 = (目标数据类型)被强转的数据
取值范围:double > float > long > int > short > byte
- 自增自减运算符
- 注: 符号既可以放在变量的前面,也可以放在变量的后面
- 单独使用:++和--无论是放在变量的前面还是后面,单独写一行的结果是相同的
- 参与计算
符号 | 作用 | 说明 |
---|---|---|
++ | 加 | 变量的值加1 |
-- | 减 | 变量的值减1 |
- 赋值运算符
符号 | 作用 | 说明 |
---|---|---|
= | 赋值 | int a =10,将10赋值给变量 a |
+= | 加后赋值 | a += b, 将 a + b 的和 给a |
-= | 减后赋值 | a -= b, 将 a - b 的差 给a |
*= | 乘后赋值 | a *= b, 将 a * b 的值 给a |
/= | 除后赋值 | a /= b, 将 a / b 的商 给a |
%= | 取余后赋值 | a %= b, 将 a % b 的余数 给a |
- 关系运算符
分类 符号 说明 == a==b,判断a和b的值是否相等,成立为true,不成立为false != a!=b,判断a和b的值是否不相等,成立为true,不成立为false > a>b,判断a是否大于b,成立为true,不成立为false >= a>=b,判断a是否大于等于b,成立为true,不成立为false < a<b,判断a是否小于b,成立为true,不成立为false <= a<=b,判断a是否小于等于b,成立为true,不成立为falsea #注意事项:关系运算符的结果都是boolean类型,要么是true,要么是false千万不要把“==”误写成“=”
- 逻辑运算符
符号 | 名称 | 作用 |
---|---|---|
&& | 与 | 表达式两端结果都为true,最终才为 true |
|| | 或 | 表达式两端只要有一端为true,最终 结果为true |
! | 逻辑非 | 在结果上进行取反 |
- 三元运算符
(1) 语法: 布尔表达式?表达式1:表达式2
(2) 原理:判断布尔表达式的结果是否为true, 是-执行表达式1,否则执行表达式2
- 运算符优先级
二.Scanner扫描仪
1. 作用:提高人机交互
2. 使用步骤:
(1) 导包: import 包名1.包名2.类名;
import 包名1.包名2.*;
注意:import语句定义在package语句的后面,
所有类的上面
(2) 创建Scanner对象:
Scanner sc = new
Scanner(System.in);
(3) 使用: int a = sc.nextInt(); //输入一个整数
double d = sc.nextDouble(); //输入 一个小数
String str = sc.next(); //输入一个字 符串
char c = sc.next().charAt(0); //输 入一个字符