**
java运算符
**
运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。运算符按照其要求的操作数数目来分,可以有单目运算符、双目运算符和三目运算符,它们分别对应于1个、2个、3个操作数。运算符按其功能来分,有算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符和其他运算符
一丶赋值运算符
= += -= *= /= %= &= ^= |= <<= >>=(符号 “=” (赋值))
public static void main(String[] args) {
// 定义变量a
int a;
// 给变量a赋值
a=1;
System.out.println("a="+a);
// 定义变量a,并且给a赋值
int a2=2;
System.out.println("a2="+a2);
}
二丶算术运算符
±*/%(取余)
public static void main(String[] args) {
int a=10;
int b=3;
// +运算符
System.out.println(a+"+"+b+"="+(a+b));
// -运算符
System.out.println(a+"-"+b+"="+(a-b));
// *运算符
System.out.println(a+"*"+b+"="+(a*b));
// /运算符
System.out.println(a+"/"+b+"="+(a/b));
// %运算符
System.out.println(a+"%"+b+"="+(a%b))
}
++(自增)–(自减)
public static void main(String[] args) {
int a1=1;
// a1++; 表示先做赋值操作,后自增
int b1=a1++;
System.out.println("b1="+b1);
System.out.println("a1="+a1);
System.out.println("===================");
// ++a2;表示先自增,后做赋值操作
int a2=1;
int b2=++a2;
System.out.println("b2="+b2);
System.out.println("a2="+a2);
}
三丶逻辑运算符
与(&)、非(~)、或(|)、异或(^)
public static void main(String[] args) {
// && 与 前后两个操作数必须都是true才返回true,否则返回false
boolean b1=(5<3)&&(4>5);
System.out.println("b1="+b1);
// & 不短路与
boolean b2=(5<3)&(4>5);
System.out.println("b2="+b2);
// 一般都用&& 短路
// 原因:效率高
// || 或 只要两个操作数中有一个是true,就返回true,否则返回false
boolean b3=(2<3)||(4>5);
System.out.println("b3="+b3);
// | 不短路 或
boolean b4=(2<3)|(4>5);
System.out.println("b4="+b4);
// ! 非 ,如果操作数为true,返回false,否则,返回true
boolean b5=!(3<4);
System.out.println("b5="+b5);
// ^ 异或 ,当两个操作数不相同时返回true,返回false
boolean b6=(5>4)^(4>5);
System.out.println("b6="+b6);
}
四丶关系运算符
大于>;
小于<;
大于等于>=;
小于等于<=;
等于==;
不等于!=;
public static void main(String[] args) {
int a=2;
int b=3;
// >大于
System.out.println(a+">"+b+":"+(a>b));
// <小于
System.out.println(a+"<"+b+":"+(a<b));
// >=大于等于
System.out.println(a+">="+b+":"+(a>=b));
// <=小于等于
System.out.println(a+"<="+b+":"+(a<=b));
// ==等于
System.out.println(a+"=="+b+":"+(a==b));
// !=不等于
System.out.println(a+"!="+b+":"+(a!=b));
}
五丶三目运算符
(表达式)?表达式为true返回值:表达式为false返回值
public static void main(String[] args) {
// 三目运算符
String s=2>3?"表达式为真":"表达式为假";
System.out.println(s);
boolean b=2>3?true:false;
System.out.println(b);
}
Java 的表达式就是用运算符连接起来的符合Java 规则的式子.运算符的优先级决定了表达式中运算执行的先后顺序.例如,x<y&&!z相当于(x<y)&&(!z),没有必要去记忆运算符号的优先级别,在编写程序时可尽量的使用括号来实现你想要的运算次序,以免产生难以阅读或含糊不清的计算顺序.运算符的结合性决定了并列相同级别的运算符的先后顺序,例如,加减的结合性是从左到右,8-5+3 相当于(8-5)+3.逻辑否运算符 的结合性是右到左, x 相当于!(!x).表3.4是Java所有运算符的优先级和结合性