一、算术运算符
二、关系运算符
三、赋值运算符
四、三元运算符
五、逻辑运算符
一、算术运算符
算数运算符有+,-,*,/,%,++,--
1.整数除以整数只能是整数类型或者0,不能是浮点数类型
2.字符串参与加法运算实际上是拼接作用
3.字符参与加法运算,实际是拿字符在计算机中存储的数据值来参与运算
++,--运算符 是 对变量加1或者-1操作的,++既可以放在变量的前面使用也可以放在后面
++,--单独使用:++或者-- 无论是放在变量的前面还是后面,结果都一样
++,--参与运算操作的时候:
* 如果++或者-- 在变量后面,先拿变量参与运算操作,后变量做++或者--
* 如果++或者-- 在变量前面,先变量做++或者--,然后变量参与运算操作
public class DataType {
public static void main(String[] args) {
int a = 3;//把3赋值给a
int b = 4;//把4赋值给b
System.out.println(a+b);//3+4=7输出结果为7
System.out.println(a-b);//3-4=-1输出结果为-1
System.out.println(a*b);//3乘以4等于12输出结果为12
System.out.println(a/b);//3除以4结果为0
System.out.println("===============================");
System.out.println(3/4.0);//如果结果想要小数那么就只能以浮点数形式3除以4.0结果为0.75
System.out.println("helloworld"+a);//拼接作用,输出结果为helloworlda
System.out.println("===============================");
System.out.println('A'+a);//A在计算机里储存的数字表示为65
System.out.println('a'+a);//a在计算机里储存的数字表示为97
System.out.println("===============================");
int c = 10;//把10赋值给c
//System.out.println(c);
//c++;//++c结果是一样的
//System.out.println(c);//结果为11
int e = ++c;
System.out.println(e);//输出e结果为11
}
}
二、关系运算符有==, !=, >, >=, <, <=
关系运算符的结果是布尔boolean类型的:true,false(是,否)
==(恒等于) !=(不等于) >(大于) >=(大于等于) <(小于) <=(小于等于)
package com.yupy02;
/*
* 关系运算符
* ==, !=, >, >=, <, <=
* 关系运算符的结果是布尔boolean类型的:true,false
*/
public class Operator02 {
public static void main(String[] args) {
int a = 10;//依次给定义的变量赋值
int b = 20;
int c = 10;
System.out.println(a==b);//false
System.out.println(a==c);//ture
System.out.println(a != b);//ture
System.out.println(a != c);//false
//依次类推结果是相应的
}
}//输出结果只能是false或true
三、赋值运算符有=,+=,-=,*=,%=
注意:常用的赋值运算符隐含了强制类型转换(了解)
package com.yupy02;
public class Operator {
public static void main(String[] args) {
//int a = 10;//把10赋值给int类型变量a
//+=的操作
//+=的左边和右边数据做+,然后把结果赋值给左边
//a+=20;//a=a+20 30
//a-=5;//a=a-5 5
//a*=5;//a=a*5 50
//System.out.println(a);
byte b = 20;//byte -128~127
b+=108;// 若b+=107 则 b = b+127 强制转换:b = (b的数据类型)(b+127)
System.out.println(b);// 结果为-128
byte c = 20;
c+=107;
System.out.println(c);//结果为127
}
}
四、三元运算符
格式: 数据类型 变量名=关系表达式?表达式1:表达式2;
执行流程:
1.先计算关系表达式的结果,是true还是false
2.如果是true,就把表达式1结果返回,为结果 如果是false,就是表达式2结果返回,为结果
package com.yupy03;
public class Operator {
public static void main(String[] args) {
//int a = 10;
//int b = 20;
//int c =(a>b)?a:b;//false 结果为b
//System.out.println(c);
//比较三个变量的大小 int类型 a=30 b=40 c=50
int a = 30; int b = 40; int c = 50;
int d =(a>b)?a:b;//输出结果(false)40
int e =(a<c)?a:c;//输出结果(true)30
int f =(c>b)?c:b;//输出结果(true)50
System.out.println("1:"+d);
System.out.println("2:"+e);
System.out.println("3:"+f);
}
}
五、逻辑运算符 用于连接关系表达式
&(与),|(或),^(亦或),!(非) && ,||(双与,双或)
&: 有false则是false
* 双true才是true
* |: 有true则是true
* 双false才false
* ^: (亦或)相同则false,不同则true
* !: 加上它 false则true true则false
package com.yupy02;
public class Operator03 {
public static void main(String[] args) {
//定义变量
int a = 3; int b = 4; int c = 5;
//&(与)
System.out.println((a>b)&(a>c));//false & false
System.out.println((a<b)&(a>c));//true & false
System.out.println((a>b)&(a<c));//false & true
System.out.println((a<b)&(a<c));//true & true
System.out.println("=========");
//|(或)
System.out.println((a>b)|(a>c));//false | false
System.out.println((a<b)|(a>c));//true | false
System.out.println((a>b)|(a<c));//false | true
System.out.println((a<b)|(a<c));//true | true
System.out.println("=========");
//^(亦或)
System.out.println((a>b)^(a>c));//false ^ false
System.out.println((a<b)^(a>c));//true ^ false
System.out.println((a>b)^(a<c));//false ^ true
System.out.println((a<b)^(a<c));//true ^ true
System.out.println("=========");
//!(非)
System.out.println(!(a>b));//(a>b)结果是false,!(a>b)结果就是true
System.out.println(!(a<c));//(a<c)结果是true,!(a<c)结果就是false
}
}
&& ,||(双与,双或)
&&和&结果一样 区别:&&具有短路效果 左边是false后右边就不执行
* &左边不管是什么,右边都执行
* ||和|结果一样 区别:||具有短路效果 左边为true后右边不执行
* |左边是不论是什么 右边都执行
package com.yupy02;
public class Operator04 {
public static void main(String[] args) {
int a = 3; int b = 4; int c = 5;
//&&(双与)
System.out.println((a>b)&&(a>c));//false && false
System.out.println((a<b)&&(a>c));//true && false
System.out.println((a>b)&&(a<c));//false && true
System.out.println((a<b)&&(a<c));//true && true
System.out.println("=========");
//||(双或)
System.out.println((a>b)||(a>c));//false || false
System.out.println((a<b)||(a>c));//true || false
System.out.println((a>b)||(a<c));//false || true
System.out.println((a<b)||(a<c));//true || true
System.out.println("=========");
int x = 10;
int y = 20;
//System.out.println((x++>10) & (y++>20));//false & false
System.out.println((x++>10) && (y++>20));//false & false
System.out.println("x:"+x);
System.out.println("y:"+y);
}
}
以上是五类运算符,在实际Java开发过程中会灵活的运用到它们