内容正文:
Java语言概述及开发基础(二)
[考纲要求]
考试内容:
变量和常量;数据类型;
知识点要求:
2.常量的各种表示形式,变量的定义和初始化。
3.理解Java语言的基本数据类型:byte、short、int、long、float、double、char、boolean;
4.掌握基本数据类型的转换。
[课时安排]
2课时
[知识梳理]
一.常量
常量是在程序运行过程中其值不能被改变的量。
声明方式: 常量使用final关键字声明,例如:final int MAX_VALUE = 100;
内存存储: 常量通常存储在栈内存中,或者直接嵌入到程序代码中。
用途: 常量用于表示程序中不会改变的值,例如圆周率、数组长度等。
优点: 使用常量可以提高代码的可读性和可维护性,并减少出错的可能性。
二.变量
变量是在程序运行过程中值可以改变的量。
声明方式: 变量不需要使用final关键字声明,例如:int number = 10;
内存存储: 变量存储在栈内存或堆内存中,具体取决于变量的类型和作用域。
用途: 变量用于存储程序运行过程中需要改变的值,例如计数器、用户输入等。
优点: 变量允许程序在运行过程中动态地修改数据,提高程序的灵活性。
三.数据类型
Java 语言中的数据类型可以分为基本数据类型和复合数据类型。
四.基本数据类型
整型常量
Java 中的整型常量就是表示整数的数据,有几种不同的写法:
十进制: 就是平时我们常用的数字,例如 42, 100, -1 等。
八进制: 以 0 开头,后面跟着 0 到 7 的数字,例如 012 表示十进制的 10。
十六进制: 以 0x 开头,后面跟着 0 到 9 和 A 到 F 的数字,例如 0x2A 表示十进制的 42。
整型变量:Java 提供了4种整数类型
浮点常量
在Java中,浮点常量用于表示小数或分数,可以是十进制、科学计数法或十六进制形式。浮点常量可以是基本数据类型 float 或 double 中的一种。
1. 十进制浮点常量:
定义: 以十进制形式表示的小数或分数,例如 3.14, -0.5, 2.0 等。
表示方法: 直接写出小数或分数即可,不需要任何前缀。
2. 科学计数法浮点常量:
定义: 以科学计数法形式表示的小数或分数,例如 1.23e-4, 3.14e5, -1.5e2 等。
表示方法: 以 e 或 E 开头,后面跟着一个整数,表示10的幂次,例如 1.23e-4 表示 1.23 * 10^-4。
浮点变量
在Java中,浮点变量用于存储浮点数,可以是 float 或 double 类型中的一种。选择哪种类型取决于所需的数值范围和精度。
字符常量
在Java中,字符常量用于表示单个字符,它们使用单引号 ' ' 包围,例如 'a', '1', '
' 等。字符常量可以是英文字母、数字、标点符号、特殊字符等。
1. 英文字母和数字:
定义: 任何英文字母或数字都可以作为字符常量。
表示方法: 使用单引号包围单个字符。
2. 标点符号和特殊字符:
定义: 任何标点符号或特殊字符都可以作为字符常量。
表示方法: 使用单引号包围单个字符。
3. 转义字符:
定义: 用于表示某些特殊字符的字符常量。
表示方法: 使用反斜杠 \ 作为转义字符,后跟一个或多个字符,表示特殊字符。
字符变量
在Java中,字符变量用于存储单个字符。Java的字符类型是 char,它占用2个字节的内存空间。
声明字符变量:
char myChar = 'A'; // 声明一个字符变量 myChar 并初始化为 'A'
字符变量的范围:
Unicode: 字符变量使用Unicode字符集,这允许它们存储任何字符,包括所有语言的字符。
表示: 字符常量通常使用单引号 ' ' 包围,例如 'a', '1', '
' 等。
示例:
char letter = 'a'; // 声明并初始化一个字符变量
char number = '1'; // 声明并初始化一个字符变量
char specialChar = '
'; // 声明并初始化一个转义字符变量
注意事项:
字符变量只能存储单个字符,不能存储多个字符。
字符变量与整数变量不同,它们不是同一个类型,不能直接进行类型转换。
布尔常量
在Java中,布尔常量用于表示逻辑值,只有两个可能的值:true 和 false。布尔常量通常用于控制流程和条件判断。
定义: true 和 false 是Java中的布尔常量。
表示方法: 直接使用 true 或 false。
示例:
boolean result = true;
或
boolean result = false;
布尔变量
在Java中,布尔变量用于存储布尔值,即逻辑值。布尔变量只能存储两个值:true 或 false。布尔类型 boolean 用于存储布尔值,而不是整数。
声明布尔变量:
boolean isTrue = true; // 声明一个布尔变量 isTrue 并初始化为 true
boolean isFalse = false; // 声明一个布尔变量 isFalse 并初始化为 false
布尔变量的使用:
布尔变量通常用于控制流程和条件判断,例如在 if 语句、while 循环和 do-while 循环中。
注意事项:
布尔变量只能存储布尔值,不能存储其他类型的值。
布尔变量在声明时不需要指定初始值,默认值为 false。
布尔变量可以与其他数据类型进行运算,但运算结果总是布尔类型。
五.基本数据类型的转换
在Java中,数据类型的转换可以分为自动转换(隐式转换)和强制转换(显式转换)。
自动转换(隐式转换):
自动转换发生在编译时,Java编译器会自动将一个数据类型转换为另一个数据类型,只要目标类型可以表示源类型。例如,将一个 int 类型的值赋给一个 long 类型的变量,或者将一个 byte 类型的值赋给一个 short 类型的变量。
案例:
int i = 1;
long j = i;
强制转换(显式转换):
强制转换发生在运行时,需要使用强制类型转换运算符((类型)),将一个数据类型转换为另一个数据类型。
案例:
int intValue = 10;
long longValue = intValue; // 自动转换
short shortValue = (short) intValue; // 强制转换
double doubleValue = 3.14;
float floatValue = (float) doubleValue; // 强制转换
自动转换可能会导致精度损失或数据溢出。
强制转换可能会导致数据溢出或精度损失。
在进行强制转换时,需要确保目标类型的数据范围可以容纳源类型的数据,否则会发生溢出。
[限时练习]
1.以下数据类型用于表示整数的是( )
A. byte B. float
C.char D.boolean
【答案】A
【解析】byte, short, int, long 都是整型数据类型。
2. 在 Java 中,以下数据类型占用的存储空间最小的是( )
A. byte
B. short
C. int
D. long
【答案】A
【解析】在 Java 中,byte 数据类型占用 1 个字节(8 位)的存储空间;short 数据类型占用 2 个字节(16 位)的存储空间;int 数据类型占用 4 个字节(32 位)的存储空间;long 数据类型占用 8 个字节(64 位)的存储空间。因此,byte 数据类型占用的存储空间最小。
3. 下转义字符表示换行的是( )。
A.
B. \t
C. \r D. \b
【答案】A
【解析】
表示换行,\t 表示横向跳格,\r 表示回车,\b 表示退格
4下列选项表示字符变量的是( )
A. int myInt = ‘A’;
B. char myChar = “A”;
C. char myChar = ‘A’;
D. char myChar =
;
【答案】C
【解析】 字符变量使用单引号包围单个字符
5. 下列选项正确的是( )
A. boolean isTrue = “true”;
B. boolean isFalse = False;
C. boolean isTrue = True;
D. boolean isFalse = false;
【答案】D
【解析】 布尔类型(boolean)的取值只能是 true 和 false,且它们是小写的。
6.常量在程序运行过程中其值可以改变。( )
【答案】错误
【解析】常量其值在程序运行过程中不能改变
7.int 类型的变量可以自动转换为 float 类型的变量。( )
【答案】正确
【解析】 int 类型的变量可以自动转换为 float 类型的变量,符合自动转换。
8.double 类型的变量可以直接转换为 int 类型的变量。( )
【答案】错误
【解析】 double 类型的变量可以强制转换为 int 类型的变量,但无法自动转换。
9.在 Java 中,可以使用任何字符作为变量名。( )
【答案】错误
【解析】 Java 中的变量名必须遵循一定的命名规则。变量名只能包含字母、数字、下划线和美元符号,且不能以数字开头。此外,变量名也不能与 Java 中的关键字相同。
10. 常量使用( )关键字声明。
【答案】final
11. Java 中的浮点变量可以是 ( ) 类型或 ( )类型。
【答案】float、double
12. Java 中的float类型,占用( )字节的内存空间。
【答案】2
13. Java 中的布尔变量只能存储 ( )或 ( ) 两个值。
【答案】true false
14.自动转换和强制转换的区别
【答案】 自动转换发生在编译时,Java 编译器会自动将一个数据类型转换为另一个数据类型,只要目标类型可以表示源类型。强制转换发生在运行时,需要使用强制类型转换运算符 (类型),将一个数据类型转换为另一个数据类型。自动转换可能会导致精度损失或数据溢出,而强制转换可能会导致数据溢出或精度损失。在进行强制转换时,需要确保目标类型的数据范围可以容纳源类型的数据,否则会发生溢出。
[归纳小结]
学科网(北京)股份有限公司
$$