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

Java里进制转换

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

Java里进制转换

进制转换 整数扩展
  • 代码表示

    public class Demo3 {
        public static void main(String[] args) {
            //整数扩展
            //进制表示是数字0不是字符o
            //进制 十进制 二进制0b 八进制0 十六进制0x
            int s1 = 10;
            int s2 = 0b10;
            int s3 = 010;
            int s4 = 0x10;//十六进制表示:0~9 A~F
            System.out.println(s1);
            System.out.println(s2);
            System.out.println(s3);
            System.out.println(s4);
        }
    }
    
    
浮点数扩展
  • 银行业务事例
public class Demo4 {
    public static void main(String[] args) {
        //浮点数扩展   银行业务
        float s1 = 0.1f;
        double s2 = 1.0/10;
        System.out.println(s1==s2);
        System.out.println(s1);
        System.out.println(s2);
    }
}
结果:
false
0.1
0.1

说明我们不能使用float与double去处理这类问题!!

  • 浮点数不能比较大小,不准确
public class Demo5 {
    public static void main(String[] args) {
        //浮点数比较
        //为什么不准确
        //表示有限 结果离散 舍入误差 大约值 接近但不等于 不能表示除不尽的数(无理数、分数)
        //最好避免使用浮点数进行比较
        float s1 = 123356655444f;
        float s2 = s1 + 1;
        System.out.println(s1==s2);
    }
}
结果为:
  true

  • 解决方法
使用
  BigDecimal   数学工具类
字符扩展
  • 代码表示
public class Demo6 {
    public static void main(String[] args) {
        //字符扩展
        char c1 = '中';
        char c2 = 'a';
        System.out.println(c1);
        System.out.println((int) c1);
        System.out.println(c2);
        System.out.println((int) c2);
    }
}
结果为:
  中
  20013   //Unicode编码,中在Unicode代表的数字
  a
  97		//Unicode编码,a在Unicode代表的数字
  • 所有的字符本质还是数字!!
  • 强制转换的编码方式为Unicode,每一个字符对应Unicode表中的一个数字,Unicode的大小为2个字节,也就是2的16次方,65536
  • Unicode的编码格式为 U0000~UFFFF
char c3 = 'u0061';  //  u为转义字符
System.out.println(c3);
结果为:
  a
  • 早期的Excel表,支持最大的输入位数为2的16次方,65536
  • 转义字符
    • t 制表符
    • n 换行
boolean扩展
  • 扩充,//两者表示相同 flag ==true与flag意思相同
public class Demo8 {
    public static void main(String[] args) {
        boolean flag = true;
        //两者表示相同 flag ==true与flag意思相同
        if (flag==true){}
        if (flag){}//省略了==true
      //代码要精简易读
    }
}

引用赋值与直接赋值
  • 代码展示

    public class Demo7 {
        public static void main(String[] args) {
            String s1 = new String("hello");
            String s2 = new String("hello");
            System.out.println(s1==s2);//比较s1与s2引用地址值
            String s3 = "hello";
            String s4 = "hello";
            System.out.println(s3==s4);
        }
    }
    结果为:
      false
      true
    

s1与s2是引用对象,他们的引用地址不同,s3与s4,直接赋值,字符串一样就是一样为true!!

单词
  • original 原来的

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

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

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