2.2运算符
2.2.1算数运算符
符号 | 说明 | 示例 |
---|---|---|
+ | 数学加法运算 | int i = 5+5; |
- | 数学减法运算 | int i =1-6; |
- | 负数 | int i = -96; |
* | 数学乘法运算 | int i = 7*8; |
/ | 数学除法运算 | int i = 80/5; |
% | 数学取余运算 | int i = 5%2; |
++ | 数学自增运算 | x++/++x |
-- | 数学自减运算 | x--/--x |
package day_05_25;
/*
* ++:表示自增1
* x++和++x的区别
* x++:先赋值在运算---> x++先参与运算,在自行自加
* ++x:先运算在赋值--->++x先进行自加,在参与运算
*/
public class Demo_04 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 10;
int j = 30;
int c = ++j +(i++);
System.out.println(i);//11
System.out.println(c);//41
int a = 1;
int b = 10;
int g = (--a)+(a++)+(b--)+(b--)+(--b)+(a+b)+(++a)+(b--)-(a++);
//0 0 10 9 7 8 2 7 2
System.out.println(a);//3
System.out.println(b);//6
System.out.println(g);//41
}
}
2.2.2赋值运算符
符号 | 说明 | 示例 |
---|---|---|
= | 数学赋值 | int i = 2; |
+= | x += 2 | x= x+2; |
-= | x -=2 | x=x-2; |
*= | x*=2 | x=x*2; |
/= | x/=2 | x=x/2; |
%= | x%=2 | x=x%2; |
2.2.3关系运算符
符号 | 说明 | 示例 | 结果 |
---|---|---|---|
== | 相等于 | 1==2 | false |
!= | 不相等 | 1!=2 | true |
大于 | 1>2 | false | |
>= | 大于等于 | 1>=0 | true |
< | 小于 | 1<0 | false |
<= | 小于等于 | 1<=1 | true |
package day_05_25;
public class Demo_06 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a = 10 ;
int b =20;
System.out.println(a==b);//结果为:false
System.out.println(a!=b);//结果为:ture
System.out.println(a>b);//结果为:false
System.out.println(a>=b);//结果为:false
System.out.println(a<b);//结果为:ture
System.out.println(a<=b); //结果为:ture
}
}
2.2.4逻辑运算符
符号 | 说明 | 解释 | 结果 |
---|---|---|---|
& | 与 T1 T2 | 有false则为fasle | fasle |
| | 或 | 有true则为true | true |
!(常用) | 非 | !true为false,!false为true | |
异或 | 相同则为false,不同则为true | ||
&&(常用) | 短路与 | T1为false时,T2不需要判断。T1为true,T2还需判断 | |
|| | 短路或 | T1为true,T2不需要判断。T1为false,T2还需要判断 |
package day_05_25;
public class Demo_07 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=4;
int b=5;
int c=6;
//与 & 有假则为假,条件都要进行判断
System.out.println("--------逻辑与-------");
System.out.println((a>b)&(a>c));//fasle&false
System.out.println((a>b)&(a<c));//fasle&true
System.out.println((a<b)&(a<c));//true&true
System.out.println((a<b)&(a>c));//true&false
//或 / 有真则为真 条件都要进行判断
System.out.println("--------逻辑或-----------");
System.out.println((a>b)|(a>c));//fasle|false
System.out.println((a>b)|(a<c));//fasle|true
System.out.println((a<b)|(a<c));//true|true
System.out.println((a<b)|(a>c));//true|false
System.out.println("------异或-------");
System.out.println((a>b)^(a>c));//fasle^false
System.out.println((a>b)^(a<c));//fasle^true
System.out.println((a<b)^(a<c));//true^true
System.out.println((a<b)^(a>c));//true^false
System.out.println("------逻辑非-------");
System.out.println(!(a<b));//fasle
System.out.println(!!!(a>b));//true
System.out.println("--------短语与----------");
System.out.println((a>b)&&(a>c));//fasle
System.out.println((a>b)&&(a<c));//fasle
System.out.println((a<b)&&(a<c));//true&&true
System.out.println((a<b)&&(a>c));//true&false
System.out.println("--------短路或-----------");
System.out.println((a>b)||(a>c));//fasle||false
System.out.println((a>b)||(a<c));//fasle||true
System.out.println((a<b)||(a<c));//true
System.out.println((a<b)||(a>c));//true
}
}
2.2.5三目(元)运算符
当数据真或假的时候,返回一个结果
格式:关系表达式 ? 表达式1:表达式2;
组成部分 T(条件)?结果1:结果2;
执行流程:根据表达式的计算返回一个ture 还是false
如果是ture 就把表达式1作为结果
如果是false 就把表达式2作为结果
package day_05_25;
public class Demo_08 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int x = 3;
int y =4;
int i = (x>y)?x:y;
System.out.println(i);//结果返回y,4
}
}