• 4、运算符


    1、数据类型转化
      自动类型转换:=右边的数据类型可以自动转为等号左边的数据类型
      满足条件:等号右边的数据类型范围<等号左边的数据类型范围

      强制类型转换:
        会造成精度损失
    2、从一个数字分别得到各个位上的数字
      最高位:用int来计算,进行除法,除整个位数(2658/1000=2)
      最高位的下一位:先取余,去掉最高位,进行除法,除整个位数((5658%1000)/100)
      下一位:先取余,去掉最高两位,进行除法,除整个位数((5658%100)/10)
      最后一位:直接用10 取余(5659%10)
        1*注意运算顺序
        1》先计算括号里边的
    3、运算符
      1*算数运算符
      2*赋值运算符
      3*关系运算符(结果是boolean)
        1》判断一个表达式是否成立,结果只有两种:成立/不成立,用boolean接收:true、false
        2》==(双等,判断双等号两边的操作数是否相等),不止是数字,任何东西都可以用双等进行比较
        3》!=(不相等)
          ****可以作用域任何类型
        4》> < >= <=
          ****只能作用域数值类型(整型byte short int long 、浮点型 float double)
      4*逻辑运算符(结果是boolean)
        1》& 与运算(左右两边都为true时,才是true)
        2》| 或运算(左右两边只要有一个为true,结果为true;左右都不成立,结果为false)
        3》!非运算(!右边的表达式成立,结果为false,否则为true)(参与非运算的操作数必须是boolean类型的额)
        4》&& 短路与(同 &,效率更高,左边如果出现结果(左边为false),就不会计算右边)
        5》|| 短路或(同 |,效率更高,左边如果出现结果(左边为true),就不会计算右边)
        逻辑运算符的优先级是一样的,计算顺序是从左到右,但非的优先级比其他的高

    int x = 8,y = 9;
    //    System.out.println((++x==y)&&(++x!=y));
    //    System.out.println(x);
    //结果是true,之后的x=10
    System.out.println((++x!=y)&&(++x==y));
    System.out.println(x);

        5*条件运算符(三元表达式/三目表达式/条件运算符)
          语法:变量 = 条件?表达式1:表达式2;
          如果条件成立,则值为表达式1的值,如果不成立,则值为表达式2的值。
          (注意:表达式1的值和表达式2的值要是统一数据类型)

          例子:输入4位数字,各个位上的数字之和大于20,中奖,否则不中奖
    int sum = qian + bai + shi + ge;
    //    输入4位数字,各个位上的数字之和大于20,中奖,否则不中奖
    System.out.println(sum>20?"中奖":"完犊子");

        6*位运算符(应用比较少,比较底层)
          对表达式以二进制为单位进行运算
          1*十进制和二进制的转换
            十进制转换为二进制:用十进制的数字除2,求出余数,记做第一位,;接着对商继续除2,求出余数,记做第二位。。。。直到商为0
            10 转换成二进制:1010(正着除,反着写)
            二进制转换为十进制:从右边起,改为的数值乘改为的权重(2的该位顺序-1次方;可以认为是该位的序号),依次累加

     
          2*位运算符
            &(按位与):将两个操作数转为2进制,两个额数的位上都是1,则结果才是1
              例:8&9 = 8(右对齐,没有的时候补0)
            |(按位或)
            ^(按位亦或)
            参与运算的表达式是两个数字/数字,则是位运算,否则是逻辑运算

  • 相关阅读:
    [Linux/Apache Http]Apache Http(d)服务访问时报: 403 Forbidden You don't have permission to access /cdh/ on this server.
    [Linux]常用命令之【YUM】
    .Netcore HttpClient源码探究
    echarts使用多图的表达
    记录composer 安装 yii2项目
    IE浏览器js parseInt("08")返回值不是8
    将一个条件从else语句中拆分出来导致的bug
    我的第一次WebService接口开发教程
    Oracle以逗号分隔的字符串拆分为多行数据
    JS 小技巧
  • 原文地址:https://www.cnblogs.com/dhrwawa/p/11181022.html
Copyright © 2020-2023  润新知