java学习基础02:数据类型与面试题

数据类型

java是强类型语言

  1. 所有变量都要严格符合规定

  2. 所有变量都要先定义后使用

  3. 相对安全性高同时速度慢

 

java数据类型分为基本类型和引用类型

基本类型

 

 

数据类型拓展与面试题

整数拓展

我们知道常用的进制有:

  1. 十进制

  2. 二进制0b开头

  3. 八进制(定义时为0开头)

  4. 十六进制(定义时候为0x开头)

public class jinzhi {
    public static void main(String[] args) {
        //整数拓展: 进制   二进制0b开头   十进制  八进制0开头  十六进制0x开头
        int i1 =10;
        int i2 =0b10;
        int i3 =0x10;
        int i4 =010;
        System.out.println(i1);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println(i4);
        System.out.println("===================================================");
    }
}

运行结果为:

 

浮点数拓展

首先为了大家更好的理解我们要引入一个问题,银行存储钱的变量用什么数据类型?

float?

还是double?

我们先写一个程序

 float a1 =0.1f;
        double a2 =1.0/10;
        System.out.println(a1==a2);

按常理来说 输出的结果应该是true因为在我们看来0.1和0.1没有什么不同

 

再看另外一个更奇怪的现象

 float b1=2245255655655454554f;
        float b2=b1+1;
        System.out.println(b1==b2);

这个程序的输出结果是true。

我们很好奇到底是为什么呢?

现在我们引入float的特点:

  1. 离散

  2. 有限

  3. 有舍入误差

  4. 大约

  5. 接近但不等于

所以我们一定要避免使用float类型的数据进行比较

书接上文银行业务怎么表示?

我们有一个数学公式类

叫做Bigdecimal

 

字符拓展

话不多说咱们先上代码

    char c1 = '中';
        char c2 ='a';
        System.out.println(c1);
        System.out.println(c2);
        System.out.println((int)c2);
        System.out.println((int)c1);
输出结果:
中
a
97
20013

是不是出现了很奇怪的现象就是为啥'中'和a都成了数字

因为本质上面他们都是使用的unicode编码

都是一个有2的十六次方规则的密码本

他的范围是U0000~uffff

转义字符

这个就是有些字符有着别的意思

比如

18.Java转义字符 - 知乎 (zhihu.com)

       System.out.println("hello\nworld");//换行
        System.out.println("hello\tworld");//制表符
结果:
hello
world
hello   world

最后我们再引入一段代码

 String n1 =new String("a");
        String n2 =new String("a");
        String n3 ="a";
        System.out.println(n1==n3);
结果
    false

这个问题我们留一个悬念,他们不同我们之后学了关于内存的知识再做解释

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值