码迷,mamicode.com
首页 > 编程语言 > 详细

廖雪峰Java-Java程序基础-运算规则

时间:2019-01-09 00:27:38      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:分享   保留   表示   自动   long   强制   技术   基于   str   

基于四则运算规则
除法结果为整数
除数为0时运行将报错
++运算和--运算
简写的+=和-=
取余运算符%
技术分享图片


public class Hello {

    public static void main(String[] args) {
        //整数元算的结果仍然是整数
        int i = 99 / 9;
        System.out.println(i);
        int n = 100 / 9;
        System.out.println(n);
//      int z = 100 / 0;
//      System.out.println(z);
        //左移右移
        int n1 = 5;
        int n2 = n1 << 10;//左移10位,在后面加10个0
        int n3 = n2 >> 11;//右移11位,去掉11个0
        int n4 = n1 << 29;//最高位是符号,1表示符号,0表示整数
        int n5 = n4 >> 29;//保留符号位右移
        int n6 = n4 >>> 29;//无条件右移
        System.out.println(n1);
        System.out.println(n2);
        System.out.println(n3);
        System.out.println(n4);
        System.out.println(n5);
        System.out.println(n6);
        /* 位运算 与运算& 2个都为1,结果为1  
         *  1 & 1 = 1,  1 & 0 = 0, 0 & 1 = 0,0 & 0 = 0
         *  或运算| 有1个为1,结果为1
         *  1 | 1 = 1,  1 | 0 = 0, 0 | 1 = 0,0 | 0 = 0
         * 亦或运算^不相同结果为1
         *  1 ^ 1 = 0,  1 ^ 0 = 1, 0 ^ 1 = 1,0 | 0 = 0
         * 非运算~
         *  ~ 1 = 0,    ~ 0 = 1
         */
        System.out.println(5 & 6);
        
    }

}

类型自动提升与强制转型

  • 在运算过程中,计算结果为较大类型的整型
  • 可以将结果强制转型:(类型)变量或数值
  • 强制转型可能丢失精度

总结:

  • 整数运算结果永远精确
  • 运算结果会自动提升
  • 可以强制转型,但可能丢失精度
  • 选择合适范围的整型(int, long)

廖雪峰Java-Java程序基础-运算规则

标签:分享   保留   表示   自动   long   强制   技术   基于   str   

原文地址:https://www.cnblogs.com/csj2018/p/10242045.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!