0
点赞
收藏
分享

微信扫一扫

数据类型扩展及面试题讲解

minute_5 2022-03-24 阅读 66

整型扩展(默认是int)

在我们计算机中存在很多进制问题,十进制,八进制,十六进制等等的问题,他们怎么表示呢?

十进制整数,如:99, -500, 0。
八进制整数,要求以 0 开头,如:015。
十六进制数,要求 0x 或 0X 开头,如:0x15

演示:

int i = 10;//十进制
int i2 = 010; //八进制0
int i3 =0x10; //十六进制0x

浮点型拓展 ( 默认是double)

【金融面试问:银行金融业务用什么类型表示?】

浮点类型flfloat, double的数据不适合在不容许舍入误差的金融计算领域。如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类。

//浮点数拓展
        //BigDecimal 数学工具类
        //float 有限 离散 舍入误差 大约 接近但不等于  银行业务禁止
        //double
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较

        float f = 0.1f; //0.1
        double d = 1.0/10; //0.1

        System.out.println(f==d);//false

        float d1 =23232323f;
        float d2 =d1 + 1;

        System.out.println(d1==d2);//true

字符型拓展

单引号用来表示字符常量。例如‘A’是一个字符,它与“A”是不同的,“A”表示一个字符串。

char 类型用来表示在Unicode编码表中的字符。

Unicode编码被设计用来处理各种语言的所有文字,它占2个字节,可允许有65536个字符;

【科普:2字节=16位 2的16次方=65536,我们用的Excel原来就只有这么多行,并不是无限的】

【代码演示:字符转int看结果】

public static void main(String[] args) {
    char c1 = 'a';
    char c2 = '中';
    System.out.println(c1); 
    System.out.println((int) c1); //97 
    System.out.println(c2); 
    System.out.println((int) c2); //20013 
}
    //所有的字符本质还是数字

Unicode具有从0到65535之间的编码,他们通常用从’u0000’到’uFFFF’之间的十六进制值来表示(前缀为u表示Unicode)

char c3 = '\u0061';
System.out.println(c3); //a

Java 语言中还允许使用转义字符 ‘’ 来将其后的字符转变为其它的含义,有如下常用转义字符:

image-20220310203618384

布尔型拓展

boolean flag = false; 
if(flag){ 
    // true分支 
}else{ 
    // false分支 
}
以要习惯去掉所有的==fasle 和 ==trueLess is More!! 代码要精简易读!
举报

相关推荐

0 条评论