栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Java入门】运算符

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Java入门】运算符

一、简单的四则运算

简单的+ - * / %

对于%,要注意浮点型也是可以的

public static void main(String[] args) {
        System.out.println(10%3);//1
        System.out.println(-10%3);//-1
        System.out.println(10%-3);//1
        System.out.println(-10%-3);//-1
        System.out.println(5.5%2);//1.5
    }

二、增量运算符

1.++前置:是变量先自增后取值

2.++后置:是变先取值后自增

public static void main(String[] args) {
        int a=0;
        int b=a++;//++后置此处b先取值a为0后变量a自增变为1
        int c=++a;//++前置此处a已经为1,然后++前置是先自增a自增变为2然后再赋值给c

    }

三、逻辑运算符

1.&&逻辑与

public static void main(String[] args) {
        int a=0;
        int b=1;
        System.out.println((a>b)&&(a==0));//输出false
        System.out.println(true&&true);//同为真才输出true
        System.out.println(true&&false);//只要有一个假就输出false
        System.out.println(false&&true);
        System.out.println(false&&false);//同假输出false
    }

 

 表达式1&&表达式2,要注意此处表达式1与2 都为布尔类型的表达式,如果表达式1 为false则表达式2不会执行

2.||逻辑或

public static void main(String[] args) {
        int a=0;
        int b=1;
        System.out.println((a>b)||(a==0));//输出true
        System.out.println(true||true);//有真就输出true
        System.out.println(true||false);//只要有一个真就输出true
        System.out.println(false||true);//有真就输出true
        System.out.println(false||false);//同假才输出false
    }

 3.!逻辑非

!表达式,该表达式也是布尔类型的表达式,如果表达式为真则!表达式就为假反之同理

public static void main(String[] args) {
        int a=0;
        int b=1;
        System.out.println(!true);//输出false
        System.out.println(!false);//输出true
    }

表达式1||表达式2,要注意同上,表达式1与2都是布尔类型的表达式,如果表达式1为true则表达式2不会执行 

五、位运算符

1.&按位与:两个数的二进制序列对应位有0取0,同1取1

public static void main(String[] args) {//对应位:
        int a=3;                //二进制:00000000000000000000000000000011
        int b=5;                //二进制:00000000000000000000000000000101
        System.out.println(a&b);//按位与:00000000000000000000000000000001  是1
    }

2.|按位或:两个数的 二进制序列对应位有1取1,同0取0

public static void main(String[] args) {//对应位
        int a=3;                //二进制:00000000000000000000000000000011
        int b=5;                //二进制:00000000000000000000000000000101
        System.out.println(a|b);//按位或:00000000000000000000000000000111  是7
    }

 3.~按位取反:对于一个数的二进制序列的每一位按位取反

public static void main(String[] args) {
        int i=-1;              //二进制:10000000000000000000000000000001由于负数在内存中是以补码的形式存储,运算时使用补码,而补码=原码取反+1
                               //补码 :11111111111111111111111111111111
        System.out.println(~i);//取反后:0000000000000000000000000000000   所以输出0
    }

 4.^按位异或:两个数的二进制序列对应的每一位,相同取0,不同取1

public static void main(String[] args) {//对应位:
        int a=3;                //二进制 :00000000000000000000000000000011
        int b=5;                //二进制 :00000000000000000000000000000101
        System.out.println(a^b);//按位异或:00000000000000000000000000000110  是6
    }

六、移位运算符

1.左移<<:二进制序列左边丢弃右边补0,左移的效果相当于×2^n

public static void main(String[] args) {//对应位:
        int a=3;             //二进制 :00000000000000000000000000000011
        int b=a<<1;
        System.out.println(b);//左移后:00000000000000000000000000000110  是6
    }

 2.右移>>:二进制序列左边补符号,右边丢弃,效果相当于/2^n

public static void main(String[] args) {//对应位:
        int a=6;             //二进制 :00000000000000000000000000000110
        int b=a>>1;
        System.out.println(b);//右移后:00000000000000000000000000000011  是3
    }

 3.无符号右移>>>:二进制序列左边补0,右边丢弃

七、条件运算符

a=表达式1?表达式2:表达式3;该表达式1为布尔类型表达式,表达式2,3必须同类型

如果表达式1为真就赋值为表达式2否则3

 public static void main(String[] args) {
        int b=true?1:2;
        System.out.println(b);
    }

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/850349.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号