JAVA_SE 基础知识Review

JAVA_SE 基础知识Review

基本数据类型

/**
 * @author jiang--
 * @date2021/4/1121:09
 * @Des 八大基本数据类型
 */
public class dataTypes {
    public static void main(String[] args) {
        //整数
        byte num1 = 1;
        short num2 = 1;
        int num3 = 1;
        long num4 = 1L;
        //小数  (浮点数)
        float num5 = 1F;
        double num6 = 1.0;
        //字符
        char num7 = '蒋';   //字符串 ,String 是类 不是基本的数据类型
        //布尔值
        boolean flag = true;
        boolean flag2 = false;
        test1();
    }
    static void test1(){
        //整数拓展: 进制  二进制  八进制 0~  十进制  十六进制 0x~
        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);
        System.out.println("===========================");

        //浮点拓展 银行怎么表示钱?
        //BigDecimal 数学工具类
        //float   有限的   离散的  舍入误差的  大约  接近但不等于
        //double
        float f = 0.1f;  //0.1
        double d = 1.0/10;  //0.1
        System.out.println(f==d); //false
        System.out.println(f);  //0.1
        System.out.println(d);   //0.1

        float d1 = 12423423423546f;
        float d2 = d1 + 1;
        System.out.println(d1==d2);

        System.out.println("===========================");
        //字符拓展
        char c1 = '中';
        System.out.println(c1);
        System.out.println((int)c1);//强制转换
        //所有字符本质还是数字
        //编码  Unicode  2字节  0-65535  65536个数    Excel的最大长度2的16次方
        //U0000 UFFFF
        char c2 = '\u0061';
        System.out.println(c2);//a
        System.out.println("===========================");
        //转义符
        //\t 制表符  \n 换行符  \t空格
        System.out.println("Hello\tWorld!");

        //布尔值扩展
        boolean flag = true;
        if(flag == true){}  //新手
        if(flag){} //老手
        //代码要精简易读 Less is More!
    }
}

数据类型之间的转换

/**
 * @author jiang--
 * @date2021/4/1121:48
 * @Des 类型转换
 */
public class dataTypeToType {

    //低---------------------------高
    //byte > short > char > int >long > float >double
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i;//强制转换  从高到低  导致内存溢出
        //自动转换  从低到高
        System.out.println(i);//128
        System.out.println(b);//-128

        /**
        * 注意点:
         * 1. 不能对布尔值进行转换
         * 2. 不能把对象类型转换程不相干的类型
         * 3。 在把高容量的转换到低容量的可能会导致内存溢出  (强制转化)
         * 4. 转换的时候可能存在内存溢出 或者精度的问题
        * */

        System.out.println("=============================================");
        System.out.println((int)234.343);
        System.out.println((int)-234.343f);

        System.out.println("=============================================");
        char c = 'a';
        int d = c+1;
        System.out.println(d);
        System.out.println((char)d);

        System.out.println("=============================================");
        int money = 10_0000_0000;
        int year = 20;
        int total = money * year;//-1474836480 计算溢出了
        long total2 =  money * year;//-1474836480 默认是int  转换之前就已经存在问题了
        long total3 = (long)money * year;
        System.out.println(total);
        System.out.println(total2);
        System.out.println(total3);
    }
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值