Java的数据类型

Java的数据类型

数据类型简称数据元( Data Element),也称为数据元素,是用一组属性描述其定义、标识、表示和允许值的数据单元

分为基本类型和引用类型两种

1.基本类型

整型

  1. byte占1个字节

  2. short占2个字节

  3. int占4个字节

  4. long占8个字节 创建这个对象时需要给值后面加个L long number=12345678765432345L;

浮点型

  1. float占4个字节 创建这个对象时需要给值后面加个F float number=12.234F;
  2. double占8个字节

字符

单字符
char name=‘国’ 只能有一个字符
字符串 String不是基本类型 是类 属于引用类型
String name=“中国”
char使用’’ String使用""

boolean类型

只有true和false两个值 占一个位

boolean result=true;

boolean result=false;

2.引用类型

接口
数组

什么是字节

字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符

数据存储是以“字节”(Byte)为单位,数据传输大多是以“位”(bit,又名“比特”)为单位,一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B),是最小一级的信息单位

字节(Byte)=8位(bit)

1KB( Kilobyte,千字节)=1024B

1MB( Megabyte,兆字节)=1024KB

1GB( Gigabyte,吉字节,千兆)=1024MB

1TB( Trillionbyte,万亿字节,太字节)=1024GB

基本类型拓展

public class Demo {
    public static void main(String[] args) {
        //整型拓展: 进制  二进制0b 十进制 八进制0 十六进制0x
        int i=10;
        int i2=010;
        int i3=0x10;
        System.out.println(i);
        System.out.println(i2); //八进制0
        System.out.println(i3); //十六进制0x 0-9 A-F 16

        System.out.println("==============================================================");
        //浮点数拓展: 银行的钱怎么表示
        //BigDecimal 数学工具类
        //float 有限 离散 舍入误差 大约 接近但是不等于
        //double
        //最好完全不要使用浮点数进行比较
        float f=0.1F;
        double d=1.0/10;
        System.out.println(f==d);

        float f1=123456763212345678F;
        float f2=f1+1;
        System.out.println(f1==f2);
        System.out.println("==============================================================");

        //字符拓展
        char c='a';
        char c1='国';
        System.out.println(c);
        System.out.println(c1);
        System.out.println((int)c);
        System.out.println((int)c1);
        //所以字符的本质还是数字
        System.out.println("中\n国");
        //\n 换行
        System.out.println("中\t国");
        //\t 空格符
    }
}

类型转换

类型转换级别的低高

  1. byte,short,char–>int–>long–>float–>double 从高到低需要强转
int i=12;
byte b= (byte) i;
System.out.println(b);
  1. 从低到高可以自动转换,不需要强转
char c='a';
float f=c;
System.out.println(f);

注意点:

  1. 不能对布尔类型进行转换
  2. 不能把对象类型转成不相干的类型
  3. 转换可能遇到内存溢出(长度过长),或者精度(不能精确值)问题
System.out.println((int)123456784322345678765432345678765); //超出了int的最大设置长度
System.out.println((int)39.9);//值为39 不能精确值 精度丢(diu)失
  1. 当值过大时,jdk7增加了新特性,可以使用下划线
long number=1244_5794_9694L;
  1. 当需要计算的值太大,容易出现溢出问题
int money=1234566546;
int year=20;
long result=(long)money*year; //当不使用强转时,由于溢出问题,会出现任意值,所以可以在计算完结果是给他强转
System.out.println(result);		//要么就在计算的时候给他强转long result=money*(long)year;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值