Java运算符

一、算数运算符

在这里插入图片描述

sout("'+'运算->输入 3+2 =:" + (3 + 2));
    // '+'运算->输入 3+2 =:5
sout("'-'运算->输入 3-2 =:" + (3 - 2));
    // '-'运算->输入 3-2 =:1
sout("'*'运算->输入 3*2 =:" + (3 * 2));
    // '*'运算->输入 3*2 =:6
sout("'/'运算->输入 3/2 =:" + (3 / 2));
    // '/'运算->输入 3/2 =:1
sout("'/'运算->输入 3/1.5 =:" + (3 / 1.5));
    // '/'运算->输入 3/1.5 =:2.0
//数值除比他大的数值时,结果为0
sout("'/'运算->输入 3/4 =:" + (3 / 4));
    // '/'运算->输入 3/4 =:0
sout("'%'运算->输入 3%2 =:" + (3 % 2));
    // '%'运算->输入 3%2 =:1
//数值取余比他大的数值时,结果还是它本身
sout("'%'运算->输入 3%4 =:" + (3 % 4));
    // '%'运算->输入 3%4 =:3
int i = 1 , j = 1 , o = 1 , p = 1;
sout("'i++'运算:在i使用后再+1 ->输入 =" + (i++));
    // 'i++'运算:在i使用后再+1 ->输入 =1
sout("'++i'运算:在i使用前+1 ->输入 =" + (++j));
    // '++i'运算:在i使用前+1 ->输入 =2
sout("'i--'运算:在i使用后再-1 ->输入 =" + (o--));
    // 'i--'运算:在i使用后再-1 ->输入 =1
sout("'--i'运算:在i使用前-1 ->输入 =" + (--p));
    // '--i'运算:在i使用前-1 ->输入 =0

二、赋值运算符

在这里插入图片描述

三、关系运算符

在这里插入图片描述

sout("'>'运算 ->输入 2大于3 得:" + (2 > 3));
    // '>'运算 ->输入 2大于3 得:false
sout("'<'运算 ->输入 2小于3 得:" + (2 < 3));
    // '<'运算 ->输入 2小于3 得:true
sout("'>='运算 ->输入 2大于等于2 得:" + (2 >= 2));
    // '>='运算 ->输入 2大于等于2 得:true
sout("'<='运算 ->输入 2小于等于1 得:" + (2 <= 1));
    // '<='运算 ->输入 2小于等于1 得:false
sout("'=='运算 ->输入 2等于3 得:" + (2 == 3));
    // '=='运算 ->输入 2等于3 得:false
sout("'!='运算 ->输入 2不等于3 得:" + (2 != 3));
    // '!='运算 ->输入 2不等于3 得:true

四、逻辑运算符

在这里插入图片描述

sout("'&&'运算 ->真和真 得:" + (true && true));
    // '&&'运算 ->真和真 得:true
sout("'&&'运算 ->真和假 得:" + (true && false));
    // '&&'运算 ->真和假 得:false
sout("'&&'运算 ->假和假 得:" + (false && false));
    // '&&'运算 ->假和假 得:false
sout("'||'运算 ->假或假 得:" + (false || false));
    // '||'运算 ->假或假 得:false
sout("'||'运算 ->假或真 得:" + (false || true));
    // '||'运算 ->假或真 得:true
sout("'!'运算 ->取反假 得:" + (!false));
    // '!'运算 ->取反假 得:true
sout("'!'运算 ->取反真 得:" + (!true));
    // '!'运算 ->取反真 得:false

五、条件(三目、三元)运算符

boolean ?1 :2
如果条件表达式成立,true为表达式1false为表达式2
变量 = 条件表达式 ? 表达式1 : 表达式2;
*****相当于*****
数据类型 变量;
if(条件==true){ 
	变量=表达式1;
 }else{ 
 	变量=表达式2; 
 }

六、位运算符

位运算符是在二进制数上进行计算的运算符。
位运算会先将操作数变成二进制数,进行位运算。
然后再将计算结果从二进制数变回十进制数
在这里插入图片描述

(1)二进制判断带符号的数

要判断一个二进制数是否表示负数,需要查看其最高位(最左边的位)。
以下是判断二进制数是十进制负数的方法:
1. 如果最高位(最左边的位)为0,则表示该二进制数是正数或零。
2. 如果最高位为1,则表示该二进制数是负数。此时,可以使用补码表示法来表示负数。
在补码表示法中,最高位为1表示负数,其余位表示绝对值的二进制表示形式。
可以通过将补码转换为原码,然后转换为十进制来获得负数的值。

举个例子:
假设有一个8位的二进制数:10101010
最高位为1,因此该二进制数表示负数。我们可以将其转换为负数的十进制值:
1. 首先将补码转换为原码,即将其按位取反并加1,得到原码:11010110
2. 然后将原码转换为十进制:-(11010110) = -214
因此,二进制数10101010表示的是十进制负数-214

(2)二进制和十进制换算公式

-----将二进制转换为十进制:
从二进制的最右边(个位)开始,每一位乘以2的对应次方,然后将结果相加。

例如,二进制数1101转换为十进制:
1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 1 * 2^0 = 13

-----将十进制转换为二进制:
将十进制数除以2,得到的商再除以2,重复这个过程直到商为0。
将每次的余数从下往上排列,得到的结果即为二进制数。

例如,十进制数13转换为二进制:
13 / 2 = 61
6 / 2 = 30
3 / 2 = 11
1 / 2 = 01
从下往上排列余数: 1101

(3)负数二进制和十进制换算公式

负数在计算机中使用补码表示。补码是对二进制数的取反加一。

下面是负数二进制和十进制之间的换算公式:
将负数的绝对值转换为二进制:
1. 首先将负数的绝对值转换为正数的二进制表示形式。
将正数的二进制表示形式取反:
2. 将正数的二进制表示形式按位取反,即0变为11变为0,得到反码。
将反码加13. 将反码加1,得到补码。

举例说明:
将十进制数-7转换为二进制:
1. 先将7转换为二进制:7的二进制表示为0111。
取反得到反码:1000。
将反码加1得到补码:1001。

将二进制1001转换回十进制:
1. 如果最高位是1,则表示这是一个负数。所以我们需要将补码转换为负数。
2. 首先将补码减1,得到反码:10003. 对反码按位取反,得到原码:11114. 将原码转换为十进制,得到-7

①&按位与

表达式 3 & 5 是对整数 3 和 5 进行位与运算。
让我们将数值 3 和 5 转换为二进制形式进行位与运算:

  • 3 的二进制表示为 00000011
  • 5 的二进制表示为 00000101
    将它们进行位与运算,得到:
位与运算符(&)将两个操作数的每个对应位进行与运算,只有两个位都为1时,结果位才为100000011
 & 00000101
-----------
   00000001 转换为十进制:1
   3 & 5 的结果为 1

②|按位或

位或运算,得到:

位或运算符(|)将两个操作数的每个对应位进行或运算,只要两个位中至少有一个为1时,结果位就为100000011
 | 00000101
-----------
   00000111 转换为十进制:7 
   3 | 5 的结果为 7

③^按位异或

位异或运算,得到:

位异或运算符(^)将两个操作数的每个对应位进行异或运算,当两个位不同时,结果位为1,否则为000000011
 ^ 00000101
-----------
   00000110 转换为十进制:6
   3 ^ 5 的结果为 6

④~按位取反

让我们将数值-4转换为二进制形式进行按位取反运算:

  • -4 的二进制表示为 11111100
    将它进行按位取反运算,得到:
波浪号(~)表示按位取反运算。按位取反运算是一元运算符,它将操作数的每个位取反,
即将0变为1,将1变为0~ 11111100 
-----------
  00000011 转换为十进制:3
  ~-4 的结果为 3

⑤<<左移

3 的二进制表示为 00000011
将其向左移动 5 位:

它将一个数的所有位向左移动指定的位数,移动的过程中,在右侧用零填充。
00000011 << 5
-----------
01100000 转换为十进制数为 96
3 << 5 的结果为 96

⑥>>右移

将其向右移动 5 位:

它将一个数的所有位向右移动指定的位数,移动的过程中,在左侧用符号位填充(正数用0填充,负数用1填充)。
00000011 >> 5
-----------
00000000
3 >> 5 的结果为 0
向右移动 5 位后,所有的位都被移出了,剩下的都是0

七、运算符优先级

在这里插入图片描述
运算符

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值