【JAVASE】运算符(一)

简介: 【JAVASE】运算符

1. 什么是运算符


计算机的最基本的用途之一就是执行数学运算,比如:


int a = 10;
int b = 20;
a + b;
a < b;

上述 + 和 < 等就是运算符,即:对操作数进行操作时的符号,不同运算符操作的含义不同。


作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。Java中运算符可分为以下:算术运算符**(+ - * /)、关系运算符(< > ==)**、逻辑运算符、位运算符、移位运算符以及条件运算符等。


2. 算术运算符


1. 基本四则运算符:加减乘除模(+ - * / %)


int a = 20;
int b = 10;
System.out.println(a + b); 
System.out.println(a - b); 
System.out.println(a * b); 
System.out.println(a / b);
System.out.println(a % b); // % 模运算相当于数学中除法的余数

运行结果:


faa9cac423ccca5300e6cbdc007b1169_86bac3dda6b94b9cb9ffff3c96097b4e.png


注:


  • 上述都是二元运算符,使用时必须要有左右两个操作数


int / int 结果还是int类型,而且会向下取整

请看这段代码:


int a = 3;
int b = 2;
System.out.println(a / b);

运行结果:

0d8fbfa016ec4e5089c1d2e69ef60eb5_253d086bbd974ad299f7b06998773e1d.png


有些人可能会好奇,3/2 应该是 1.5 ,这里的输出结果为什么是 1 ,这是因为 int / int 结果还是int类型,而且会向下取整,即小数点之后全部舍弃掉了。


如果要得到 1.5 ,应该这样修改:


8604f35e8fa41107ffc77c5ae695dd09_eda681166e624cfd98d62f87c3eccb6c.png


在做除法和取模时,右操作数不能为0


例如:


int a = 1;
int b = 0;
System.out.println(a / b)

运行结果:


daca83ed42c3cfc265372806b99079cd_e392471a279f4b98ade869f99b93bd8b.png


% 不仅可以对整型取模,也可以对double类型取模,但是没有意义,一般都是对整型取模的


System.out.println(11.5 % 2.0)

68309c3ce0e939824dfe7c15122a661f_65c7d8fcce2b46979d53aec033ae5cf1.png


我们已经知道这些运算符的运算规则了,看看下面计算,你能做对吗?

System.out.println(5/2);
System.out.println((float)5/2);
System.out.println(5/(float)2);
System.out.println((float)(5/2));
System.out.println(10%3);
System.out.println(-10%3);
System.out.println(10%-3);
System.out.println(-10%-3);

答案 ↓ :

aa4a44abcfa216c69a30fcc989000815_7d3833efe77a4a2c8cca0a3a089fb620.png


当两侧操作数类型不一致时,会向类型大的提升


System.out.println(1+0.2); 

这里 + 的左侧是 int ,右侧是 double ,在加之前 int 会被提升为 double ,所以输出结果是 1.2


*2. 增量运算符 += -= = %=

该种类型运算符操作完成后,会将操纵的结果赋值给左操作数。


int a = 1;
a += 2; // 相当于 a = a + 2
System.out.println(a); // 输出3
a -= 1; // 相当于 a = a - 1
System.out.println(a); // 输出2
a *= 3; // 相当于 a = a * 3
System.out.println(a); // 输出6
a /= 3; // 相当于 a = a / 3
System.out.println(a); // 输出2
a %= 3; // 相当于 a = a % 2
System.out.println(a); // 输出2

只有变量才能使用该运算符,常量不能使用。


3. 自增/自减运算符 ++ –

++是给变量的值+1,–是给变量的值-1。


int a = 1;
a++; // 后置++ 表示给a的值加1,此时a的值为2
System.out.println(a++); // 注意:后置++是先使用变量原来值,表示式结束时给变量+1,因此输出2
System.out.println(a); // 输出3
++a; // 前置++ 表示给a的值加1
System.out.println(++a); // 注意:前置++是先给变量+1,然后使用变量中的值,因此输出5
System.out.println(a); // 输出5
// -- 操作符给操作-1,与++含义类似

fc5fc99932b96f176d3af82aa31ec62d_379126af98504d58ac528cc303cae5fb.png

注:


  • 如果单独使用,【前置++】和【后置++】没有任何区别
  • 如果混合使用,【前置++】先+1,然后使用变量+1之后的值,【后置++】先使用变量原来的值,表达式结束时给变量+1
  • 只有变量才能使用自增/自减运算符,常量不能使用,因为常量不允许被修改

相关文章
|
8月前
|
Java
|
8月前
|
存储 Java
|
6天前
|
存储 Java 编译器
JavaSE学习--数据类型和运算符
JavaSE学习--数据类型和运算符
64 0
|
9月前
|
存储 Java C语言
教你精通JavaSE语法->第三章、运算符
计算机的最基本的用途之一就是执行数学运算,即:对操作数进行操作时的符号,不同运算符操作的含义不同。-------->复习或初学Java语法
50 0
|
10月前
|
Java 编译器
【JavaSE专栏8】运算符、表达式和语句
【JavaSE专栏8】运算符、表达式和语句
|
6月前
|
存储 机器学习/深度学习 Java
【JavaSE语法】运算符
【JavaSE语法】运算符
44 0
|
7月前
|
存储 Java C语言
JavaSE ---01 数据类型与运算符
JavaSE ---01 数据类型与运算符
18 0
|
7月前
|
存储 Java 编译器
基本语法、数据类型与运算符【JavaSE】
基本语法、数据类型与运算符【JavaSE】
20 0
|
9月前
|
Java C语言
《JavaSE-第三章》之运算符
《JavaSE-第三章》之运算符
|
10月前
|
存储 Java C语言
【javaSE】 运算符
【javaSE】 运算符