数据类型拓展以及面试会遇到的事项

说一下数据类型的一些特性吧,
类型默认值
下表列出了 Java 各个类型的默认值:

数据类型 默认值
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char ‘u0000’
String (or any object) null
boolean false


Java语言支持一些特殊的转义字符序列。

符号 字符含义
\n 换行 (0x0a)
\r 回车 (0x0d)
\f 换页符(0x0c)
\b 退格 (0x08)
\0 空字符 (0x0)
\s 空格 (0x20)
\t 制表符
" 双引号
’ 单引号
\ 反斜杠
\ddd 八进制字符 (ddd)
\uxxxx 16进制Unicode字符 (xxxx)


/**
 * @Author: 阿波罗
 * @Date: 2021/11/20 10:58
 * @oath: 不分白天黑夜的征途 淦!
 * @Version: 1.0.0
 */
public class Demo03 {
    public static void main(String[] args) {
        //整数拓展 :   进制     二进制 0101001     八进制0  以零开头      十进制7 8 9 10     十六进制0x

        int i = 10;
        int i1 = 010;//八进制0
        int i2 = 0x10; //十六进制   0~9 A~F

        System.out.println(i);
        System.out.println(i1);
        System.out.println(i2);
        System.out.println("================================================");
        //===================================================================================
        //浮点数拓展? 银行业务怎么表示 钱(货币)
        //BigDecimal   数学工具类
        //最好完全使用浮点数进行比较
        //float
        //double
        //===================================================================================

        //有限  舍入误差  大约  接近但不等于
        float f = 0.1f;
        double f1 = 1.0 / 10;
        System.out.println(f == f1);//false? 不相等
        System.out.println(f);
        System.out.println(f1);
        float a1 = 2231232344f;
        float a2 = a1 + 1;
        System.out.println(a2 == a1);//为true?  float 的一些特性 => 有限  舍入误差  大约  接近但不等于
        //===================================================================================
        System.out.println("================================================");
        //字符拓展
        char c1 = 'a';
        char c2 = '中';
        System.out.println(c1);
        System.out.println((int) c1); //强制转换为数字类型  证明文字本身就是数字组成是
        System.out.println(c2);
        System.out.println((int) c2);//强制转换为数字类型  证明文字本身就是数字组成是

        //所有字符本质是数字  Unicode (编码表)
        char c3 = '\u0062';
        System.out.println(c3);  //输出b  对应Unicode表编码
        System.out.println("================================================");
        //转义字符
        // \t制表符
        // \n换行符
        System.out.println("hello\tword");
        System.out.println("hello\nword");
        System.out.println("================================================");

        //地址不同    new   和  不new  的区别 ======>  new 是在内存中   不new是在常量池中 ,因此它们并不相等 就是因为地址不相等
        String sa = new String("hello");
        String sb = new String("hello");
        System.out.println(sa == sb);
        //对象内存分析
        String sc = "hello";
        String sd = "hello";
        System.out.println(sc == sd);
        System.out.println("================================================");

        //布尔值拓展
        boolean flag = true;
        //if(flag){}与if(flag==true)是一样的结果 只不过是简写了而已
        if (flag) {
            System.out.println("老手程序员");
        }
        if (flag == true) {
            System.out.println("新手程序员");
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值