《java程序设计教程第3章Java程序基础课件.ppt》由会员分享,可在线阅读,更多相关《java程序设计教程第3章Java程序基础课件.ppt(50页珍藏版)》请在三一办公上搜索。
1、第3章 Java程序基础,第3章 Java程序基础,本章学习目标,掌握Java程序基本语法。理解数据类型及变量涵义。学会定义和正确使用各种变量。理解复合语句概念。,本章学习目标 掌握Java程序基本语法。,3.1 引言,每一个Java程序都是按照一定规则编写而成,这些规则一般称之为程序语法,只有语法正确了,程序才能通过编译系统的编译,进而也才能被计算机加以执行,本章重点介绍Java程序的基本概念和语法。,3.1 引言 每一个Java程序都是按照一定规则编写而成,,3.1.1 符号,1 基本符号元素2 关键字3 标识符,3.1.1 符号,基本符号元素,字母:A-Z,a-z,美元符号$和下划线(_
2、)。数字:0-9。算术运算符:+,-,*,/,%。关系运算符:,=,。赋值运算符:=。其他符号:(),等等。,基本符号元素字母:A-Z,a-z,美元符号$和下划线(_),关键字,关键字是Java语言本身使用的标识符,有其特定的作用。所有的Java关键字将不能被用作用户的标识符,关键字用英文小写字母表示。 初学者不必刻意记忆以上关键字,在以后的使用过程中,自然会逐步掌握的。,关键字关键字是Java语言本身使用的标识符,有其特定的作用。,标识符,本书中,标识符特指用户自定义的标识符。在Java语言中,标识符必须以字母、美元符号或者下划线打头,后接字母、数字、下划线或美元符号串。另外,Java语言对
3、标识符的有效字符个数不做限定。合法的标识符: a,b,c,x,y,z,result,sum,value,a2,x3,_a,$b等。非法的标识符: 2a,3x,byte,class,&a,x-value,new,true,www等。,标识符本书中,标识符特指用户自定义的标识符。在Java语言中,标识符命名约定,(1)一般标识符定义应尽可能“达意”, 如value,result,number,getColor,getNum,setColor,setNum等。(2)final变量的标识符一般全大写, 如final double PI=3.1415。(3)类名一般用大写字母打头, 如Test,Demo
4、。,标识符命名约定 (1)一般标识符定义应尽可能“达意”,,3.1.2 分隔符,1 空白符2 可见分隔符,空白符在程序中主要起间隔作用,没有其他的意义。空白符包括空格、制表符、回车和换行符等,程序各基本元素间通常用一个或多个空白符进行间隔。,可见分隔符也是用来间隔程序基本元素的,这一点同空白符类似,但是不同的可见分隔符有不同的用法。Java语言中,主要有六种可见分隔符,3.1.2 分隔符 空白符在程序中主要起间隔作用,没有其他,六种可见分隔符,(1)“/” (2)“/* ”和“*/” (3)“;” (4)“,” (5)“:” (6)“”和“”,六种可见分隔符 (1)“/”,3.1.3 常量,J
5、ava程序中使用的直接量称为常量,它是用户在程序中“写死”的量,这个量在程序执行过程中都不会改变,也称最终量(用final标识的量)。,3.1.3 常量 Java程序中使用的直接量称为常量,它是,布尔值,布尔类型的取值范围就是true或false两个值,因而其常量值只能是true或false,而且true或false只能赋值给布尔类型的变量。不过,Java语言还规定布尔表达式的值为0可以代表false,而1(或其他非0值)则表示true。,布尔值 布尔类型的取值范围就是true或false两个值,因,2 整数值,整数常量在程序中经常出现,习惯以十进制表示,如10、100等。如八进制或十六进制进
6、行表示,用八进制时,需在数字前加0示意,而十六进制加0 x(或0X)标识,譬如010(十进制值8)、070(十进制值56)、0 x10(十进制值16)、0Xf0(十进制值240)。程序中出现的整数值默认分配四个字节的空间进行存储,即其数据类型为int,但当整数值超出int的取值范围(详见书上表3-1)时,系统则自动用八个字节空间来存储,即其类型为long型,若要系统将数值不大的整数常量也用long类型来存储,可以在数值后添加L(或小写l)后缀,如22L。,2 整数值整数常量在程序中经常出现,习惯以十进制表示,如,3 浮点数,浮点数即通常所说的实数,它包含有小数点,可以用两种方式进行表示:标准式
7、和科学记数式。标准式是由整数部分、小数点和小数部分构成,如1.5、2.2、80.5等都是标准式的浮点数。科学记数法由一个标准式跟上一个以10为底的幂构成,两者间需有E(或e)间隔开,如1.2e+6、5e-8和3E10等都是以科学记数法表示的浮点数。在程序中,一般浮点数的默认数据类型为double,即用8个字节空间来存放,当然也可以用F(或f)后缀来限定其类型为float,如55.5F、22.2f等。,3 浮点数浮点数即通常所说的实数,它包含有小数点,可以用,4 字符常量,字符常量是指用一对单引号括起来的字符,如A、a、1、和*等,事实上,所有的可见Ascii码字符都可以用单引号括起来作为字符常
8、量。此外,Java语言还规定了一些转义字符,这些转义字符以反斜杠打头,将其后的字符转变为另外的含义。需要注意的是,反斜杠后的数字表示Unicode字符集的字符,而不是Ascii码字符集。,4 字符常量字符常量是指用一对单引号括起来的字符,如A,Java转义字符表,转义字符描述xxx1到3位八进制数所表示的字符(xxx),5 字符串常量,System.out.println(Hello,welcome to Java programming.); 上述语句中,用双引号括起来的就是字符串常量,再比如:Nice to meet you! Yt- (¥)1n2n3 (1、2、3各占据一行)尤其需要注意
9、的是,单个的字符加上双引号也是字符串常量,如:N (字符串常量)N (字符常量)字符串常量一般都是用来给字符串变量赋初值的。,5 字符串常量 System.out.println(,3.1.4 变量,在程序执行过程中其值可以改变的数据,称为变量。每个变量都必须有对应的名称来标识它,即变量名。变量名由程序设计者自己命名,但要注意必须是合法的标识符。另外,为了提高程序可读性,一般都会根据变量意义或特征取对应英文单词或简写等。根据变量数据的特点,决定其数据类型,在Java中,一个变量只能属于某种确定的数据类型,并且在定义该变量时就要给出声明,这样就确定了该变量的取值范围,同时也确定了对该变量所能执行
10、的操作或运算。,3.1.4 变量 在程序执行过程中其值可以改变的数据,称为,八种基本的数据类型,整型: byte、short、int、long 实型: float和double 布尔型: boolean 字符型: char,八种基本的数据类型 整型: byte、short、in,变量定义,byte age; (存放某人的年龄)short number; (存放某大学人数)char gender; (存放某人性别)double balance; (存放某帐户的余额)boolean flag; (存放布尔值),变量一经定义,系统将为其分配一定长度的内存存储空间,在程序中使用到该变量时,就需要在对应
11、的内存中进行读数据或写数据,通常称这种操作为对变量的访问。,变量定义byte age; (存放某人的年龄) 变量一经,3.1.5 final变量,final变量的定义形式与普通变量一样,但其所起作用却是类似于前面讲的常量。定义final变量的方式有两种: 1 定义的同时初始化final double PI = 3.14;2 先定义后初始化final double PI ;PI = 3.14;,3.1.5 final变量 final变量的定义形式与普通,提示,在程序设计时,一般建议将程序中多次要用到的常量值定义为final变量,这样在程序中就可以以final变量名来引用该常量值,以减少程序的出错
12、概率,同时将来若常量值发生变化时也好调整。final变量与普通变量的本质区别是:后者在初始化后仍能对其进行赋值,而前者在初始化后就不能再被赋值。,提示在程序设计时,一般建议将程序中多次要用到的常量值定义为f,3.1.6 变量类型转换,一般情况下,各种数据类型的变量间最好不要互相串用,但是在特定的情况下,存在进行变量类型转换的需要。 比如将一个int类型的值赋给long类型变量,或将一个double类型的值赋给float类型变量。前者的转换不会破环原有值,这种转换一般系统会自动进行,而后者的转换很可能会破环原有值,这种转换需要程序员在程序中明确指出,即进行强制转换。,3.1.6 变量类型转换 一
13、般情况下,各种数据类型的变量间,类型转换,long a = 10; (常量10的默认类型为int,系统会自动将其转换为long类型并存至a中)float f = 11.5;short b ; b = (short)f; (强制转换),类型转换long a = 10;,3.2 基本数据类型,3.2 基本数据类型数据类型名称数据类型标识占据存储空间取,3.2.1 布尔型,布尔类型用关键字boolean来标识,其取值范围就是:true(逻辑真)和false(逻辑假),是最简单的数据类型。布尔类型的数据可以参加逻辑运算,并构成逻辑表达式,其结果也是布尔值,常用来作为分支、循环结构中的条件表达式。,bo
14、olean flag1 = true;boolean flag2 = 35;boolean flag3 = 1;,3.2.1 布尔型 布尔类型用关键字boolean来标识,,3.2.2 整型,1 byte 2 short 3 int 4 long,3.2.2 整型 1 byte,【例3-1】数据溢出演示。public class Test public static void main(String args) byte a = 20; short b = 20000; short c = 200000; System.out.println(清华大学的院系数量:+a); System.out
15、.println(清华大学的在校生人数:+b); System.out.println(海淀区高校在校生总人数:+c); ,【例3-1】数据溢出演示。,【例3-2】演示常量的不同进制表示。public class Test public static void main(String args) byte a = 10; /十进制 short b = 010; /八进制 int c = 0 x10; /十六进制 System.out.println(a的值:+a); System.out.println(b的值:+b); System.out.println(c的值:+c); ,【例3-2】演
16、示常量的不同进制表示。,3.2.3 浮点型,【例3-3】演示单精度浮点型的使用。public class Test public static void main(String args) float pi = 3.1415f; float r =6.5f; float v = 2*pi*r; System.out.println(该圆周长为:+v); ,3.2.3 浮点型【例3-3】演示单精度浮点型的使用。,【例3-4】演示双精度浮点型的使用。public class Test public static void main(String args) double pi = 3.141592
17、65358; double r =6.5; double v = 2*pi*r; System.out.println(该圆周长为:+v); ,【例3-4】演示双精度浮点型的使用。,3.2.4 字符型,Java语言用Unicode字符集来定义字符型,一个字符占用两个字节的存储空间,这与C/C+不同。前面已经介绍过字符常量,下面再来看看字符型的变量定义:char ch; /定义字符型变量chch = 1; /给ch赋初值为1字符型变量在程序常被用作代号,比如ch为1代表成功,为0代表失败;为F表示女性,为M表示男性等。在具体进行程序设计时,应注意灵活应用。,3.2.4 字符型 Java语言用Un
18、icode字符集来定,3.3 程序语句,3.3.1 赋值语句 3.3.2 条件表达式3.3.3 运算3.3.4 复合语句,3.3 程序语句3.3.1 赋值语句,3.3.1 赋值语句,赋值语句的一般形式为:variable = expression;在这里“=”不是数学中的等号,而是赋值运算符,其功能是将右边表达式的值赋(即传递或存入)给左边的变量,例如:int i,j;char c;i = 100;c = aj = i +100;i = j * 10;,3.3.1 赋值语句赋值语句的一般形式为:,自增自减语句,特别地,对于形如i=i+1;这样的赋值语句,可以将其简写为i+;或者+i,并称之为自
19、增语句,同样还有自减语句i-;或者-i;,它们等价于i=i-1;语句。我们把“+”和“-”叫做自增和自减,它们写在变量的前面与后面有时是有区别的!,自增自减语句特别地,对于形如i=i+1;这样的赋值语句,可以,【例3-5】自增赋值语句。public class Test public static void main(String args) int i, j , k = 1; i = k+; j = +k; System.out.println(i=+i); System.out.println(j=+j); ,【例3-5】自增赋值语句。,复合赋值语句的复合赋值运算,+= 加后赋值-= 减后
20、赋值*= 乘后赋值/= 除后赋值%= 取模后赋值,复合赋值语句的复合赋值运算 += 加后赋值,【例3-6】复合赋值语句。public class Test public static void main(String args) int i=0, j=30 , k = 10; i += k; /相当于 i = i+k; j -= k; /相当于j=j-k; i *= k; /相当于i=i*k; j /= k; /相当于j=j/k; k %=i+j; /相当于k=k%(i+j); System.out.println(i=+i); System.out.println(j=+j); System
21、.out.println(k=+k); ,【例3-6】复合赋值语句。,3.3.2 条件表达式,条件表达式的一般形式为: Exp1?Exp2:Exp3首先计算Exp1,当表达式Exp1的值为true时,计算表达式Exp2并将结果作为整个表达式的值,当表达式Exp1的值为false时,计算表达式Exp3并将结果作为整个表达式的值。,3.3.2 条件表达式条件表达式的一般形式为:,【例3-7】条件表达式示例。public class Test public static void main(String args) int i, j=30 , k = 10; i = j=k*3?1:0; Syste
22、m.out.println(i=+i); ,【例3-7】条件表达式示例。,3.3.3 运算,(1)算术运算 Java的算术运算有加(+)、减(-)、乘(*)、除(/)和取模(%)运算。 3/2 结果为13/2.0 结果为1.55%2 结果为111%3结果为2,3.3.3 运算(1)算术运算,(2)关系运算,关系运算的结果为布尔值,即true或false Java语言中共有六种关系运算:(大于)=(大于等于)(小于)=(小于等于)= =(等于)! =(不等于),(2)关系运算 关系运算的结果为布尔值,即true或f,【例3-8】关系运算示例。public class Test public st
23、atic void main(String args) int i=0, j=30 , k = 10; boolean b1,b2,b3; b1 = ik; b2 = i=j; b3 = j/3!=k; System.out.println(b1=+b1+,b2=+b2+,b3=+b3); ,【例3-8】关系运算示例。,(3)逻辑运算,Java语言中有三种逻辑运算:&(与)、|(或)、!(非),参与逻辑运算的操作数为布尔类型值,最终结果也为布尔值。,(3)逻辑运算xyx&yx|y!xtruefalsefa,(4)位运算,位运算指的是对二进制位进行计算,其操作数必须为整数类型或者字符类型。,(4
24、)位运算运算符用法功能&ope1 &ope2按位与|op,3.3.4 复合语句,语句是程序的基本元素,任何单独的一条语句都可以称之为简单语句,而复合语句是指由一条或多条的语句构成的语句块。在Java语言中,复合语句是用大括号括起来的,可以将其从整体上看成是一条语句,复合语句主要用于流程控制结构中,如选择,循环等,它体现的是程序的一种结构性或者说是局部性,复合语句所包含的语句们要么都执行,要么都不执行,或者都被重复执行若干次。,3.3.4 复合语句 语句是程序的基本元素,任何单独的一条,3.4 应用举例,【例3-9】分析以下程序有哪些错误。public class Test public sta
25、tic void main(String args) short i, j; i = 50000; j = 2.5; System.out.println(i=+i+, j=+j); ,3.4 应用举例【例3-9】分析以下程序有哪些错误。,【例3-10】假设整型变量x的当前值为2,则复合赋值语句x/=x+1执行后x值为多少?,【例3-11】分析以下程序段的功能。int x,y,z,result; /x,y,z分别被赋值result = (xy)?x:y;result =(resultz)?result:z;,【例3-10】假设整型变量x的当前值为2,则复合赋值语句x/,3.5 小结,本章讲述Java程序的基本组成元素及其语法,这是编程的绝对基础,虽然内容不难,但要掌握好也不易,尤其需要理解变量的涵义及其不同的数据类型。对于初学者而言,学习一门编程语言就好比学习一门外语,首先要掌握的就是它的语法,因此很多学好外语的规律同样也适用于学习编程语言,比如记忆、模仿、循序渐进,日积月累。,3.5 小结 本章讲述Java程序的基本组成元素及其语法,,作业,123,作业1,
链接地址:https://www.31ppt.com/p-1285834.html