1.18k likes | 1.35k Views
第 3 章 Java 基本语法. 学习目标 本章要点 上机练习 习 题. 学习目标. 要编写结构简单、可读性强的 Java 程序,需要对 Java 的基本语法结构非常熟悉。本章主要对 Java 语言的基本语法元素做详细的介绍,分别讲解了标识符、运算符、表达式和控制结构的知识,详细介绍了数据类型及其转换,最后介绍了分支和循环等条件控制语句,对 Java 语言的基本语法做了深入的讲述,通过本章的学习可以全面掌握 Java 语法,可以熟练应用 Java 这些基本语法进行编程。. 本章要点. Java 语言的基本组成元素 标识符与关键字
E N D
第3章 Java基本语法 • 学习目标 • 本章要点 • 上机练习 • 习 题
学习目标 • 要编写结构简单、可读性强的Java程序,需要对Java的基本语法结构非常熟悉。本章主要对Java语言的基本语法元素做详细的介绍,分别讲解了标识符、运算符、表达式和控制结构的知识,详细介绍了数据类型及其转换,最后介绍了分支和循环等条件控制语句,对Java语言的基本语法做了深入的讲述,通过本章的学习可以全面掌握Java语法,可以熟练应用Java这些基本语法进行编程。
本章要点 • Java语言的基本组成元素 • 标识符与关键字 • Java的基本数据类型 • 条件控制语句的使用
Java语言的基本组成元素 • Java语言的基本元素包括了标识符(Identifier)、关键字(Keyword)、文字(Literal)和运算符。Java程序在编译时常常被拆分成这些小的单元。 • 关键字与标识符 • 运算符与表达式
关键字与标识符 • 在学习Java语言之前,了解标识符和关键字是很有必要的,下面将详细地介绍。 • 关键字 • 标识符
关键字 • 关键字是被系统定义好了的,具有特定意义的一些单词,可标识数据类型名或程序构造(construct)名,用户所定义的标识符不能是关键字。
关键字 • Java中的关键字如下所示。 • abstract boolean break byte case catch char class continue default do double else extends false final finally float for if implements import instantceof int interface
关键字 • long native new null package private protected public return short static super switch synchronized this throw throws transient true try void volatile while const goto
关键字 • 关键字的使用说明如下。 • 关键字都是小写字母。 • const和goto是Java的保留字,已不再是关键字。 • Then、sizeof不是Java关键字。
关键字 • True、False和null为小写,而不是象在C++语言中那样为大写。 • String是Java语言一个封装类的类名,也不是关键字。 • 通常情况下,不采用包含“$”的关键字。
标识符 • 标识符是用来对Java语言中的各个元素进行命名的记号,例如:变量名、方法名、类名、数组名等等。Java语言中,标识符是以字母、下划线和美元符开始的一个字符序列,后面可以跟字母、下划线、美元符和数字,如下分别为合法和非发的标识符。
标识符 • 合法的标识符:mail,user_name,$money,_System_ID。 • 非法的标识符:7color,chang#,public,int。
标识符 • 【例3-1】 判断下列标识符哪些是合法的标识符,并说明原因。 • Sky,$computer,NULL,for,id-list,7mail,学校,_animal_tiger,catch_5
标识符 • 分析: • 合法的标识符为:Sky,$computer,NULL,_animal_tiger,catch_5 • 非法的标识符为:for(关键字),id-list(非法符号“-”),学校(不能使用汉字),7mail(首字母不能是数字)。
运算符与表达式 • Java的运算符指对操作数(以下使用op表示)所做的运算操作。Java的运算符包括:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符以及一些其他的运算符。按照操作数的数目又可以分为单目运算符(一个操作数)、双目运算符(两个操作数)和三目运算符(3个操作数)。
运算符与表达式 • 算术运算符 • 关系运算符 • 逻辑运算符 • 赋值运算符 • 位运算符 • 条件运算符
算术运算 • 算术运算符的操作数必须是数字类型。算术运算符不能用在布尔类型的操作数上,但是可以用在char类型的操作数上,因为在Java中,char类型实质是int类型的一个子集。
算术运算符 算术运算符包括了四则运算、求模和自增自减符号。 算术运算符
算术运算符 • 算术运算符的使用说明如下。 • 运算按从左到右顺序进行,且乘、除、求模运算符的优先级别高于加、减运算符。 • 加减运算符的优先级是4级,乘、除、求模运算符的优先级是3级,等号优先级最低。
算术运算符 • 求模运算的结果就是两个操作数相除得到的余数。 • “( )”也属于运算符的一种,且优先级别最高。
算术运算符 • 如果两个操作数都为整型,那么结果也为整型;如果一个操作数为整型,另一个为浮点型(小数),则结果为浮点型;这种过程称为数据类型的转化,将在下节详细介绍。
算术运算符 • “+”号是进行字符串的连接。 • 【例3-2】 写出下列表达式返回值,注意各运算符的优先级。 • 5+13-3 , 1+5*2 , 1 – 4 / 2 + 3 * 4 % 5 , (2+3)*2-6*7%2
算术运算符 • 分析: • 5+13-3 1+5*2 1 – 4 / 2 + 3 * 4 % 5 (2+3)*2-6*7%2 • =18-3 =1+10 =1-2+12%5 =5*2-42%2 • =15 =11 =1–2+2 =10-0 • =1 =1 =10
算术运算符 • Java提供特殊的赋值运算符,该运算符可将运算符与赋值结合起来。这种简写形式对于Java的二元(即需要两个操作数的)运算符都适用。其语句格式为: • var=var op expression; • 可以被重写为: • var op= expression;
算术运算符 • 这种赋值运算符有两个好处:第一,比标准的等式要紧凑;第二,有助于提高Java的运行效率。由于这些原因,在Java的程序中经常会看见这些简写的赋值运算符。
关系运算符 • 关系运算符用来比较两个值的关系,并返回一个布尔型的值(True或False)。当关系运算符对应的表达式成立时,返回True值,否则返回False值。关系运算符都是双目运算符。
关系运算符 • 关系运算符的使用说明如下: • “= =”符号是判断两个操作数是否相等, 而“=”是赋值运算符。 • 关系运算符的执行方向是从左往右。 • <, >,<=,>=的优先级是6, = =,!=的优先级是7。
关系运算符 • 【例3-3】 写出下列表达式的返回值。 • 10 < 30-25 3!= (2+3)/5 • 分析: • 10 < 30-25 3!=(2+3)/5 • 10<5 3!= 1 • 返回值False 返回值True
关系运算符 • 【例3-4】 本例说明关系运算符的使用。注意体会各基本关系运算符的使用方法。该例使用NetBeans编写程序(光盘:\源文件\第3章\例3-4.txt)。
逻辑运算符 • 逻辑运算符用于执行逻辑判断,其返回值仍然为布尔型变量(True或False)。逻辑运算符的操作数必须为布尔型变量。 逻辑运算符
逻辑运算符 • 逻辑运算符的使用说明如下。 • &&的优先级是11,||的优先级是12,!的优先级是2。 • 对于“&&”运算,当op1的值为False,则不必再计算op2的值,直接得出该表达式的值为False,该运算又称为逻辑短路与运算。
逻辑运算符 • 对于“||”运算,当op1的值为True时,则不必再计算op2的值,直接得出该表达式的值为True,该运算又称为逻辑短路或运算。 • 【例3-5】 写出下列表达式的返回值 • 3>5&&2<9 4+5 = =3 | | 7!=2 7>2 && 3>6
逻辑运算符 • 分析: • 3>5&&2<9 4+5 = =3 | | 7!=2 7>2 && 3>6 • False && 2<9 False | | 7!=2 True&& 3>6 • False False | | True True&& False • True False
逻辑运算符 • 【例3-6】 设a的值为1,经过下列运算后,求表达式的返回值是多少,a的值是多少? • ((b=2)= = 3 ) && ((a=2)= =2) • ((b=2)= = 2 ) && ((a=2)= =2)
逻辑运算符 • 分析: • 1)((b=2)= = 3 ) && ((a=2)= =2) • False && ((a=2)= =2) • False • 因为“&&”运算左边表达式的值为False ,不用继续计算,可以得到整个表达式的值为False。此时a的值仍为1。
逻辑运算符 • 2)((b=2)= = 2 ) && ((a=2)= =2) • True&& True • True • 因为“&&”运算左边表达式的值为真,需要继续执行右边表达式,最后得到整个表达式值为True。此时a的值为2。
赋值运算符 • 赋值运算符是“=”符号,是从右向左的双目运算,作用是将“=”符号右边的操作数的值赋给左边的操作数。可见,该运算符左边操作数必须是变量,而不能是常量或者表达式。赋值运算符的优先级是14级,为优先级别最低的运算符。
位运算符 • 位运算符用来对二进制位进行操作。 位运算符
位运算符 • 因为数据在电脑内存中是以二进制的形式存放,因此在使用位运算的时候一定要知道各个进制间的转化方法。 • 在二进制的形式下,再对操作数进行按位的运算。下面将介绍各位运算符的作用。
位运算符 • 1)“&”运算 • 参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0。即: • 0&0=0,0&1=0 ,1&0=0,1&1 =1
位运算符 • 2)“|”运算 • 参与运算的两个值,只要两个相应位中有一个为1,则该位的结果为1。即: • 0 | 0=0 , 0 | 1=0 ,1 | 0=0 , 1 | 1 =1
位运算符 • 3)“^”运算 • 参与运算的两个值,只要两个相应位相同,则结果为0,否则为1。即: • 0^0=0,0 ^1=1 ,1 ^ 0=1 , 1 | 1 =1
位运算符 • 4)“>>,<<和>>>”移位运算 • Java编程语言提供了两种右移位运算符,即>>和>>>,其中运算符>>进行算术或符号右移位,移位的结果是第一个操作数被2的幂来除,而指数的值是由第二个数给出的。
位运算符 • 逻辑或非符号右移位运算符>>>主要作用于位图,而不是一个值的算术意义,它总是将零置于最重要的位上。 • 在移位的过程中,>>运算符使符号位被复制。