Java_SE_运算

运算

运算符

Java语言支持如下运算符

  • 算数运算符:+,-,*,/,%,++,–
  • 赋值运算符:=
  • 关系运算符:>,<,>= ,<= ,==, != ,instanceof
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~,>>,<<,==,>>>(了解)
  • 条件运算符:?
  • 拓展赋值运算符:+=,-=,*=,/=
代码实例
public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        //快捷键  Ctrl + D  复制当前行
        int a = 10;
        int b = 20;
        int c = 30;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);

    }
}
数组类型转换
  • 数组类型转换时,由低类型转换为高 类型
  • 以运算中最大的数据类型为最终数据类型
public class Demo02 {
    public static void main(String[] args) {
        int a = 10;
        float b = 123456F;
        short c = 789;
        byte d = 2;

        System.out.println(a + b + c + d);
        System.out.println(a - d);
        System.out.println(a + d);
        System.out.println(a + (int) d - (int) c);   //cast:转换
    }
}
布尔值类型
  • 关系运算符的返回结果 只有正确和错误 用布尔值来表示
public class Demo03 {
    public static void main(String[] args) {
        //关系运算符的返回结果 只有正确和错误  用布尔值来表示
        //关系运算符一般和if关键字一起使用
        int a=10;
        int b=20;
        int c=21;

        //取余、模运算
        System.out.println(c%a); //c/a  21/10=2…………1  余数为1  %==>取余数
        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);
    }
}
自增自减运算符
  • ++ – 自增、自减运算符 一元运算符
public class Demo04 {
    public static void main(String[] args) {
        // ++  --  自增、自减运算符   一元运算符
        int a = 3;

        int b = a++;  //a = a + 1  执行完这行代码后,先给b赋值,然后自增
        System.out.println(a);
        int c = ++a;  //a = a + 1  执行这行代码前,先自增,然后给b赋值

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(a+++c);
    }
}
特殊运算:幂运算
  • 幂运算使用工具类进行运算和操作
//幂运算,使用工具类来做 2^3  2*2*2=8
        double pow = Math.pow(2, 10);
        System.out.println(pow);
逻辑运算符
  • 与(and) 或(or) 非(取反)
  • 短路运算
//逻辑运算符
public class Demo05 {
    public static void main(String[] args) {
        //与(and)  或(or)  非(取反)
        boolean a=true;
        boolean b=false;
        System.out.println("a&&b:"+(a&&b)); //逻辑与运算:两个变量都为真则为真
        System.out.println("a||b:"+(a||b));  //逻辑或运算:一个为ture则结果为ture
        System.out.println("!(a&&b):"+!(a&&b));//逻辑非运算:如果是假则为真,如果是真则为假

        //短路运算
        int c=5;
        boolean d=(c<4)&&(c++<10);  //&& 运算中出现false 则不执行下一句
        System.out.println(d);
        System.out.println(c);
    }
}
位运算符
  • 对内存的运算
//位运算是二进制运算
public class Demo06 {
    public static void main(String[] args) {
        /**
         A=0011 1100
         B=0000 1101
         ------------------------------
         A&B  0000 1101
         A|B  0011 1101
         A^B  0011 0001
         ~B  1111 0010  取反
         -----------------------------
         <<    左移   *2
         >>    右移   /2
         2 * 8 = 16    2 * 2 * 2 * 2
         0000 0000 0
         0000 0001 1
         0000 0010 2
         0000 0011 3
         0000 0100 4
         0000 1000 8
         0001 0000 16
         * */
        System.out.println(2<<3);
    }
}
拓展运算符
  • 示例代码
public class Demo07 {
    public static void main(String[] args) {
        int a=10;
        int b=20;
        //拓展运算符
        a+=b;  //a = a + b
        a-=b; //a + a - b;
        System.out.println(a);
        //=============================================
        //字符串连接符  +  一方出现String类型,则按String类型进行连接
        System.out.println(a+b);
        System.out.println(""+a+b);
        System.out.println(a+b+"");
    }
}
三元运算符
  • 如果 x=true则执行y 否则执行z
public class Demo08 {
    public static void main(String[] args) {
        //三元运算符
        // x ? y : z
        //如果 x=true 则执行y 否则执行z
        int socre=60;
        String type = socre<60?"及格":"不及格"; //必须掌握的一种写法
        //if
        System.out.println(type);
        //优先级:一元运算符————>算数运算符……………………括号()优先级
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

武当山网管

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值