java中数据类型的等级_Java的数据类型

Java的数据类型

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

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

1.基本类型

整型

byte占1个字节

short占2个字节

int占4个字节

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

浮点型

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

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 空格符

}

}

类型转换

类型转换级别的低高

byte,short,char-->int-->long-->float-->double 从高到低需要强转

int i=12;

byte b= (byte) i;

System.out.println(b);

从低到高可以自动转换,不需要强转

char c='a';

float f=c;

System.out.println(f);

注意点:

不能对布尔类型进行转换

不能把对象类型转成不相干的类型

转换可能遇到内存溢出(长度过长),或者精度(不能精确值)问题

System.out.println((int)123456784322345678765432345678765); //超出了int的最大设置长度

System.out.println((int)39.9);//值为39 不能精确值 精度丢(diu)失

当值过大时,jdk7增加了新特性,可以使用下划线

long number=1244_5794_9694L;

当需要计算的值太大,容易出现溢出问题

int money=1234566546;

int year=20;

long result=(long)money*year; //当不使用强转时,由于溢出问题,会出现任意值,所以可以在计算完结果是给他强转

System.out.println(result);//要么就在计算的时候给他强转long result=money*(long)year;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值