导图社区 Java语言基础
Java第二章Java语言基础思维导图,包含标识符与关键字、 变量与常量、基本数据类型、运算符与表达式等内容。
编辑于2023-12-17 14:24:32Java语言基础
标识符与关键字
标识符
在程序设计中,常用一个记号对变量、数组、方法和类等进行表识;简单说,标识符就是一个名字
标识符的定义规范:1、标识符由字母、数字、下划线(_)、美元符号($)组成,没有长度限制。
2、标识符的首字符必须是字母、下划线或美元符号。
3、标识符中的字母是区分大小写的,如Dog和dog是不同的标识符。
4、常量通常以大写字母英文单词命名,变量通常以小写字母英文单词命名。 如果一个变量名由多个单词构成,则第一个单词小写,第二个单词首字母大写。
5、类标识符通常以大写英文字母开始。
6、Java关键字、保留字等不能作为用户自定义标识符使用。
关键字
关键字是指编程语言预先定义的标识符,在程序中有其特殊的含义,用户不能将其用作自定义标识符。
Java的关键字详情请看教材P23--P24
变量与常量
变量
变量是指在程序运行过程中其值可以改变的量,它用于在程序运行时临时存放数据。
声明变量的语法:类型 变量名1 [= 初值1][, 变量名2 [= 初值2]……];
注意:变量初始化后还可以对变量重新赋值,重新赋值后,新的值将会覆盖原来的值。
Java语言中允许使用汉字或其他语言文字作为变量名
声明变量时应选择有意义的单词作为变量名
变量的有效范围
(1)成员变量:在类体中定义的变量,它在整个类中,自声明变量处开始到整个类结束的范围内有效。
(2)局部变量:在类的方法内部定义的变量,它只在当前定义的方法中,自变量声明处开始到方法结束范围内有效,不能用于类的其他方法。
注意
(1)为了使变量在类或方法的整个范围内有效,通常将变量声明到类或方法的最上方。
(2)变量在声明时可以不赋初值,但在使用变量前必须对其赋值。
(3)在小范围内使用大范围变量的时候,有些情况下,小范围将其修改后,会影响大范围变量的值。
(4)局部变量尽量避免与全局变量重名。
常量
常量是指在程序运行过程中其值不能改变的量,通常也称为“final变量”,它在整个程序中只能赋值一次。
常量的语法格式:final 类型 常量名 [= 初值];
如果在程序中多处引用某个值,则可以将它定义为常量。这样,既可以避免反复输入同一个值,也可以在这个值发生变化时,只修改常量值,避免多处修改。
基本数据类型
数据类型的分类
基本数据类型
数值型
整型(byte、short、int、long)
浮点型(float、double)
字符型(char)
布尔型(boolean)
整型
整型的取值范围 数据类型 关键字 内存空间(位) 取值范围 字节型 byte 8 -27~27-1(-128~127) 短整型 short 16 -215~215-1(-32 768~32 767) 整型 int 32 -231~231-1(-2 147 483 648~2 147 483 647) 长整型 long 64 -263~263-1
整型的3种表示形式
十进制整数:int x = 10, y = -24;
八进制整数:short x = 010, y = -024;
十六进制整数:int x = 0xffff, y = -0X3D4;
浮点型
浮点型的取值范围: 数据类型 关键字 内存空间(位) 取值范围 单精度型 float 32 [-3.4028235e38~-1.4e-45]U [1.4e-45~3.4028235e38] 双精度型 double 64 [-1.7976931348623157e308~-4.9e-324] U[4.9e-324~1.7976931348623157e308]
浮点型的两种表达方法
小数表示法,它由整数部分和小数部分组成:float c = 4.0f; float d = 5.32f;
科学表示法,它常用来表示很大或很小的数,表示方法是在小数表示法后加“E”或“e”及指数部分:float f1 = 0.123f, f2 = 4.2e-5F; double d1 = 0.123, d2 = 0.789d, d3 = 3e6D; 注意:“E”或“e”前面必须有数字,指数部分可正可负,但必须都是整数
字符型
字符型数据是指使用单引号括起来的一个字符,它是区分大小写的,如'A'和'a'是两个不同的字符。除此之外,还可以使用字符在Unicode字符集中的位置来表示
字符中的转义字符;一些无法正常显示的字符可用转义字符表示 转义字符 含义 转义字符 含义 \ddd 1~3位八进制数据所 \t 制表符 表示的字符,如\123 \uxxxx 4位十六进制数据所 \r 回车符 表示的字符,如\u02b6 \' 单引号字符 \n 换行符 \" 双引号字符 \b 退格符 \\ 反斜杠字符 \f 换页符
布尔型
布尔型数据只有true和false两个值,分别代表逻辑“真”和逻辑“假”。
布尔型使用关键字boolean表示,它所占的内存空间为8位。
数据类型转换
Java在进行赋值或运算时要对数据类型进行检查,如果数据类型不一致,则要进行数据类型转换。
基本数据类型优先级从低到高顺序:(byte、short、char)→ int → long → float → double
自动数据类型转换
当数据从低级类型向高级类型转换时,系统将自动执行,编程人员无须进行任何操作,这种转换称为自动数据类型转换。
当参与运算的数据包含多种数据类型时,低级数据类型的数据将被自动转换为高级数据类型,以参与运算。
强制数据类型转换
当把数据类型优先级较高的数据赋值给数据类型优先级相对较低的变量时,必须进行强制数据类型转换。 需注意:进行强制数据类型转换时,可能会产生数据溢出或精度损失。
语法格式:(数据类型)数据
运算符与表达式
算术运算符与表达式
算术表达式由算术运算符和操作数组成,用于完成基本的算术运算。算术表达式的操作数包括常量、变量等。 分类 运算符 名称 实例 运算结果 二元运算符 + 加法运算符 A+B A和B的和 - 减法运算符 A-B A和B的差 * 乘法运算符 A*B A和B的积 \ 除法运算符 A\B A除以B的商 % 取余运算符 A%B A除以B的余数 一元运算符 + 正号 +A A的值 - 负号 -A A的负数 ++ 自增 ++A,A++ A自加1 -- 自减 --A,A-- A自减1
算术运算符应注意的问题
不同类型的数据进行算术运算时,运算结果与精度最高的数据类型一致。
对于除法运算,如果是两个整数相除,则结果亦为整数,小数部分将被舍去,如7/2=3。只有两个数中有一个是浮点数,结果才为浮点数。且除数不能为0,否则会抛出异常。
自增、自减运算符前置与后置的区别:当自增(减)运算符前置时,操作数先增(减)1再使用;当自增(减)运算符后置时,则操作数先使用再增(减)1。
关系运算符与其表达式
关系表达式由关系运算符和操作数组成,用来比较两个操作数的大小,比较的结果是一个布尔值(true或false)。操作数可以是算术表达式、布尔表达式、整数、浮点数和字符等。 运算符 名 称 示例 运算结果 == 等于 A==B 如果A与B相等则结果为真,否则为假 != 不等于 A!=B 如果A与B不相等则结果为真,否则为假 > 大于 A>B 如果A大于B则结果为真,否则为假 < 小于 A<B 如果A小于B则结果为真,否则为假 >= 大于等于 A>=b 如果A大于等于B则结果为真,否则为假 <= 小于等于 A<=B 如果A小于等于B则结果为真,否则为假 (1)关系表达式的运算次序是先分别算出运算符两侧表达式的值,然后再将两者进行比较。 (2)字符型数据按其在Unicode标准字符集中的位置值进行比较。常见字符的位置值由小到大的顺序是:空格<'0'<…<'9'<'A'<…<'Z'<'a'<…<'z'<任何汉字。
逻辑运算及其表达式
逻辑表达式由逻辑运算符和操作数组成。操作数可以是布尔值或布尔表达式,运算结果是布尔值。 运算符 名 称 示 例 运算结果 ! 非 !A A为true时结果为false,A为false时结果为true &&、& 与 A && B、A & B A、B同为true时结果为true,否则为false ||、| 或 A || B、A | B A、B同为false时结果为false,否则为true ^ 异或 A ^ B A、B同为true时或同为false时结果为false,否则为true “&&”和“||”运算符又分别称“短路与”和“短路或”。
位运算符及其表达式
位表达式由位运算符和操作数组成,用于完成二进制位的运算。 运算符 名 称 示 例 说 明 & 按位与 A & B A与B对应的两个二进制位均为1时,结果才为1,否则为0 | 按位或 A | B A与B对应的两个二进制位有一个为1时,结果就为1 ^ 按位异或 A ^ B A与B对应的两个二进制位不同时,结果为1,否则为0 ~ 按位取反 ~A 对A的每个二进制位取反 << 左移 A << B A的二进制位全部左移B位,移出的高位舍弃,低位补0,如6 << 2 = (00000110) << 2 = (00011000) = 18 >> 带符号右移 A >> B A的二进制位全部右移B位,移出的低位舍弃,正数高位补0,负数高位补1。例如,9 >> 2 = ([0]0001001) >> 2 = ([0]0000010) = 2,−9 >> 2 = ([1]1110111) >> 2 = ([1]1111101) = −3,其中[0]、[1]表示符号位 >>> 无符号右移 A >>> B A的二进制位全部右移B位,移出的低位舍弃,正数和负数高位都补0,如−9 >>> 2 = ([1]1110111) >>> 2 = ([0]0111101)= 0x3d
赋值运算符及其表达式
赋值表达式由赋值运算符和操作数组成。赋值运算符以符号“=”表示,它是一个二元运算符,其功能是将右边操作数的值赋给左边操作数。左边操作数必须是一个变量,而右边操作数可以是任何表达式。 运算符 示 例 示例表达式等价于 += A += B A = A + B (两数相加) −= A −= B A = A − B (两数相减) *= A *= B A = A * B (两数相乘) /= A /= B A = A / B (两数相除) %= A %= B A = A % B (两数求余) &= A &= B A = A & B (两数按位与) |= A |= B A = A | B (两数按位或) ^= A ^= B A = A ^ B (两数按位异或) <<= A <<= B A = A << B (A左移B位) >>= A >>= B A = A >> B (A带符号右移B位) >>>= A >>>= B A = A >>> B(A无符号右移B位)
条件运算符及其表达式
条件运算符属于三元运算符,即包含3个操作对象。
语法格式:表达式1 ? 表达式2 : 表达式3;
运算符的优先级
运算符的优先级决定了表达式中运算符执行的先后顺序,如果两个运算符有相同的优先级,则根据它们的结合性决定先后顺序。 优先级 运算符 结合性 1 () 从左到右 2 +(正)、−(负)、 ++、−−、~、! 从右向左 3 *、/、% 从左向右 4 +(加)、−(减) 从左向右 5 <<、>>、>>> 从左向右 6 <、<=、>、>= 从左向右 7 ==、!= 从左向右 8 & 从左向右 9 ^ 从左向右 10 | 从左向右 11 && 从左向右 12 || 从左向右 13 ? : 从右向左 14 =、+=、 −=、*=、/=、%=、 &=、|=、^=、 <<=、>>=、>>>= 从右向左 如果想要改变它们的计算顺序,可以使用圆括号。