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

Java|三、进制转换函数 运算符

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

Java|三、进制转换函数 运算符

目录

1.1 进制

1.1.1 进制转换函数

 1.2 运算符

1.2.1 算术运算符​

1.2.2 比较运算符 

1.2.3 逻辑运算符​

1.2.4 位运算符(不常用)

1.2.5 三元运算符

1.2.6 运算符优先级 


1.1 进制
  • 二进制:0B或0b开头
  • 八进制:0开头
  • 十六进制:0x或0X开头;0-9及A-F,字母不区分大小写

1.1.1 进制转换函数

api文档中搜索Integer,在Integer类中可以找到进制转换函数。

 例如:

int a = 072;
String str = Integer.toString(a);  //转换为十进制以字符串形式输出
System.out.println(str);  //输出:58

 1.2 运算符

1.2.1 算术运算符
  •  取模运算的正负号情况
    int a = -12;
    int b = 5;
    System.out.println(a%b);  //-2
    int c = 12;
    int d = -5;
    System.out.println(c%d);   //2

    结果的符号与被模数(前者)的符号相同

  • 关于自增/自减

    short a = 10;
    //如果想让a自增一
    a = a + 1;  //因为自动类型转换而编译失败
    a = (short)(a + 1);  //编译通过
    a++;  //编译通过

    自增/自减不会改变变量本身的类型,且效率更高

  • 赋值运算符
    • 支持连续赋值
      int a,b;
      a = b = 7;
    • 扩展:+=、-=、*=、/=、%= (同样也不会改变变量本身的数据类型)
      short a = 7;
      a += 1;
      System.out.println(a);  //8
      a *= 0.3;
      System.out.println(a);  //2

1.2.2 比较运算符 

运算结果都是布尔型

1.2.3 逻辑运算符
  •  区分& 和 &&
    //在逻辑判断中使用&
    int num = 7;
    boolean flag = false;
    		
    if(flag & (num++ > 0)) {
    	System.out.println("YES!");
    }else {
    	System.out.println("NO!");  //NO!
    }
    System.out.println(num);  //8
    
    //在逻辑判断中使用&&
    num = 7;		
    if(flag && (num++ > 0)) {
    	System.out.println("YES!");
    }else {
    	System.out.println("NO!");  //NO!
    }
    System.out.println(num);  //7

    使用&时若前面的条件为false,仍会进行后面的条件判断,但若使用&&时前面false,则不会进行后面的判断,故称为短路与。|与||类似。

1.2.4 位运算符(不常用)

位运算是直接对整数的二进制进行的运算

  •  面试题:最高效的方式计算2 * 8?  
    • 2 << 3 或 8 << 1  时间复杂度均为O(1),常数级

1.2.5 三元运算符
  • 格式                       
  • 三元运算符与if-else的联系与区别
    • 三元运算符可以简化if-else语句
    • 三元运算符必须返回一个结果
    • if后的代码块可以有多个语句
    • 如果程序既可以使用三元,又可以使用if-else,优先使用三元,简洁且效率高
  • 练习:获取三个数中的较大数
    int num1 = 5,num2 = 7,num3 = 9;
    int max = 0;    //注意一定要对变量初始化,不然编译错误
    max = (num1 > num2)? num1 : num2;
    max = (max > num3)? max : num3;
    System.out.println("The max num is:" + max);  //9
  •  三元运算符可以嵌套使用
    int num1 = 7,num2 = 7;
    String str = (num1 > num2)? "num1大" : (num1 == num2)? "两数相等": "num1小";
    System.out.println(str);  //两数相等

1.2.6 运算符优先级 
  • 在使用中建议使用小括号标注优先级
  • 只有单目、三元、赋值运算符是从右往左运算的

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

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

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