ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java数据类型扩展

2022-07-16 21:33:39  阅读:168  来源: 互联网

标签:f1 Java int 数据类型 扩展 System println public out


数据类型扩展

整数


如何表示二进制,八进制,十六进制

二进制 0b 十进制 八进制 0 十六进制:0x

public class Demo01 {
    public static void main(String[] args) {
        int i1=10;
        int i2=010;//八进制
        int i3=0x10;//十六进制 0~9 A~F
        System.out.println(i1);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("************************************");

    }
}

运行结果:

浮点数


银行业务怎么表示?

如果用浮点数来表示,会出现以下问题:

public class Demo02 {
    public static void main(String[] args) {
        float f=0.1f;//0.1
        double d=1.0/10;//0.1
        System.out.println(f);
        System.out.println(d);
        System.out.println(f==d);
        System.out.println("************************************");
        float f1=23333333333333333f;
        double d1=f1+1;
        System.out.println(f1);
        System.out.println(d1);
        System.out.println(f1==d1);
        System.out.println("************************************");
    }
}

运行结果:

由运行结果可以明显看出,f和d在逻辑上都等于0.1,但是(fd)的结果是false;d1=f1+1,但是(f1d1)的结果是true。这是因为float的精度是有限的,所有表示出来的点是离散的,在与double比较时和舍入误差,与最后的结果的关系时接近但不等于。所以最好完全使用浮点数进行比较。

现在,在银行表示钱时,一般使用数学工具类:BigDecimal

字符


由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。

由低到高的顺序为:

byte,short,char,int,long,float,double

运算中,不同类型的数据先转化为同一类型,然后进行运算。

public class Demo03 {
    public static void main(String[] args) {
        char c1='a';
        char c2='中';
        System.out.println(c1);
        System.out.println((int)c1);//强制转换
        System.out.println(c2);
        System.out.println((int)c2);//强制转换
        System.out.println("************************************");
        char c3='\u0061';
        System.out.println(c3);
    }
}

运行结果:

注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题

标签:f1,Java,int,数据类型,扩展,System,println,public,out
来源: https://www.cnblogs.com/bai-kou/p/16485333.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有