前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java基础--运算符

Java基础--运算符

作者头像
用户9996207
发布2023-01-13 14:35:13
4160
发布2023-01-13 14:35:13
举报
文章被收录于专栏:学习之旅111学习之旅111

算术运算符

+- * /%

代码语言:javascript
复制
public class TestDemo1{
public static void main(String[] args){
    System.out.println(5/2);
    System.out.println((double)(5/2));
    System.out.println(5.0/2);
    System.out.println((double)5/2);
}
}
//运行结果是:
//2
//2.0(java的小数不会后面保留很多位)
//2.5                    
//2.5
代码语言:javascript
复制
 public static void main(String[] args) {
        int a = 10;
        int b = 0;
        System.out.println(a/b);
        System.out.println("thank");
    }

程序直接报错 (抛出),并且在除0的位置代码直接就结束了

Exception in thread "main" java.lang.ArithmeticException: / by zero at test.main(test.java:5) //算术异常 出现在第五行 所以除数绝对不能是0

注意啦 zhuyila

%表示取余数,或者取模

%既可以对int,也可以对小数进行运算

代码语言:javascript
复制
public class TestDemo1{
public static void main(String[] args){
    System.out.println(10%3);
    System.out.println(-10%3);
    System.out.println(10%-3);
    System.out.println(-10%-3);
    System.out.println(11.5%2.0);
}
}
//运行结果为:
//1
//-1
//1
//-1
//1.5(取模数都输小数)

复合运算符

+= -= *= /= %=

自增运算符

++ --

代码语言:javascript
复制
public class TestDemo1{
public static void main(String[] args){
    int a = 10;
    int b = ++a;//b=11,a=11
    System.out.println(b);
    int c = a++;//c=11,a=12
    System.out.println(c);
}
}
image-20220329182238275
image-20220329182238275

关系运算符

== != < > <= >= 关系运算符的运算结果只会是 true false (boolean类型)

代码语言:javascript
复制
public class TestDemo1{
public static void main(String[] args){
    int a = 10;
    int b = 20;
    System.out.println(a == b);
    System.out.println(a != b);
    System.out.println(a < b);
    System.out.println(a > b);
    System.out.println(a <= b);
    System.out.println(a >= b);
}
}
//false
//true
//true
//false
//true
//false

逻辑运算符

&& || !

逻辑运算符的运算结果也只会是 true false (boolean类型)

逻辑与&&

规则: 两个操作数都为 true, 结果为 true, 否则结果为 false.

逻辑或 ||

规则: 两个操作数都为 false, 结果为 false, 否则结果为 true

逻辑非 !(只能作用于boolean类型的数据上)

规则: 操作数为 true, 结果为 false; 操作数为 false, 结果为 true

&& 与 || 遵守短路求值原则

代码语言:javascript
复制
System.out.println(10 > 20 &amp;&amp; 10 / 0 == 0); // 一旦左边为假,右边就不会被执行了,直接打印 false
System.out.println(10 < 20 || 10 / 0 == 0); // 一旦左边为真,右边就不会被执行了,直接打印 true

&按位与

|按位或

^按位异或

以上3个都是对二进制进行操作的

image-20220329201947019
image-20220329201947019

&:都是1才为1

image-20220329202025931
image-20220329202025931

|:有1就是1

image-20220329202058879
image-20220329202058879

^:异为1,同为0

~:按位取反

image-20220329202332236
image-20220329202332236

移位运算

、>>右移

在不考虑负数的情况下,右移相当于除法(左边补符号位)

左移<<相当于乘法

image-20220329203156575
image-20220329203156575
image-20220329203210143
image-20220329203210143

,>>>无符号右移(不管原本是正数还是负数,直接在左边补0就行了)

三目运算符

a?b:c

其实就是if else的简化版

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 算术运算符
  • 复合运算符
  • 自增运算符
  • 关系运算符
  • 逻辑运算符
  • 移位运算
  • 三目运算符
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档