学习day05

本文介绍了Java中的基本数据类型及其拓展,包括整数、浮点数、字符和布尔值的表示与转换。讨论了浮点数的精度问题,字符的本质是数字,以及布尔值的处理。还涉及到了类型转换,强调了强制转换可能引发的溢出和精度损失。最后,通过示例展示了在处理大数值时需要注意的溢出问题。
摘要由CSDN通过智能技术生成

拓展

public class Dome01 {
    public static void main(String[] args) {
        //整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x
        int i=10;
        int i2=010;
        int i3=0x10;
        int i4=0x11;
        System.out.println(i);//10
        System.out.println(i2);//8
        System.out.println(i3);//16
        System.out.println(i4);//17
        //浮点数拓展 银行业务怎么表示?钱
        //BigDecimal 数学工具类
        //float 有限 离散 舍入误差 接近但不等于
        //double
        float f=0.1f;
        double d=1.0/10;
        System.out.println(f==d);//false
        System.out.println(f);//0.1
        System.out.println(d);//0.1
        float d1=12313213132131f;
        float d2=d1+1;
        System.out.println(d1==d2);//true
        //字符拓展
        char c1='a';
        char c2='中';
        System.out.println(c1);//a
        System.out.println((int)c1);//强制转换 97
        System.out.println(c2);//中
        System.out.println((int)c2);//20013
        //所有的字符本质都是数字
        //编码 Unicode 表:97=a 2字节 0-65536 Excel
        char c3='\u0061';
        System.out.println(c3);//a
        //转义字符
        // \t 制表符
        // \n 换行
        System.out.println("Hello\tWorld");
        System.out.println("Hello\nWorld");
        //布尔值拓展
        boolean flag=true;
        if(flag==true){}//代码相同 新手
        if(flag){}//老手
    }

}

类型转换

运算中,不同类型的数据先转换为同一类型,然后再进行运算

在这里插入图片描述

public class Demo02 {
    public static void main(String[] args) {
        int i=128;
        byte b=(byte) i;//内存溢出
        //强制转换 (类型)变量名 高--低
        //自动转换   低--高
        System.out.println(i);//128
        System.out.println(b);//-128
        int i1=128;
        double b1=i;
        System.out.println(i1);//128
        System.out.println(b1);//128.0
        /*
        注意点:
        1.不能对布尔值进行转换
        2.不能把对象类型装欢为不相干的类型
        3.把高容量转换到低容量的时候,强制转换
        4.转换的时候可能存在内存溢出,或者精度问题!
         */
        System.out.println((int)23.7);//23
        System.out.println((int)-45.89f);//-45
        char c ='a';
        int d =c+1;
        System.out.println(d);//98
        System.out.println((char) d);//b
    }
}
public class Dome03 {
    public static void main(String[] args) {
        //操作比较大的数的时候,注意溢出问题
        int money = 10_0000_0000;
        System.out.println(money);

        int years =20;
        int total = money*years;//默认int
        System.out.println(total);//-1474836480,计算时溢出

        long tota2 =money*((long)years);
        System.out.println(tota2);//20000000000

    }
}

作业2

package com.stx;
//2. 从键盘输入任意的合法身份证号码,从中提取此人的出生日期。例如:输入身份证号:500111200011098009,输出:你的出生日期是:2000年11月09日。
public class p2 {
    public static void main(String[] args) {
        String str="500111200011098009";
        String birthday=str.substring(6, 14);// substring(start,stop) 对象
        System.out.println(birthday);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值