Java 基础-语法-运算符

Java 基础-语法-运算符

概述

种类举例作用
算术运算符+​:加法
-​:减法
*​:乘法
/​:除法
%​:取模(取余数)
用于执行基本的数学运算
增量运算符++​:递增
--​:递减
用于递增或递减变量的值
赋值运算符=​:赋值
+=​:加法赋值
-=​:减法赋值
*=​:乘法赋值
/=​:除法赋值
%=​:取模赋值
用于给变量赋值
比较运算符
==​:等于
!=​:不等于
<​:小于
>​:大于
<=​:小于或等于
>=​:大于或等于
用于比较两个值
逻辑运算符&&​:逻辑与(短路与)
||​:逻辑或(短路或)
!​:逻辑非
用于执行逻辑运算
位运算符&​:按位与
|​:按位或
^​:按位异或
~​:按位取反
<<​:左移位
>>​:右移位
>>>​:无符号右移位
用于对二进制位执行操作
条件运算符(三元运算符)condition ? value1 : value2用于在条件为真时返回一个值,否则返回另一个值

详解

算术运算符

Java 的算术运算符用于执行基本的数学运算。以下是一些算术运算符的示例:

int a = 10;
int b = 3;

// 加法
int sum = a + b; // 结果是 13

// 减法
int difference = a - b; // 结果是 7

// 乘法
int product = a * b; // 结果是 30

// 除法
int quotient = a / b; // 结果是 3 (整数相除会截断小数部分)

// 取模(取余数)
int remainder = a % b; // 结果是 1

// 带有小数的算术运算
double x = 10.5;
double y = 3.0;

// 加法
double sumDouble = x + y; // 结果是 13.5

// 减法
double differenceDouble = x - y; // 结果是 7.5

// 乘法
double productDouble = x * y; // 结果是 31.5

// 除法
double quotientDouble = x / y; // 结果是 3.5

增量运算符

Java 中的增量运算符用于递增或递减变量的值。主要有两种增量运算符:递增运算符 ++​ 和递减运算符 --​。这些运算符可用于不同数据类型的变量,如整数、浮点数和字符。以下是它们的原理和示例说明:

int x = 5;
int y = x++; // 先将 x 赋值给 y,然后递增 x
System.out.println("x = " + x); // 输出 6
System.out.println("y = " + y); // 输出 5


int a = 8;
int b = --a; // 先递减 a,然后将结果赋值给 b
System.out.println("a = " + a); // 输出 7
System.out.println("b = " + b); // 输出 7
  • 前置递增/递减运算符(++var​ 或 --var​)首先递增或递减变量的值,然后返回新的值。
  • 后置递增/递减运算符(var++​ 或 var--​)首先返回变量的当前值,然后再递增或递减变量的值。

递增和递减运算符通常用于循环、条件语句和其他控制结构中,以方便地增加或减小计数器或变量的值。注意,它们可以对不同类型的变量(整数、浮点数、字符等)使用,并具有不同的行为。在实际编程中,要根据需要选择适当的递增或递减运算符来操作变量。

赋值运算符

赋值运算符用于给变量赋予特定的值。在Java中,有多种赋值运算符,它们用于执行不同类型的赋值操作。以下是一些常见的赋值运算符的示例:

int x = 5; // 将5赋给变量x

int count = 10;
count += 3; // 等效于 count = count + 3; 结果是 count 现在为 13

double price = 100.0;
price -= 25.0; // 等效于 price = price - 25.0; 结果是 price 现在为 75.0

int quantity = 6;
quantity *= 4; // 等效于 quantity = quantity * 4; 结果是 quantity 现在为 24


int total = 100;
total /= 5; // 等效于 total = total / 5; 结果是 total 现在为 20

int remainder = 15;
remainder %= 7; // 等效于 remainder = remainder % 7; 结果是 remainder 现在为 1

比较运算符

比较运算符用于比较两个值,通常返回一个布尔值(true​ 或 false​)来表示比较的结果。以下是一些常见的比较运算符以及示例:

int a = 5;
int b = 5;
boolean isEqual = (a == b); // 结果是 true

int x = 7;
int y = 3;
boolean isNotEqual = (x != y); // 结果是 true

int m = 10;
int n = 15;
boolean isLessThan = (m < n); // 结果是 true

double p = 8.0;
double q = 5.0;
boolean isGreaterThan = (p > q); // 结果是 true

int c = 5;
int d = 5;
boolean isLessOrEqual = (c <= d); // 结果是 true

int e = 7;
int f = 5;
boolean isGreaterOrEqual = (e >= f); // 结果是 true

逻辑与运算符

逻辑运算符用于执行布尔逻辑运算,通常用于组合多个布尔表达式的结果。以下是一些常见的逻辑运算符以及示例:

boolean x = true;
boolean y = false;
boolean resultAnd = (x && y); // 结果是 false

boolean a = true;
boolean b = false;
boolean resultOr = (a || b); // 结果是 true

boolean p = true;
boolean resultNotP = !p; // 结果是 false

位运算符

位运算符用于对二进制位执行操作,通常用于处理整数数据的各个位。以下是一些常见的位运算符以及示例:

**按位与运算符 **​ & ​:将两个操作数的每个位进行与运算,只有在两个位都为 1 时,结果才为 1。

int a = 5; // 二进制表示为 0101
int b = 3; // 二进制表示为 0011
int bitwiseAnd = a & b; // 结果是 0001,即 1

**按位或运算符 **​ | ​:将两个操作数的每个位进行或运算,只要两个位中至少有一个为 1,结果就为 1。

int x = 5; // 二进制表示为 0101
int y = 3; // 二进制表示为 0011
int bitwiseOr = x | y; // 结果是 0111,即 7

**按位异或运算符 **​ ^ ​:将两个操作数的每个位进行异或运算,只有当两个位不相同时,结果才为 1。

int m = 5; // 二进制表示为 0101
int n = 3; // 二进制表示为 0011
int bitwiseXor = m ^ n; // 结果是 0110,即 6

**按位取反运算符 **​ ~ ​:反转操作数的每个位,0 变为 1,1 变为 0。

int p = 5; // 二进制表示为 0000 0000 0000 0000 0000 0000 0000 0101
int bitwiseNot = ~p; // 结果是 1111 1111 1111 1111 1111 1111 1111 1010,即 -6

**左移位运算符 **​ << ​:将操作数的二进制位向左移动指定的位数,并在右侧用 0 填充。

int q = 6; // 二进制表示为 0110
int leftShift = q << 2; // 结果是 1100,即 12

**右移位运算符 **​ >> ​:将操作数的二进制位向右移动指定的位数,带符号地扩展左侧的位。带符号的意思是,如果原数是正数,则在左侧补充 0,如果原数是负数,则在左侧补充 1。

int a = 8;  // 二进制 0000 1000
int result = a >> 1;  // 结果是 4,二进制 0000 0100

int b = -8; // 二进制 1111 1000
int result = b >> 1; // 结果是 -4,二进制 1111 1100

**无符号右移位运算符 **​ >>> ​:将操作数的二进制位向右移动指定的位数,不带符号地扩展左侧的位。这意味着无论原数是正数还是负数,都在左侧补充 0。

int c = 8;  // 二进制 0000 1000
int result = c >>> 1;  // 结果是 4,二进制 0000 0100

int d = -8; // 二进制 1111 1111 1111 1111 1111 1111 1111 1000
int result = d >>> 1; // 结果是 2147483644,二进制0111 1111 1111 1111 1111 1111 1111 1100

位运算符通常用于对位级别的数据操作,特别是在需要执行位操作的底层编程任务中,如位掩码、位控制等。它们通常用于处理整数数据,而不是浮点数。

  • 21
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值