您的位置:首页 > 财经 > 产业 > JavaSE:3、运算符

JavaSE:3、运算符

2024/11/16 12:22:51 来源:https://blog.csdn.net/qq_74924951/article/details/142219283  浏览:    关键词:JavaSE:3、运算符

1、赋值运算符

从右往左运算,左边是可赋值的目标,返回计算结果
public class Main {public static  void main(String [] argv){int a=10;int b=a=100;System.out.println(a);  //输出100System.out.println(b);  //输出100}
}

2、算术运算符

+    -     *    /     %

(1)加法

支持字符串拼接,变量常量相加,隐式类型转换。类型无法隐式转换需要强制类型转换
public class Main {public static  void main(String [] argv){int a=10;int b=a+100;String s1="aaa";String s2="bbb"+s1+a;   //字符串可拼接// short c=b+a;      //ERROR  类型不可转换long d=b+a;   //True  可隐式转换short e=(short)(b+a);    //True  强制转换System.out.println(e);  //输出  120System.out.println(s2);  //输出  bbbaaa10}
}

(2)减法

 支持变量常量相减,隐式类型转换,不可转换需强制类型转换
public class Main {public static  void main(String [] argv){int a=1000;int b=a-100;// short c=b-a;      //ERROR  类型不可转换long d=b-a;   //True  可隐式转换short e=(short)(b-a);    //True  强制转换System.out.println(e);  //输出 -100System.out.println(d);  //输出 -100}
}

(3)乘法

支持变量常量相乘,隐式类型转换,不可转换需强制类型转换
public class Main {public static  void main(String [] argv){int a=10;int b=a*100;// short c=b*a;      //ERROR  类型不可转换long d=b*a;   //True  可隐式转换short e=(short)(b*a);    //True  强制转换System.out.println(e);  //输出 10000System.out.println(d);  //输出 10000}
}

(4)除法

整数类型向下取整,支持变量常量相除,隐式类型转换,不可转换需强制类型转换
public class Main {public static  void main(String [] argv){int a=1000;int b=a/9;double c=30;double d=7;//short c=b/a;      //ERROR  类型不可转换long f=b/a;   //True  可隐式转换short e=(short)(b/a);    //True  强制转换System.out.println(f);  //输出 0  向下取整System.out.println(e);  //输出 0System.out.println(c/d);  //输出4.285714285714286}
}

(5)取模

支持变量常量取模,隐式类型转换,不可转换需强制类型转换
public class Main {public static  void main(String [] argv){int a=1000;int b=a%9;double c=30.5;double d=7.5;//short c=b;      //ERROR  类型不可转换long f=b;   //True  可隐式转换short e=(short)(b);    //True  强制转换System.out.println(f);  //输出 1System.out.println(e);  //输出 1System.out.println(c%d);  //输出0.5}
}

3、括号运算符

可隐式类型转换,转换不了需强制类型转换
public class Main {public static  void main(String [] argv){int a=10;int b=(a+5)*7;int c=a+5*7;int d=(b+3*(a+1));System.out.println(b);  //输出 105System.out.println(c);  //输出 45System.out.println(d);  //输出 138}
}

4、自增自减运算符

以及+=   -=   *=   /=   %=
public class Main {public static  void main(String [] argv){int a=10;System.out.println(a++);  //输出 10System.out.println(++a);  //输出 12System.out.println(a--);  //输出12System.out.println(--a);  //输出10int b=a/=1;System.out.println(b);  //输出 10b=a+=1;System.out.println(b);  //输出 11b=a-=1;System.out.println(b);  //输出 10b=a*=1;System.out.println(b);  //输出 10b=a%=1;System.out.println(b);  //输出 0}
}

5、位运算

详见:位运算
public class Main {public static  void main(String [] argv){int a=10;int b=9;//1010  1001int c=a&b;System.out.println(c);  //输出 8c=a^b;System.out.println(c);  //输出 3c=a|b;System.out.println(c);  //输出 11c=~a;System.out.println(c);  //输出 -11c=~b;System.out.println(c);  //输出 -10}
}

6、关系运算符

> 大于

< 小于

== 等于(注意是两个等号连在一起,不是一个等号,使用时不要搞混了)

!= 不等于

>= 大于等于

<= 小于等于

运算得到Boolean类型的值
public class Main {public static  void main(String [] argv){int a=10;int b=9;// int c=a>b;  ERROR  boolean类型无法转换为其它类型boolean c=a>b;   System.out.println(c);  //输出 truec=a<b;System.out.println(c);  //输出 falsec=a==b;System.out.println(c);  //输出 falsec=a!=b;System.out.println(c);  //输出 truec=a>=b;System.out.println(c);  //输出 truec=a<=b;System.out.println(c);  //输出 false}
}

7、逻辑运算符

&& 与运算,要求两边同时为true才能返回true
|| 或运算,要求两边至少要有一个为true才能返回true
! 非运算,表示对表达式的结果进行反转
该运算符作用与boolea类型变量或值,其它类型不可。
还可能存在短路。
public class Main {public static  void main(String [] argv){int a=10;int b=9;//  int c=a&&b;  ERROR  需作用boolean类型boolean d=true,e=false;boolean c=d&&e;   System.out.println(c);  //输出 falsec=d||e;System.out.println(c);  //输出 truec=d&&d;System.out.println(c);  //输出 truec=e&&e;System.out.println(c);  //输出 falseec=!d;System.out.println(c);  //输出 falsec=!e;System.out.println(c);  //输出 true}
}

8、三元运算符

public class Main {public static  void main(String [] argv){int a = 10;char b = a > 10 ? 'A' : 'B';   //三元运算符需要三个内容,第一个是判断语句,第二个是满足判断语句的值,第三个是不满足判断语句的值System.out.println(b);  //输出 B}
}

运算符优先级

括号、非、自增自减、算术、位运算(左右移)、关系运算、位运算、逻辑运算、三元,赋值类 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com