Day03

这篇博客介绍了Java中的基本数据类型,包括整数、浮点数、字符和布尔值,以及它们的内存表示和类型转换。强调了浮点数在表示精确金额时的不准确性,并展示了浮点数比较的问题。还探讨了字符的本质是数字,以及字符与Unicode编码的关系。此外,文章通过示例展示了不同类型间的转换,特别是潜在的精度损失和内存溢出风险。
摘要由CSDN通过智能技术生成

Day03

整数拓展

import com.sun.org.apache.xpath.internal.objects.XString;
​
public class Demo02 {
    public static void main(String[] args) {
        String a="hello";
        int num = 10;
        System.out.println(a);
        System.out.println(num);
        //八大基本数据类型
        int numl = 10;
        byte num2 = 122;
        long num3 = 30L;//long类型在数字后面加L
        short num4 = 13;
        //小数;浮点数
        float num5 = 50.1F;//float类型后面要加F
        double num6 = 3.1415926;
        //字符
        char name = 'd';
        //字符串,string不是关键字,是类
        String namea = "中国";
        //布尔值:是非
        boolean flag = true;
        //boolean flag = folse;
    }
}

浮点数拓展

银行业务怎么表示?钱

BigDecimal 数学工具类

float 有限 离散 舍入误差 大约 接近但不等于

最好完全避免使用浮点数进行比较

字符拓展

所有字符的本质还是数字

a = 97 A = 65

转义字符

\t 制表符

\n 换行

......

拓展

从内存分析

布尔型拓展

类型转换

内存溢出

精度问题

强制转换 (类型)变量名 高---->低

自动转换 低---->高

注意点:

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

public class Demo03 {
    public static void main(String[] args) {
        int i =10;
        int i1 = 010;//八进制
        int i2 = 0x10;//十六进制
        int i3 = 0b10;//二进制
        System.out.println(i);
        System.out.println(i1);
        System.out.println(i2);
        System.out.println(i3);
​
        System.out.println("=================================");
​
        float f = 0.1F;
        double b = 0.1;
        System.out.println(f==b);
        System.out.println(f);
        System.out.println(b);
​
        System.out.println("=================================");
​
        float b1 = 1212121212121212F;
        float b2 = b1+1;
        System.out.println(b1==b2);
​
        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);
​
        System.out.println("=================================");
        int c4 = 128;
        byte b3 = (byte)c4;
        System.out.println(b3);
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值