04数据类型

数据类型

强类型语言:安全性高,速度较慢

​ 要求变量的使用要严格符合规定,所有变量都必须先定义之后才能使用

弱类型语言:

​ vb

​ JS

​ python

Java的数据类型分为两大类:

  • 基本类型:

  • 引用类型:

在这里插入图片描述

什么是字节:

位(bit):是计算机内部数据的最小单位,1000 1100 是8位二进制数

字节 (byte):是计算机中数据处理的基本单位, 一般用B来表示。

1B = 8bit

字符:计算机使用的字母、数字、字和符号

1bit = 一位

1Byte表示一个字节1B = 8bit

1024B = 1KB

1024KB = 1MB

1024MB = 1GB

public class Demo03数据类型的拓展 {
    public static void main(String[] args) {


        //整数拓展: 进制 二进制0b  十进制  八进制0  十六进制0x
        int i =10;
        int i2 = 010;  //八进制0
        int i3 = 0x10; //十六进制0x
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);




        System.out.println("=====================================================================");
        //float拓展  有限 离散 存在舍入误差,大约,接近但是不等于   不要用float比较大小
        //BigDecimal  数字工具类
        //浮点数拓展,银行业务怎么表示钱?
        float f = 0.1f; //0.1
        double d = 1.0/10;//0.1
        System.out.println(f==d);//false
        float d1 = 1121313213123123f;
        float d2 = d1+1;
        System.out.println(d1 ==d2);



        //============================================================================
        //字符拓展? 所有的字符本质还是数字
        //编码 Unicode 2字节 65536 表:97 = a   65 = A
        //Excel 2的16次方 = 65536
        //============================================================================
        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); //强制转换
        //U0000~~~UFFFF
        char c3 = '\u0061';
        System.out.println(c3);


        //转义字符  \t 制表符。。。
        System.out.println("Hello\tWorld\nasdasdaasdadsa");
    }
}

类型转换

由于Java是强类型语言 所以运算有时候需要用到类型转换

低---------------------------------------->高

byte,short,char---->int—>long—>float—>double

不同类型的数据,先转换为同一类型,然后运算。

public class Demo05类型转换 {
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i;  //强制转换  高到低
        System.out.println(i);//128
        System.out.println(b);//-128
        //内存溢出:
        double c = i;
        System.out.println(c);//128.0
        System.out.println((int)23.4);//23
        System.out.println((int)-245.4234f);//-245
                

        char d = 'a';
        int e = d +1;
        System.out.println(e);//98
        System.out.println((char)e);//b
        //操作比较大的数,出现溢出问题
        //JDK7新特性数字之间可以用下划线分割
        int money = 1_000_000_000;
        int years = 20;
        int total = money*years;
        System.out.println( total );//计算的时候溢出了  -1474836480

        System.out.println(money*(long)years);// 20000000000
        
    }
}
/*
注意点:
    1.不能对布尔值转换
    2.不能把对象类型转换为不相干的类型
    3.高容量内容转换到低容量的时候,强制类型转换----->可能内存溢出,或者精度问题
 */

// 20000000000

}

}
/*
注意点:
1.不能对布尔值转换
2.不能把对象类型转换为不相干的类型
3.高容量内容转换到低容量的时候,强制类型转换----->可能内存溢出,或者精度问题
*/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值