面向对象程序设计-第二章--Java语言基础
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 数值型不同类型数据的转换 (1)自动类型转换
①转换前的数据类型与转换后的类型兼容。 ②转换后的数据类型的表示范围比转换前的类型大。
31
2.5 表达式
(2) 强制类型转换 类型强制转换使程序将变量视为某种类型,尽 管此变量中包含的是另一类型的数据 格式:
(欲转换的数据类型)变量名
例: float c = 34.89675f; int b = (int) c + 10;
<< 右移
a<<b 将a 各比特位向左移b位。
>>>
0填充右移
a>>>b
将a 各比特位向右移b位,左边的空位
一律填0。
22
2.4 运算符
1. 赋值运算符 格式:
变量或对象=表达式
赋值运算符右端的表达式可以还是赋值表 达式,形成连续赋值的情况。例如:
a=b=c=8;
23
2.4 运算符
2.扩展赋值运算符 在赋值符“=”前加上其他运算符,即构成扩展 赋值运算符,例如:a+=3等价于a=a+3。
功能
示例
+
正值
+a
-
负值
-a
++ 加1
++a或a++
--
减1
--a或a--
19
2.4 运算符
关系运算符
运算符 > >= < <= == !=
功能 大于 大于或等于 小于 小于或等于 等于 不等于
示例 a>b a>=b a<b a<=b a==b a!=b
20
2.4 运算符
逻辑运算符
运算符
功能
示例
整型
int
4
0 -2147483648~2147483647
长整型
long
单精度浮点 型
双精度型
字符型
float double char
8
0L
-9223372036854775808~ 9223372036854775807
4
0.0F 1.4×10-45~3.4×1038
8
0.0D 4.9×10-324~1.8×10308
运算规则
& 逻辑与
a&b 两个操作数均为true时,结果才为true。
|
逻辑或
a|b 两个操作数均为false时,结果才为false。
!
逻辑非(取反) !a
将操作数取反。
^
异或
&& 简洁与
|| 简洁或
a^b 两个操作数同真或同假时,结果才为false。
a&& 两个操作数均为true时,结果才为
b
true。
在Java中正确的标识符:$ta、num_1、_name 错误的标识符:#ta、1num、int
6
2.2 关键字与标识符
Java定义的保留字
abstract char else for interface private super
transient
boolean class extends
if long protected switch
24
2.4 运算符
运算符 += -= *= /= %= &= |= ^= >>= <<=
>>>=
表: 扩展赋值运算符
示例
等效表达式
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
11
2.3 基本数据类型
2.3.1 整型
12
2.3 基本数据类型
2.3.1 整型
表2.1 Java语言的四种整型
类型
数据位
范围
byte(字节型) 8 -128~127,即-27~27-1
Short(短整 型)
int(整型)
16 -32 768~32 767,即-215~215-1
32
-2 147 483 648~2 147 483 647,即231~231-1
33
2.5 表达式
例: 整型与浮点数据类型的自动转换。
//app2_2.java 整数与浮点数的类型转换
public class app2_2
{
public static void main(String args[])
3
2.2 关键字与标识符
2.2.1 标识符
程序设计语言也是由各种不同的语法构成 的。所谓词法单位,指程序中具有独立含义 的不可分割的单位,在Java中分为5类。 1)关键词 2)标识符 3)常量 4)运算符 5)分割符 public class E2{
public static void main(String[ ] args){ int age = 0; System.out.println(“Tom is age of:”+age);
算符instanceof、内存分配运算符new、强制类型转换运算 符(类型)、方法调用运算符()等。
17
2.4 运算符
2.4.1 二元算术运算符
表 :二元算术运算符
运算符
功能
示例
+
加运算
a+b
-
减运算
a-b
*
乘运算
a*b
/
除运算
a/b
取模(求余)运
%
算
a%b
18
2.4 运算符
一元算术运算符
运算符
float a=100.0; //定义变量a为浮点型 print("The value of a is"+a+"\n"); //系统自动将a转换成字符串
28
表:运算符的优先级及结合性(表顶部的优先级较高)
优先级 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
运算符 . [] () ++ -- ! ~ +(正号) -(负号) instanceof new (类型) */% + - (二元) << >> >>> < > <= >= == != & ^ | && || ?: = += -= *= /= %= <<= >>= >>>= &= ^= |=
第二章JAVA语言基础
通过本章的学习,主要掌握以下知识点:
Java的标识符与保留字 变量的声明和使用 基本数据类型的应用 运算符与表达式 数组的创建和使用
本章的重点: 变量的声明和使用 基本数据类型的应用 运算符与表达式 数组的创建和使用
本章的难点:
数组的创建和使用
2
本 章 主 要 介 绍 编 写 Java 程 序 必 须 掌握的若干语言基础知识,包括数据 类型、变量、运算符、表达式、数组 等。掌握这些基础知识,是编写正确 Java程序的前提条件。
运算符的结合性
右→左 右→左 左→右 左→右 左→右 左→右 左→右 左→右 左→右 左→右 左→右 左→右 右→左 右→左
292Leabharlann 5 表达式❖Java语言的数据类型在定义时就已经决定, 因此不能随意转换成其他的数据类型,但 java语言允许用户有限度地做类型转换处理, 这就是数据类型转换。
30
2.5 表达式
// 将 c 转换为整型
32
2.5 表达式
(3) 类型提升规则
目标类型大于源类型; 例如: byte、short 型值可提升为 int 型
对于表达式 如果一个操作数为 long 型,则整个表达式提升为 long 型 如果一个操作数为 float 型,则整个表达式提升为 float 型 如果一个操作数为 double 型,则整个表达式提升为 double 型
26
2.4 运算符
条件运算符
例如: int a=1,b=2,max; max=a > b ? a : b; //max获得a,b之中的较大值 System.out.println("max="+max); //输出结果为max=2
27
2.4 运算符
字符串运算符 字符串运算符“+”完成字符串连接操作,如果必 要,则系统自动把操作数转换为String型。例如:
2
’\u000 ’\u0000’~’\uffff’ 15
2.3 基本数据类型
转义字符
所代表的意义
\f \b \n \r \t \\ \' \" \uxxxx
\ddd
换页(Form feed),走纸到下一页。 退格(Backspace),后退一格。 换行(New line),将光标移到下一行的开始。 回车(Carriage return),将光标移到当前行的行首,但不移到下一行。 横向跳格(Tab),将光标移到下一个制表符位置。 反斜线字符(Backslash),输出一个反斜杠。 单引号字符(Single quote),输出一个单引号。 双引号字符(Double quote),输出一个双引号。 1到4位十六进制数(xxxx)所表示的unicode字符。 1到3位八制数(ddd)所表示的unicode字符,范围在八进制的000~31767
} }
4
2.2 关键字与标识符
程序员对类、数组、变量、常量等各个元素 命名,这种命名称为标识符。 (1) 可以由字母、数字和下划线(_)、美元符号
($)组合而成; (2) 必须以字母、下划线或美元符号开头,不
能以数字开头。
5
2.2 关键字与标识符
2.2.2 保留字字与标识 符
在Java语言里,有些字符串具有专门的意 义和用途,这些标识符称为保留字,也可以称为 关键字。在Java中保留字有很多: abstract、 break、pubic、int、catch。
break continue false
implements native public synchronized
byte default final
import new return this
true
try
void
case do finally instanceof null short throw
之间。
2.4 运算符
• 算术运算符 +、-、*、/、%、++、-• 关系运算符 >、<、>=、<=、==、!= • 逻辑运算符 !、&&、||、&、| • 位运算符 >>、<<、>>>、&、|、^、~ • 赋值运算符 =、及其扩展赋值运算符,如+=、/=等。 • 条件运算符 ? : • 其他运算符号 包括分量运算符.、下标运算符[ ]、实例运
volatile
catch double float int package static throws
while
7
2.2 变量
使用变量的原则:先声明后使用。 变量的三个基本要素:名字、类型和值。
8
2.2 变量
格式:
<类型><变量名>[=<初值>][,<变量名>[=<初值>]……]
例如: int i,j,k;
long(长整型)
64
-9 223 372 036 854 775 808~9 223 372 036 854 775 807,即-263~263-l
13
2.3 基本数据类型
2.浮点型
表2.2 Java的两种浮点型
类型
数据位 范
围
float(单精度浮点) 32 1.4E-45~3.4E+38
double(双精度浮点) 64 4.9E-324~1.8E+308
在声明变量的同时可以对变量进行初始化,即赋初 值。例如,
int i=0;
9
2.2 变量
格式:
变量名=值
举例:
boolean b=true; //声明boolean型变量并赋值
int x,y=8;
//声明int型变量
float f=2.718f; //声明float型变量并赋值
double d=3.1415; //声明double型变量并赋值
char c;
//声明char型变量
c=’a’ ;
//为char型变量赋值
x=12;
//为int型变量赋值
10
2.3 基本数据类型
Java数据类型分为两大类,一类是基本数 据类型,另一类是引用类型。
Java定义了4类共8种基本类型,它们的分类 及关键字如下:
• 整型 byte,short,int,long • 浮点型 float,double • 逻辑型 boolean • 字符型 char
a=a<<b
a=a>>>b
25
2.4 运算符
条件运算符 格式:
<表达式1> ? <表达式2> : <表达式3>
其中“表达式1”是一个结果为逻辑值的布尔表达 式。
功能:先计算<表达式1>的值,当<表达式1>的 值为true时,则将<表达式2>的值作为整个表达式的 值;当<表达式1>的值为false时,则将<表达式3>的 值作为整个表达式的值。
a||b
两个操作数均为false时,结果才为
false。
21
2.4 运算符
位运算符
运算符 功 能 示例
运算规则
~ 按位取反 ~a 将a按位取反。
& 按位与
a & b 将a和b按比特位相与。
|
按位或
a | b 将a和b按比特位相或。
^ 按位异或 a ^ b 将a和b按比特位相异或。
>> 左移
a>>b 将a 各比特位向右移b位。
3.逻辑型 真:true 假:false 4.字符型 char 以单引号做修饰
14
2.3 基本数据类型
数据类型
布尔型 字节型 短整型
表2.3 Java的基本数据类型
关键字 占用字节数 默认数值 取值范围
boolea n
1
false true,false
byte
1
0 -128~127
short
2
0 -32768~32767
①转换前的数据类型与转换后的类型兼容。 ②转换后的数据类型的表示范围比转换前的类型大。
31
2.5 表达式
(2) 强制类型转换 类型强制转换使程序将变量视为某种类型,尽 管此变量中包含的是另一类型的数据 格式:
(欲转换的数据类型)变量名
例: float c = 34.89675f; int b = (int) c + 10;
<< 右移
a<<b 将a 各比特位向左移b位。
>>>
0填充右移
a>>>b
将a 各比特位向右移b位,左边的空位
一律填0。
22
2.4 运算符
1. 赋值运算符 格式:
变量或对象=表达式
赋值运算符右端的表达式可以还是赋值表 达式,形成连续赋值的情况。例如:
a=b=c=8;
23
2.4 运算符
2.扩展赋值运算符 在赋值符“=”前加上其他运算符,即构成扩展 赋值运算符,例如:a+=3等价于a=a+3。
功能
示例
+
正值
+a
-
负值
-a
++ 加1
++a或a++
--
减1
--a或a--
19
2.4 运算符
关系运算符
运算符 > >= < <= == !=
功能 大于 大于或等于 小于 小于或等于 等于 不等于
示例 a>b a>=b a<b a<=b a==b a!=b
20
2.4 运算符
逻辑运算符
运算符
功能
示例
整型
int
4
0 -2147483648~2147483647
长整型
long
单精度浮点 型
双精度型
字符型
float double char
8
0L
-9223372036854775808~ 9223372036854775807
4
0.0F 1.4×10-45~3.4×1038
8
0.0D 4.9×10-324~1.8×10308
运算规则
& 逻辑与
a&b 两个操作数均为true时,结果才为true。
|
逻辑或
a|b 两个操作数均为false时,结果才为false。
!
逻辑非(取反) !a
将操作数取反。
^
异或
&& 简洁与
|| 简洁或
a^b 两个操作数同真或同假时,结果才为false。
a&& 两个操作数均为true时,结果才为
b
true。
在Java中正确的标识符:$ta、num_1、_name 错误的标识符:#ta、1num、int
6
2.2 关键字与标识符
Java定义的保留字
abstract char else for interface private super
transient
boolean class extends
if long protected switch
24
2.4 运算符
运算符 += -= *= /= %= &= |= ^= >>= <<=
>>>=
表: 扩展赋值运算符
示例
等效表达式
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
11
2.3 基本数据类型
2.3.1 整型
12
2.3 基本数据类型
2.3.1 整型
表2.1 Java语言的四种整型
类型
数据位
范围
byte(字节型) 8 -128~127,即-27~27-1
Short(短整 型)
int(整型)
16 -32 768~32 767,即-215~215-1
32
-2 147 483 648~2 147 483 647,即231~231-1
33
2.5 表达式
例: 整型与浮点数据类型的自动转换。
//app2_2.java 整数与浮点数的类型转换
public class app2_2
{
public static void main(String args[])
3
2.2 关键字与标识符
2.2.1 标识符
程序设计语言也是由各种不同的语法构成 的。所谓词法单位,指程序中具有独立含义 的不可分割的单位,在Java中分为5类。 1)关键词 2)标识符 3)常量 4)运算符 5)分割符 public class E2{
public static void main(String[ ] args){ int age = 0; System.out.println(“Tom is age of:”+age);
算符instanceof、内存分配运算符new、强制类型转换运算 符(类型)、方法调用运算符()等。
17
2.4 运算符
2.4.1 二元算术运算符
表 :二元算术运算符
运算符
功能
示例
+
加运算
a+b
-
减运算
a-b
*
乘运算
a*b
/
除运算
a/b
取模(求余)运
%
算
a%b
18
2.4 运算符
一元算术运算符
运算符
float a=100.0; //定义变量a为浮点型 print("The value of a is"+a+"\n"); //系统自动将a转换成字符串
28
表:运算符的优先级及结合性(表顶部的优先级较高)
优先级 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
运算符 . [] () ++ -- ! ~ +(正号) -(负号) instanceof new (类型) */% + - (二元) << >> >>> < > <= >= == != & ^ | && || ?: = += -= *= /= %= <<= >>= >>>= &= ^= |=
第二章JAVA语言基础
通过本章的学习,主要掌握以下知识点:
Java的标识符与保留字 变量的声明和使用 基本数据类型的应用 运算符与表达式 数组的创建和使用
本章的重点: 变量的声明和使用 基本数据类型的应用 运算符与表达式 数组的创建和使用
本章的难点:
数组的创建和使用
2
本 章 主 要 介 绍 编 写 Java 程 序 必 须 掌握的若干语言基础知识,包括数据 类型、变量、运算符、表达式、数组 等。掌握这些基础知识,是编写正确 Java程序的前提条件。
运算符的结合性
右→左 右→左 左→右 左→右 左→右 左→右 左→右 左→右 左→右 左→右 左→右 左→右 右→左 右→左
292Leabharlann 5 表达式❖Java语言的数据类型在定义时就已经决定, 因此不能随意转换成其他的数据类型,但 java语言允许用户有限度地做类型转换处理, 这就是数据类型转换。
30
2.5 表达式
// 将 c 转换为整型
32
2.5 表达式
(3) 类型提升规则
目标类型大于源类型; 例如: byte、short 型值可提升为 int 型
对于表达式 如果一个操作数为 long 型,则整个表达式提升为 long 型 如果一个操作数为 float 型,则整个表达式提升为 float 型 如果一个操作数为 double 型,则整个表达式提升为 double 型
26
2.4 运算符
条件运算符
例如: int a=1,b=2,max; max=a > b ? a : b; //max获得a,b之中的较大值 System.out.println("max="+max); //输出结果为max=2
27
2.4 运算符
字符串运算符 字符串运算符“+”完成字符串连接操作,如果必 要,则系统自动把操作数转换为String型。例如:
2
’\u000 ’\u0000’~’\uffff’ 15
2.3 基本数据类型
转义字符
所代表的意义
\f \b \n \r \t \\ \' \" \uxxxx
\ddd
换页(Form feed),走纸到下一页。 退格(Backspace),后退一格。 换行(New line),将光标移到下一行的开始。 回车(Carriage return),将光标移到当前行的行首,但不移到下一行。 横向跳格(Tab),将光标移到下一个制表符位置。 反斜线字符(Backslash),输出一个反斜杠。 单引号字符(Single quote),输出一个单引号。 双引号字符(Double quote),输出一个双引号。 1到4位十六进制数(xxxx)所表示的unicode字符。 1到3位八制数(ddd)所表示的unicode字符,范围在八进制的000~31767
} }
4
2.2 关键字与标识符
程序员对类、数组、变量、常量等各个元素 命名,这种命名称为标识符。 (1) 可以由字母、数字和下划线(_)、美元符号
($)组合而成; (2) 必须以字母、下划线或美元符号开头,不
能以数字开头。
5
2.2 关键字与标识符
2.2.2 保留字字与标识 符
在Java语言里,有些字符串具有专门的意 义和用途,这些标识符称为保留字,也可以称为 关键字。在Java中保留字有很多: abstract、 break、pubic、int、catch。
break continue false
implements native public synchronized
byte default final
import new return this
true
try
void
case do finally instanceof null short throw
之间。
2.4 运算符
• 算术运算符 +、-、*、/、%、++、-• 关系运算符 >、<、>=、<=、==、!= • 逻辑运算符 !、&&、||、&、| • 位运算符 >>、<<、>>>、&、|、^、~ • 赋值运算符 =、及其扩展赋值运算符,如+=、/=等。 • 条件运算符 ? : • 其他运算符号 包括分量运算符.、下标运算符[ ]、实例运
volatile
catch double float int package static throws
while
7
2.2 变量
使用变量的原则:先声明后使用。 变量的三个基本要素:名字、类型和值。
8
2.2 变量
格式:
<类型><变量名>[=<初值>][,<变量名>[=<初值>]……]
例如: int i,j,k;
long(长整型)
64
-9 223 372 036 854 775 808~9 223 372 036 854 775 807,即-263~263-l
13
2.3 基本数据类型
2.浮点型
表2.2 Java的两种浮点型
类型
数据位 范
围
float(单精度浮点) 32 1.4E-45~3.4E+38
double(双精度浮点) 64 4.9E-324~1.8E+308
在声明变量的同时可以对变量进行初始化,即赋初 值。例如,
int i=0;
9
2.2 变量
格式:
变量名=值
举例:
boolean b=true; //声明boolean型变量并赋值
int x,y=8;
//声明int型变量
float f=2.718f; //声明float型变量并赋值
double d=3.1415; //声明double型变量并赋值
char c;
//声明char型变量
c=’a’ ;
//为char型变量赋值
x=12;
//为int型变量赋值
10
2.3 基本数据类型
Java数据类型分为两大类,一类是基本数 据类型,另一类是引用类型。
Java定义了4类共8种基本类型,它们的分类 及关键字如下:
• 整型 byte,short,int,long • 浮点型 float,double • 逻辑型 boolean • 字符型 char
a=a<<b
a=a>>>b
25
2.4 运算符
条件运算符 格式:
<表达式1> ? <表达式2> : <表达式3>
其中“表达式1”是一个结果为逻辑值的布尔表达 式。
功能:先计算<表达式1>的值,当<表达式1>的 值为true时,则将<表达式2>的值作为整个表达式的 值;当<表达式1>的值为false时,则将<表达式3>的 值作为整个表达式的值。
a||b
两个操作数均为false时,结果才为
false。
21
2.4 运算符
位运算符
运算符 功 能 示例
运算规则
~ 按位取反 ~a 将a按位取反。
& 按位与
a & b 将a和b按比特位相与。
|
按位或
a | b 将a和b按比特位相或。
^ 按位异或 a ^ b 将a和b按比特位相异或。
>> 左移
a>>b 将a 各比特位向右移b位。
3.逻辑型 真:true 假:false 4.字符型 char 以单引号做修饰
14
2.3 基本数据类型
数据类型
布尔型 字节型 短整型
表2.3 Java的基本数据类型
关键字 占用字节数 默认数值 取值范围
boolea n
1
false true,false
byte
1
0 -128~127
short
2
0 -32768~32767