1.运算符简介
在计算机里面运算符计算变量的变化。一共有5种运算符
算术运算符
关系运算符
逻辑运算符
三目运算符
位运算符
2.算术运算符
运算符 | 说明 | 例子 |
---|---|---|
+ | 将两边的值相加在一起 | 1+1=2 |
- | 将左边的值减去右边的值 | 2-1=1 |
* | 将两边的值相乘 | 2*2=4 |
/ | 将左边的值除以右边的值 | 4/2=2 |
% | 将左边的值除以右边值的余数 | 100%2=0 |
int a = 10;
int b = 20;
int c = 100;
System.out.println("+:"+(a+b));
System.out.println("-:"+(c-b));
System.out.println("*:"+(a*b));
System.out.println("/:"+(c/b));
System.out.println("%:"+(c%b));
+:30
-:80
*:200
/:5
%:0
还有++、–自增和自减也算运算符吧。在这里讲一下
int i = 1; //定义一个变量
++i; //相当于加一次 所以这里就等于2了
i--; //相当于减减一次 所以又变回1了
注意如果要这样写的话(++i+23),++在后面会先自增后计算,在前面的话会先计算后自增。
3.关系运算符
运算符 | 说明 |
---|---|
> | 判断左边值是否大于右边值 ,大于为true 反之为false |
< | 判断左边值是否小于右边值 ,小于为true |
== | 判断两个值是否相等,相等为true |
!= | 判断两个值是否不相等 ,不相等为true |
>= | 判断左边值是否大于右边值或者是否相等 , 大于、相等为true |
<= | 判断左边值是否小于右边值或者是否相等 , 小于、相等为true |
int a = 10;
int b = 20;
int c = 100;
int d = 10;
System.out.println("==:"+(a==d));
System.out.println("!=:"+(a==d));
System.out.println(">:"+(b>a));
System.out.println("<:"+(b<a));
System.out.println(">=:"+(b>=d));
System.out.println("<=:"+(b<=d));
==:true
!=:true
>:true
<:false
>=:true
<=:false
4.逻辑运算符
运算符 | 说明 |
---|---|
&& | 与,当两边操作数为true,条件为true |
II | 或,当任意一边操作数为true,条件为true |
! | 非,如果条件为true会给你一个false |
boolean a = true;
boolean b = false;
System.out.println("$$:"+(a&&b));
System.out.println("||:"+(a||b));
System.out.println("!:"+(!a));
$$:false
||:true
!:false
5.三目运算符
一般也被称为三元运算符?:
语法:条件表达式 ? 表达式1 : 表达式2
解释:当条件表达式为true获取的就是表达式1,相反为false的话就获取的就是表达式2
示例:
int num = true ? 10 :20;
System.out.println(num);
10
6.位运算符
(去网上CV的,位运算我也不太懂 大家可以去这里)
假设整数变量 A 的值为 60 和变量 B 的值为 13
操作符 | 描述 | 例子 |
---|---|---|
& | 如果相对应位都是1,则结果为1,否则为0 | (A&B),得到12,即0000 1100 |
I | 如果相对应位都是 0,则结果为 0,否则为 1 | (A l B)得到61,即 0011 1101 |
^ | 如果相对应位值相同,则结果为0,否则为1 | (A ^ B)得到49,即 0011 0001 |
〜 | 按位取反运算符翻转操作数的每一位,即0变成1,1变成0。 | (〜A)得到-61,即1100 0011 |
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数。 | A << 2得到240,即 1111 0000 |
>> | 按位右移运算符。左操作数按位右移右操作数指定的位数。 | A >> 2得到15即 1111 |
>>> | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 | A>>>2得到15即0000 1111 |
int a = 60; /* 60 = 0011 1100 */
int b = 13; /* 13 = 0000 1101 */
int c = 0;
c = a & b; /* 12 = 0000 1100 */
System.out.println("a & b = " + c );
c = a | b; /* 61 = 0011 1101 */
System.out.println("a | b = " + c );
c = a ^ b; /* 49 = 0011 0001 */
System.out.println("a ^ b = " + c );
c = ~a; /*-61 = 1100 0011 */
System.out.println("~a = " + c );
c = a << 2; /* 240 = 1111 0000 */
System.out.println("a << 2 = " + c );
c = a >> 2; /* 15 = 1111 */
System.out.println("a >> 2 = " + c );
c = a >>> 2; /* 15 = 0000 1111 */
System.out.println("a >>> 2 = " + c );
a & b = 12
a | b = 61
a ^ b = 49
~a = -61
a << 2 = 240
a >> 2 = 15
a >>> 2 = 15