2020-09-08

Java的基本数据类型介绍和简单的类型转换

Java属于强类型语言,而强类型数据语言指的是:

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

一、数值类型

1.整数类型

  • byte占1个字节范围:-128~127
  • short占2个字节范围:-32768~32767
  • int占4个直接范围:-2147483648~214783647
  • long占8个字节范围:-9223372036854775808~9223372036854775807

2.浮点数类型

  • float占4个字节
  • double占8个字节

3.字符类型

  • char占2个字节

二、类型转换

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

而在转换的过程中有优先级的区别,由低到高为:

低···········································>byte,short,char-> int-> long-> float-> double

类型转换分为两种:

  • 强制转换:由高到低,需要强制转换
  • 自动转换:由低到高,不用强制转换

1、强制转换

int转换byte

在这里插入图片描述

看上图,如果没有加强制转换就会报错。下面加上强制转换

强制转换写法:

(需要转换后的类型) 需转换的类型

示例:intbyte

int i =128;
byte f = (byte)i;

加上强制转换后

在这里插入图片描述

运行结果:

在这里插入图片描述

我们可以看到代码没有报错,并顺利运行。

结果为:

i = 128

f = -128

为什么f会等于-128呢?看代码f=128才对呀?

这是因为byte占1字节取值范围是-128~127,所以令f=128时内存溢出了。以后类型转换是尽量避免内存溢出。

2、自动转换

intdouble

代码:
在这里插入图片描述

运行结果:
在这里插入图片描述

由上可以看到低容量到高容量时不需要使用强制转换。

3、精度问题

浮点数转整数型时,得到的结果会是向下取整。

如:

代码:

在这里插入图片描述

结果:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值