JavaSE(2):变量和数据类型

文章目录

1、变量

1.1 变量的基本概念

  • 当需要在程序中记录单个数据内容时,则声明一个变量即可,而声明变量的本质就是在内存中申请一个存储单元,由于该存储单元中的数据内容可以发生改变,因此得名为"变量"。
  • 由于存放的数据内容大小不一样,导致所需存储单元的大小不一样,在Java语言中使用数据类型加以描述,为了便于下次访问,还需要给该变量指定一个名字,用于记录该变量对应的存储单元。

1.2 变量的声明方式

数据类型 变量名 = 初始值;
  • 其中 = 初始值 可以省略,但 ; 不可以省略

1.3 变量的注意事项

  • Java是强类型语言,变量在使用前必须声明来指明其数据类型。
  • 变量在使用之前必须初始化。
  • 变量不能重复声明。

1.4 标识符的命名法则(笔试)

  • 由数字、字母、下划线以及$等组成,其中数字不能开头。
  • 不能使用Java语言的关键字,所谓关键字就是Java语言用于表示特殊含义的单词。
  • 区分大小写,长度没有限制但不宜过长。
  • 尽量做到见名知意,支持中文但不推荐使用。
  • 标识符可以给 类、变量、属性、方法、包 起名字。

1.5 官方库的使用

  • JDK中带有大量的API类,是由Java系统带来的工具库,这些工具数以万计!是Java官方程序员的技术积累。
  • 使用这些类可以大大简化编程,提高开发效率。
  • 具体的API类功能,可以参阅Java的参考手册。

2、数据类型

2.1 数据类型的分类

  • 在Java语言中数据类型主要分为两大类:
    • (1)基本数据类型(8种)
      byte、short、int、long、float、double、boolean、char
    • (2)引用数据类型
      数组、类、接口、枚举、标注 等

2.2 常用的进制

  • 在日常生活中采用十进制进行数据的描述,逢十进一,十进制权重是:10^0、10^1、10^2、…
  • 在计算机的底层采用0和1组成的二进制序列进行数据的描述,逢二进一,二进制的权重是2^0、2^1、2^2、…
  • 二进制中的最高位(最左边)用于代表符号位,若该位是0则表示非负数,若该位是1则表示负数。
  • 八进制和十六进制其实都是二进制的简写。

2.3 进制之间的转换

2.3.1 正十进制转换为二进制的方式

a. 除2取余法,使用十进制整数不断地除以2取出余数,直到商为0时将余数逆序排序。
例如:
JavaSE(2):变量和数据类型
b. 拆分法,将十进制整数拆分为若干个二进制权重的和,有该权重下面写1,否则写0。
例如:
JavaSE(2):变量和数据类型

2.3.2 正二进制转换为十进制的方式

a. 加权法,使用二进制中的每个数字乘以当前位的权重再累加起来。
例如:
JavaSE(2):变量和数据类型

2.3.3 负十进制转换为二进制的方式

a. 先将十进制的绝对值转换为二进制,然后进行按位取反再加1。
注意:负数的需要补码:按位取反,再加1 。
例如:
JavaSE(2):变量和数据类型
JavaSE(2):变量和数据类型

2.3.4 负二进制转换为十进制的方式

a. 先减1再按位取反,合并为十进制整数后添加负号。
例如:
JavaSE(2):变量和数据类型

2.4 单个字节表示的整数范围(重中之重)

  • 在计算机中单个字节表示八位二进制位,其中最高位(最左边)代表符号位,使用0代表非负数,使用1代表负数,具体表示的整数范围如下:
  • 非负数表示范围: 0000 0000 ~ 0111 1111 => 0 ~ 127 => 0 ~ 2^7-1
  • 负数表示范围: 1000 0000 ~ 1111 1111 => -128 ~ -1 => -2^7 ~ -2^0
  • 单个字节表示的整数范围是: -2^7 ~ 2^7-1,也就是-128 ~ 127。
    JavaSE(2):变量和数据类型

2.5 整数类型

  • Java语言中描述整数数据的类型有: byte、 short、 int、 long,荐int类型
  • 其中byte类型在内存空间中占1个字节,表示范围是: -2^7 ~ 2^7-1
  • 其中short类型在内存空间中占2个字节,表示范围是: -2^15 ~ 2^15-1
  • 其中int类型在内存空间中占4个字节,表示范围是: -2^31 ~ 2^31-1
  • 其中long类型在内存空间中占8个字节,表示范围是: -2^63 ~ 2^63-1
  • 在Java程序中直接写出的整数数据叫做直接量/字面值/常量,默认为int类型。若希望表达更大的直接量, 则在直接量的后面加上l或者L,推荐L。

2.6 浮点类型

  • Java语言中用于描述小数数据的类型: float 和 double, 推荐double类型
  • 其中float类型在内存空间占4个字节,叫做单精度浮点数,可以表示7位有效数字, 范围: -3.403E38~3.403E38。
  • 其中double类型在内存空间占8个字节,叫做双精度浮点数,可以表示15位有效数字,范围: -1.798E308~1.798E308。
  • Java程序中直接写出的小数数据叫做直接量,默认为double类型,若希望表达float类型的直接量,则需要在直接量的后面加上f或者F

2.6 布尔类型

  • Java语言中用于描述真假信息类型有: boolean,数值只有: true 和 false。
  • 布尔类型在内存空间中所占大小没有明确的规定, 可以认为是1个字节。

2.7 字符类型

  • Java语言中用于描述单个字符的数据类型: char类型。如: ‘a’、 '中’等。
  • 其中char类型在内存空间中占2个字节并且没有符号位,表示的范围是:0 ~ 65535,由于现实生活中很少有数据能够被单个字符描述,因此以后的开发中更多的使用由多个字符串起来组成的字符串,使用String类型加以描述,如: “hello”、 “你好”等。
  • 计算机的底层只识别0和1组成的二进制序列,对于字符’a’这样的图案来说不满足该规则,因此该数据无法直接在计算机中存储,但现实生活中存在这样的图案数据需要计算机存储,为了使得该数据能够存储起来就可以给该数据指定一个编号,然后将编号存储起来即可,该编号就叫做
    ASCII。
  • 要求掌握的ASCII有: ‘0’ - 48,‘A’ - 65,‘a’ - 97,空格 - 32,换行符 - 10
    JavaSE(2):变量和数据类型
  • Java字符类型采用Unicode字符集编码。 Unicode是世界通用的定长字符集,所有的字符都是16位。
  • 要求掌握的转义字符有: " - " ,’ - ’ ,\ - \ ,\t - 制表符 ,\n - 换行符

2.8 基本数据类型之间的转换

  • Java语言中基本数据类型之间的转换方式: 自动类型转换和强制类型转换。
  • 其中自动类型转换主要指从小类型到大类型之间的转换。
    JavaSE(2):变量和数据类型
  • 其中强制类型转换主要指从大类型到小类型之间的转换,语法格式如下:
目标类型 变量名 = (目标类型)源类型变量名;

long a = 12;
int b = (int) a;
  • 注意:强转有风险,操作需谨慎!
上一篇:JavaSE 第7章 集合


下一篇:软件开发项目云端All-In-One体验