Java语法基础(运算符)
目录
前言:
在上一篇中,我们探究了Java的数据类型,在本篇中将学习Java运算符,运算符用于执行各种数学和逻辑操作,包括算术、关系、逻辑、位和赋值运算符等类型。对程序员来说,了解Java运算符的使用方法是非常重要的,它们是Java编程中不可或缺的一部分。
📌Java是一种面向对象编程语言,它的语法基础包括各种运算符 ,用来执行各种数学、逻辑和比较操作的符号。
一,算术运算符
Java支持基本的算术运算符,包括加法(+)、减法(-)、乘法(*)、除法(/)和求模(%),用于执行基本的算术运算。此外,算术运算符还有自增( ++ )和自减( -- )两种。这两种运算符有前缀形式和后缀形式,含有有所不同。
符号 | 作用 | 说明 |
+ | 加 | 两数相加 |
- | 减 | 两数相减 |
* | 乘 | 两数相乘 |
/ | 除 | 两数相除 |
% | 取余 | 得到两数相除后的余数 |
++ | 自增 | 自加一 |
-- | 自减 | 自减一 |
① 加法(+)、减法(-)、乘法(*)、除法(/)和求模(%):
代码示例:
public class Test {
public static void main(String[] args) {
int a = 10;
int b = 5;
int c = a + b; // 加法运算,结果为 15
int d = a - b; // 减法运算,结果为 5
int e = a * b; // 乘法运算,结果为 50
int f = a / b; // 除法运算,结果为 2
int g = a % b; // 取模运算,结果为 0
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f);
System.out.println(g);
}
}
编译结果:
② 前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。
代码示例:
public class Test {
public static void main(String[] args) {
int a = 10;
int b = 5;
int c = ++ a; // 前缀自加运算,结果为 11
int d = -- b; // 前缀自减运算,结果为 4
System.out.println(c);
System.out.println(d);
}
编译结果:
③ 后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算
代码示例:
public class Test {
public static void main(String[] args) {
int a = 5;
int b = 10;
int c = a --; //后缀自减运算,结果为 5
int d = b ++; //后缀自加运算,结果为 10
System.out.println(c);
System.out.println(a); // 结果为 4
System.out.println(d);
System.out.println(b); // 结果为 11
}
编译结果:
🔑 注意:“ + ”运算符还有一种用法,它可以进行字符串拼接。
二,比较运算符
比较运算符:比较运算符用于比较两个值是否相等,包括相等(==)、不等(!=)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=)。
运算符 | 名称 |
== | 等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
!= | 不等于 |
代码示例:
public static void main(String[] args) {
int a = 10;
int b = 5;
boolean c = (a > b); // 大于运算,结果为 true
boolean d = (a < b); // 小于运算,结果为 false
boolean e = (a >= b); // 大于等于运算,结果为 true
boolean f = (a <= b); // 小于等于运算,结果为 false
boolean g = (a == b); // 等于运算,结果为 false
boolean h = (a != b); // 不等于运算,结果为 true
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f);
System.out.println(g);
System.out.println(h);
}
编译结果:
三,逻辑运算符
逻辑运算符:逻辑运算符用于执行逻辑操作,包括与(&&)、或(||)和非(!)。
符号 | 名称 | 结果 |
&& | 与 | 两边都是true,才是true |
|| | 或 | 有一边是true,才是true |
! | 非 | ! true = false |
① 逻辑与(&&):布尔表达式1 && 布尔表达式2
② 逻辑或(||):布尔表达式1 || 布尔表达式2
③ 逻辑非(!): !布尔表达式
代码示例:
public static void main(String[] args) {
boolean a = true;
boolean b = false;
boolean c = (a && b); // 逻辑与运算,结果为 false
boolean d = (a || b); // 逻辑或运算,结果为 true
boolean e = !a; // 逻辑非运算,结果为 false
System.out.println(c);
System.out.println(d);
System.out.println(e);
}
编译结果:
🔑注意:
1,布尔表达式:最终只有 true(真)和 false(假)两个取值。
2,左右表达式必须都是boolean类型的结果。
3,逻辑与(&&):如果表达式1为假,就不执行表达式2,整体为假。
4,逻辑或(||):如果表达式1为真,就不执行表达式2,整体为真。
四,位运算符
位运算符:位运算符用于对二进制位进行操作,包括按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、左移位(<<),右移位(>>)和无符号右移(>>>)。
符号 | 名称 | 说明 |
& | 按位与 | 相对应位都是1,则结果为1,否则为0 |
| | 按位或 | 相对应位都是 0,则结果为 0,否则为 1 |
^ | 按位异或 | 对应位值相同,则结果为0,否则为1 |
~ | 按位取反 | 翻转操作数的每一位,即0变成1,1变成0。 |
<< | 左移 | 左操作数按位左移右操作数指定的位数。 |
>> | 右移 | 左操作数按位右移右操作数指定的位数。 |
>>> | 无符号右移 | 左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 |
代码示例:
public static void main(String[] args) {
int a = 0b1100; // 二进制表示的 12
int b = 0b1010; // 二进制表示的 10
int c = a & b; // 按位与运算,结果为 0b1000,即 8
int d = a | b; // 按位或运算,结果为 0b1110,即 14
int e = a ^ b; // 按位异或运算,结果为 0b0110,即 6
int f = ~a; // 按位取反运算,结果为 0b11111111111111111111111111110011,即 -13
int g = a << 1; // 左移运算,结果为 ob11000,即 24
int h = a >> 1; // 右移运算,结果为 ob110,即6
int m = a >>> 2; // 无符号右移运算,结果为 ob0011,即 3
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f);
System.out.println(g);
System.out.println(h);
System.out.println(m);
}
编译结果:
🔑注意:
&(按位与)和&&(逻辑与)的区别:
1,&&具有短路功能,而&不具有短路功能。
2,当&运算符两侧的表达式的结果均为真时,整个运算结果才为真。当&&操作符第一个表达式为 false时,结果为 false,并且不再计算第二个表达式。
提示:|(按位或)和(逻辑或)同上
五,赋值运算符
赋值运算符:Java中有多种赋值运算符,用于将值赋给变量。赋值运算符包括赋值(=)、加等于(+=)、减等于(-=)、乘等于(*=)、除等于(/=)和模等于(%=)。
符号 | 含义 | 例子 |
= | 右操作数的值赋给左侧操作数 | 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 |
① 赋值运算符(=)
int a = 10;
int b = a;
System.out.println(b); // 输出 10
② 加等于运算符(+=)
int a = 10;
a += 5;
System.out.println(a); // 输出 15
③ 减等于运算符(-=)
int a = 10;
a -= 3;
System.out.println(a); // 输出 7
④ 乘等于运算符(*=)
int a = 5;
a *= 2;
System.out.println(a); // 输出 10
⑤ 除等于运算符(/=)
int a = 10;
a /= 3;
System.out.println(a); // 输出 3
⑥ 模等于(%=)
int num1 = 10;
int num2 = 3;
num1 %= num2;
System.out.println(num1);//输出为1
六,条件运算符
条件运算符:条件运算符用于执行条件操作,包括三元运算符 (布尔表达式 ? 表达式一 : 表达式二 )。三元运算符有一个条件表达式,它根据表达式的结果选择执行不同的代码块。
代码示例:
public static void main(String[] args) {
int a = 10;
int b = 20;
int max = (a > b) ? a : b; // 输出20
System.out.println(max);
}
编译结果:
总结:
通过上述,我们了解了java运算符的使用,其中Java运算符遵循“
自左向右
”的顺序依次执行。即先计算左边的操作数,再计算右边的操作数。但是,可以通过使用括号来改变运算的优先级。括号内的表达式将先于括号外的表达式进行计算。熟练掌握Java运算符的使用是编写高效、简洁的Java代码的关键之一。
✨由衷感谢您的阅读,写作是一项漫长而不易的艰辛过程,若能得到您的点赞、评论和关注,作者会由衷感到欣喜。✨