01.Java数据类型面试题

ModelEngine·创作计划征文活动 10w+人浏览 1.3k人参与

进制表示法

二进制(0b开头)  、 八进制(0开头) 、十六进制(0x开头)

public class demo03 {
    public static void main(String[] args) {
        int i = 10;
        int i2 = 010;   //八进制0开头
        int i3 = 0x10;  //十六进制0x    0~9 A-F

        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
    }
}
  • i(十进制)直接输出10
  • i2(八进制010)转换为十进制输出8
  • i3(十六进制0x10)转换为十进制输出16
10
8
16
--------------------------------
 

2.银行业务怎么表示钱?  不能用float和double进行计算,实际场景中可以用BigDecimal    数学工具类,loat、double: 是表示 有限的 离散的 舍入误差  大约    接近但不等于的,所以最好完全避免使用浮点数进行比较。

public class demo03 {
    public static void main(String[] args) {
        float f = 0.1f;     //0.1
        double d = 1.0/10;      //0.1

        System.out.println(f==d);   //返回的是false

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

        System.out.println(d1==d2); //返回的是true
    }
}
3.字符的本质是数字
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);    //强制类型转换

        //转义字符
        // \t制表符
        // \n换行
        System.out.println("Hello\tWorld");
    }
}
A
65
中
20013
Hello	World
4.对象
  • 从内存分析;new String(..) 会强制创建新的 String 对象,使sa 和 sb 指向内存中两个不同的对象(内存地址不同)
  • 字符串字面量赋值(如 String sa = "hello world";),Java 会将字面量放入字符串常量池,相同字面量会指向同一个对象
public class demo03 {
    public static void main(String[] args) { 
        String sa = new String("hello world");
        String sb = new String("hello world");
        System.out.println(sa==sb); //返回 false;

        String sc = "hello world";
        String sd = "hello world";
        System.out.println(sc==sd); //返回true
    }
}
5. 布尔值扩展:俩种表示方式是等价的,都是当flag为true时才执行;
  建议使用第二种,精简易读;
public class demo03 {
    public static void main(String[] args) {
        boolean flag = true;
        if(flag==true){}
        if(flag){}
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值