轻松熊喵喵个人笔记 -- Java 基础语法之基本数据结构

基本数据结构

  Java 的基本数据类型有 8 种,包括 6 种数字类型、1 种字符类型和 1 种布尔类型。

基本数据类型总览

  数字类型包括 4 种整数类型和 2 种浮点数类型,4 种整数类型是 byte、short、int 和 long,2 种浮点数类型是 float 和 double。

  字符类型是 char,用于表示单个字符。Java 使用统一码对字符进行编码。

  布尔类型是 boolean,包括 true 和 false 两种取值。

在这里插入图片描述

数字类型直接量

  直接量是在程序中直接出现的常量值。

  将整数类型的直接量赋值给整数类型的变量时,只要直接量没有超出变量的取值范围,即可直接赋值,如果直接量超出了变量的取值范围,则会导致编译错误。

  整数类型的直接量默认是 int 类型,如果直接量超出了 int 类型的取值范围,则必须在其后面加上字母 L 或 l,将直接量显性声明为 long 类型,否则会导致编译错误。

  浮点类型的直接量默认是 double 类型,如果要将直接量表示成 float 类型,则必须在其后面加上字母 F 或 f。将 double 类型的直接量赋值给 float 类型的变量是不允许的,会导致编译错误。

基本数据类型之间的转换

  有时需要把不同类型的值混合运算,因此需要对数据类型进行转换。

数字类型转换

  不同的数字类型对应不同的范围,按照范围从小到大的顺序依次是:byte、short、int、long、float、double。

  将小范围类型的变量转换为大范围类型称为拓宽类型,不需要显性声明类型转换。将大范围类型的变量转换为小范围类型称为缩窄类型,必须显性声明类型转换,否则会导致编译错误。

字符类型与数字类型之间的转换

  字符类型与数字类型之间可以进行转换。

  将数字类型转换成字符类型时,只使用整数的低 16 位(浮点数类型将整数部分转换成字符类型)。

  将字符类型转换成数字类型时,字符的统一码转换成指定的数值类型。如果字符的统一码超出了转换成的数值类型的取值范围,则必须显性声明类型转换。

布尔类型不能与其他基本数据类型进行转换

  布尔类型不能转换成其他基本数据类型,其他基本数据类型也不能转换成布尔类型。


1、以下写法中,会导致编译错误的是?(多选题)
A:byte b = 30;

B:byte b = 500;

C:long l = 2343223;

D:float f = 3.14;

正确答案是 B D:

  B 选项中,500 超出了 byte 类型的取值范围,因此会导致编译错误。D 选项中,3.14 是 double 型直接量,不能赋值给 float 类型的变量。

2、以下写法中,会导致编译错误的是?(单选题)
A:byte b = ‘b’;

B:byte b = (byte)‘b’;

C:short s = ‘\u8000’;

D:short s = (short)’\u8000’;

正确答案是 C:

  将字符类型转换成数字类型时,字符的统一码转换成指定的数值类型,此时需要判断字符的统一码是否超出转换成的数值类型的取值范围。C 选项的字符直接量超出了 short 的取值范围且没有显性声明类型转换,因此会导致编译错误。

3、哪一种基本数据类型不能和其他基本数据类型进行类型转换?(简答)

  答案:布尔类型 boolean 不能转换成其他基本数据类型,其他基本数据类型也不能转换成布尔类型 boolean。

ps:

  数据类型常用的地方为创建方法时,下图中参数类型的位置。
在这里插入图片描述


参考: LeetBook

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值