Java基础篇_1.2——保留关键字、基本数据类型、基本数据类型之间的转换

目录

一、保留关键字

二、Java的基本数据类型

三、引用数据类型

 四、基本数据类型间的转换

 隐含强制类型转换

数值之间的合法转换


一、保留关键字

Java该语言是用 Unicode 字符集编写的。

Java关键字是预先定义的具有特别意义的标识符,也被称为Java保留字,Java关键字不能用作变量名、方法名、类名、包名、参数。Java中定义了51个关键字,如下列所述:

abstract                      continue                       for                          new                    switch 

assert                         default                          if                            package              synchronized

boolean                      do                                 goto                      private                this                

break                          double                          implements            protected           throw

byte                            else                               import                    public                throws 

case                           enum                             instanceof              return                transient

catch                          extends                         int                           short                 try

char                            final                               interface                static                void

class                           finally                            long                        strictfp              volatile

const                          float                              native                     super                while        

_ (underscore)

注意:

  1. constgoto是Java的保留字,但是目前未被使用,也不能作为标识符

  2. truefalse是Java的布尔字面量,表示真和假,虽然不是关键字,但也不能用作标识符、变量名

  3. null是Java的空字面量,表示一个空引用,虽然不是关键字,但也不能作为标识符和变量名

  4. 所有的Java关键字都是小写的。

二、Java的基本数据类型

基本数据类型一共有八种,如下图所示:

基本数据类型的取值范围:

类型大小取值范围默认值实例
boolean1字节,8位true、falsefalsetrue
byte1字节,8位-128 — +1270-100
short2字节,16位-32768 — +327670100
int4字节,32位-2^31 — 2^31-10150
long8字节。64位-2^63— +2^63-10L10000
char2字节,16位0—65535'u0000''a'
float4字节,32位-3.4E38 — 3.4E380.0f3.14f
double8字节,64位-1.7E308 — 1.7E3080.0d2.4e3d

三、引用数据类型

  • 引用数据类型包括类、接口、数组、枚举。字符串属于类,也属于引用数据类型。
  • 在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。所有引用类型的默认值都是null
  • 一个引用变量可以用来引用任何与之兼容的类型。
  • 例子:
  • Site site = new Site("Runoob");

 四、基本数据类型间的转换

**整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。**

转换从低级到高级

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

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

数据类型转换必须满足如下规则:

  • - 不能对boolean类型进行类型转换。
  • - 不能把对象类型转换成不相关类的对象。
  • - 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
  • - 转换过程中可能导致溢出或损失精度,例如:
  int i =128;   
  byte b = (byte)i;

  因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。

  • 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:
  (int)23.7 == 23;        
  (int)-45.89f == -45

 隐含强制类型转换

  1. 整数的默认类型是 int
  2. 小数默认是 double 类型浮点型,在定义 float 类型时必须在数字后面跟上 F 或者 f。

数值之间的合法转换

有 6 个实心箭头,表示无信息丢失的转换;有 3 个虚箭头, 表示可能有精度 损失的转换。

int n = 123456789; 
float f = n;     // f is 1.23456792E8 

 当使用上面两个数值进行二元操作时(例如 n + f,n 是整数, f 是浮点数,) 先要将两个操作数转换为同一种类型,然后再进行计算。

  • 如果两个操作数中有一个是 double 类型, 另一个操作数就会转换为 double 类型。
  • 否则,如果其中一个操作数是 float 类型,另一个操作数将会转换为 float 类型。
  • 否则, 如果其中一个操作数是 long 类型, 另一个操作数将会转换为 long 类型。
  • 否则, 两个操作数都将被转换为 int 类型。

原语类型上的特定转换称为扩展原语转换:【下列所列出的和上图所示的意思一样】

在以下情况下,扩展的原始转换不会丢失关于数值的总体大小的信息,其中数值被完全保留【取自Java®语言规范Java SE 17版】:

  • from an integral type to another integral type
  • from byte, short, or char to a floating-point type
  • from int to double
  • from float to double

以下的类型扩大原始转换可能会导致精度的损失,也就是说,结果可能会失去值的一些最不重要的位。在这种情况下,生成的浮动点值将是整数值的正确四舍五入版本,并使用四舍五入到最接近的四舍五入策略 

from int to float ,
or from long to float ,
or from long to double

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-今非昔比°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值