0


【JavaSE系列】 第二话 ——数据类型与变量

一、数据类型

1.思维导图

【说明】

**基本数据类型:这种类型 定义的变量 里面存的是数值。 **

引用数据类型:这种类型 定义的变量 里面存的是地址。

2.数据类型

【说明】不论是在16位系统还是32位系统,int都占用4个字节,long都占8个字节【这说明JAVA的可移植性强】


二、变量

1.思维导图

【说明】

局部变量:是 方法内部的变量。

成员变量:这个是在 类与对象的部分 才介绍到,现在在这里先不做具体介绍。

2.JAVA稍微区别于C语言中的语法规定

2.1 基本数据类型

2.1.1 整型变量

  1. JAVA中局部变量一定要初始化,才能编译通过。
  2. 在定义变量的时候,一定要使用之前初始化;如果在使用之后才初始化,也会编译不通过。
  3. 注意各类型的取值范围,以int为例,其他的也是差不多。
  4. 可以用 包装类 来打印出各变量所能打印的范围。
  5. 一般定义长整型 long 的时候,在右值上需要加一个L,以表示当前的值是一个长整型的值;如果不加的话,会默认int类型的数据。
  6. 升级版也可以用基础版的功能。
  7. JAVA相当于C语言引入了一个新的数据类型 byte(只占1个字节,8个比特位,取值范围是 -2^7 ~ (2^7)-1,即-128~127)。
  8. JAVA非常安全,和C不一样,它会自动检测 赋值的字面值常量是否在 所规定的类型的范围里面的。超过范围以后,他就会报错了。当然,强制类型转换可以。

2.1.2 浮点型变量

  1. 在定义浮点型的时候,右值会默认是 double 类型的数据,我们需要在右值加上 f 使其变成float 类型的数据。
  2. 在C语言、JAVA里面,对于小数来说,整个程序都没有一个精确的数字。

2.1.3 字符型变量

特别注意的是,JAVA里面的字符类型char 是2个字节。

【注意】由于char是一个字符型数据,每一个字符都会对应一个整数数字,如‘a’对应97,所以对应的数字一定是一个整数而不是负数。

【说明】

  1. 计算机中的字符本质上是一个整数。 在 C 语言中使用 ASCII 表示字符,而 Java 中使用 Unicode 表示字符。 因此一个字符占用两个字节, 表示的字符种类更多, 包括中文。
  2. ** char的包装类型为Character。**

2.1.4 布尔类型

  1. 在JAVA中,boolean只能有两个取值(true和false),没有所谓的 0是假,非0是真。
  2. 在JAVA中,if的条件必须是一个布尔表达式(是一个表达式)。

**【注意】JVM当中,boolean没有明确给定大小,但说起boolean数组,会被JVM识别为字节数组,其包装类型是Boolean。 **


三、类型转换

   在Java中,当**参与运算数据类型不一致**时,就会进行类型转换。Java中类型转换主要分为两类:**自动类型转换****(隐式****)** 和 **强制类型转换(****显式)。**

3.1 自动类型转换(隐式)

内容:代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。

特点:数据范围小的 转为数据范围大的 时候会自动进行。如果是范围大的 转为范围小的,编译会出现问题(如果这时候想要编译通过,那就得需要 强制类型转换)。


3.2 强制类型转换(显示)

强制类型转换:当进行操作时,代码需要经过一定的格式处理,不能自动完成。

**特点:数据范围大的到数据范围小的。 **

【注意】

  1. 不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型 ;
  2. 如果需要把范围大的类型赋值给范围小的, 需要强制类型转换, 但是可能精度丢失 ;
  3. 将一个字面值常量进行赋值的时候, Java 会自动针对数字范围进行检查;
  4. 强制类型转换不一定能成功,不相干的类型不能互相转换。

3.3 类型提升

**内容:不同类型的数据之间相互运算时,数据类型小的会被提升到数据类型大的。 **

1.int与long之间:int会被提升为long

**2.byte与byte的运算 **

【结论】所有小于4个字节的元素(byte、short),运算的时候,都会提升为4个字节(int类型),然后才会进行运算 。


四、字符串类型

在C语言中是没有字符串类型的,而在JAVA中是存在的。

现在只是说一下简单的应用,以后会有更加详细的介绍。

1.拼接

2.int 转成 String

** 3.String 转成 int **


总结

这一话的需要知道的内容就这么多了,

如果有啥不到位的地方欢迎指出来,大家互相督促、共同进步啊。

当然啦如果铁铁们可以一键三连那就更棒了,特别特别感谢 ୧(๑•̀⌄•́๑)૭ 。

** **


本文转载自: https://blog.csdn.net/qq_53362595/article/details/123361134
版权归原作者 星海可沉鱼 所有, 如有侵权,请联系我们删除。

“【JavaSE系列】 第二话 ——数据类型与变量”的评论:

还没有评论