运算符和表达式
- 运算符:对常量或者变量进行操作的符号。
- 表达式:用运算符把常量或者变量连接起来符合Java语法的式子就可以称为表达式。
不同运算符连接起来的表达式体现的不同类型的表达式。 - 举例说明:
int a = 10;
int b = 20;
int c = a + b;
+:是运算符,并且是算术运算符
a+b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式
算术运算符
符号 | 作用 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取余 |
- 注意:整数操作只能得到整数,要想得到小数,必须有浮点数参与运算
System.out.println(3 / 2);
//结果为1
System.out.println(3.0 / 2);
//结果为1.5
- 注:如果在计算的时候有小数参与,结果有可能是不精确的。
System.out.println(1.1 + 1.01);
结果为:2.1100000000000003
隐式转换规则
算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升。
- byte,short,char自动提升到int类型
- 整个表达式的类型自动提升到表达式中最高等级操作数同样的类型
等级顺序byte
,short
,char
->int
->long
->float
->double
字符的“+”操作
拿字符在计算机底层对应的数值来进行计算的
- ‘A’ -> 65 A-Z是连续的
- ‘a’ -> 97 a-z是连续的
- ‘0’ -> 48 0-9是连续的
public class Demo {
public static void main(String[] args) {
long a = 2382953L;
int b = 123;
short c = 10;
byte d = 4;
//long
System.out.println(a + b + c + d);
//int!!!
System.out.println(c + d);
}
字符串的”+“操作
当”+“操作中出现字符串时,“+”是字符串连接符,而不是算术运算符
- 例如:
“年份:”+ 199 + 8 + “年”;
- 输出结果:
年份:1998年
// 1998年
System.out.println(1 + 1997 + "年");
// 年份:1998年
System.out.println("年份:" + (1+1997) + "年");
int a = 10;
int b = 20;
// 1020
System.out.println("" + a + b);
// 30
System.out.println(a + b + "");