Java运算符

java的运算符
算术运算符:  +, - ,*, /, %, ++, --
赋值运算符:  = , += ,-=,*=,/=,%=
关系运算符:  > ,< ,>=,<=,==,!=
逻辑运算符:  ! , & , |,^,&&,||
位运算符:   &,|,^,~,>>,<<,>>>
字符串连接符号: + 


算数运算符:
/ (除号的右边不能为0)
++ 自增
i++; --> i = i+1;
-- 自减
i--; --> i = i-1;
++i / --i: i参与表达式的运算时,先对i进行自增/自减 然后在运算
i++ / i--; i先参与运算,然后再自增/自减 


赋值运算符:  = , += ,-=,*=,/=,%=


int a = 3; // 把3 赋给了 int类型的a

+= --> 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;
注意:
short b = 2;
b = b + 3;//两次运算 第一次 相加 第二次 赋值 不会自动转换
b+=3; //这是一次运算 只做了一次赋值运算 会自动转换
System.out.println(b);


关系运算符:  > ,< ,>=,<=,==,!=


数学:  1<2<3 在计算机里不能这么写
例子:
int a = 7; int b = 3;
注意:
1.关系运算符的结果 只有 true / false
2.比较运算符 "==" 不要写成"="


逻辑运算符:  ! , & , |,^,&&,||
逻辑表达式的值 真true / 假false
& 与
| 或
! 非
&& 短路与
|| 短路或
^ 异或


/*
&
true & true = true -->1>0 & 2>0
true & false = false
false & true = false
false & false = false
只要两边的boolean表达式结果 有一个为false 那么结果就是 false
只有两边都为 true 结果为true
*/
System.out.println(true&true);
/*
|
true | true = true
true | false = true
false | true = true
false | false = false
两边只要有一个为true 结果就是true
只有两边都为false 结果为false
*/
/*
^
true ^ true = false
true ^ false = true
false ^ true = true
false ^ false = false
两边相同 结果为false
两边不同 结果为true
*/
/*
&& &的区别
& 无论表达式左边是true是false 右边都要继续运算
&& 当左边为false时,右边就不走了


|| |的区别
| 两边都要运算
|| 当左边为true 右边不再走了

!
System.out.println(!('a' == 'a')); //非真即是假
*/

位运算符:   &,|,^,~,>>,<<,>>> 二进制运算符号

<< 左位移运算符
移动几位 就是 乘以2的 移动位数次幂 右侧补0
>> 右位移运算符 带符号右移 + -
移动几位 就是 除以2的 移动位数次幂 左侧补0/1
最高位是什么 移动之后 就补什么 0-->0 1-->1
>>> 无符号右移运算符
无论最高位是什么 ,右移后,都补0
& 按位与
0 --> false
1 --> true

6 & 3 = 2       练习: 5&9


110
      & 011
     ------
010
| 按位或
6 | 5 = 7       练习: 5|9


                         110
101
                       ------
        111


^ 按位异或
相同为false 0 不同为true 1


6 ^ 5 = 3


                         110
101
                       ------
        011
 
例:
7^4^4 =7 一个数异或同一个数两次 结果还是那个数


111
100
      -----
       011   -->3
100   -->4
      -----
111


~ 按位取反
int a = 6;
System.out.println(~a);
取反 0 -->1 1-->0




例子:
最快计算出 2 * 8 等于几 2<<3
1000
0010
       -----
                                0000
      1000
                              -------
      10000 = 16
小知识: 两个整数变量的值进行交换
方法1 使用第三方变量


方法2
方法3


字符串连接符号: + 
字符串数据和任何数据使用 + 都是相连接的意思,最终都会变成字符串
System.out.println("6+6"+6+6);

三元运算符/三目运算符
格式:     关系表达式 ? 表达式1 : 表达式2;
  boolean
表达式的结果是true 就走表达式1 ; 是false就走表达式2
  例如:
int a = 20;
a>10 ? "大于10" : "小于10"
10.运算符的优先级和转义字符


赋值运算符 从 右向左看


转义字符:用在字符串中,用来定制字符串输出格式的特殊符号


\t 一个退格键
\n 换行(linux unix)
\r 回车(在window下面 换行 \r\n) 
\'
\"
\\
String s = "哥们,\r\n最近还好吗?有没有看\"星球大战\"?'男'猪脚\\叫啥来着"
单独写 \r 回车 表示打印头回到该行起始位置
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值