Java程序设计教程(第三版)课件 项目二 Java语言编程基础_第1页
Java程序设计教程(第三版)课件 项目二 Java语言编程基础_第2页
Java程序设计教程(第三版)课件 项目二 Java语言编程基础_第3页
Java程序设计教程(第三版)课件 项目二 Java语言编程基础_第4页
Java程序设计教程(第三版)课件 项目二 Java语言编程基础_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目二Java语言编程基础

【项目描述】常用的编程元素——常量与变量;数据分类法——数据类型;编程部件——运算符、表达式与语句;程序执行方向——程序控制结构。【任务分解】

本项目可分解为以下几个任务:1.数据类型与常量、变量。2.运算符和表达式与语句。3.程序控制结构。任务一

数据类型与常量、变量

【任务描述】任务2-1:声明两个整型变量x和y,分别赋予它们初始值5和8,求两数之和,并输出结果。跳至解题思路【必备知识】1.认识标识符Java对标识符定义的规定:标识符可以由字母、数字、下划线(_)或美元符号($)组成。标识符必须以字母、下划线(_)或美元符号($)开头。标识符长度不限,但在实际中不宜过长。标识符区分大小写,例如:Myworld与myworld是不同的。标识符不能与关键字(保留字)同名。2.认识关键字abstractassertbooleanbreakbytecasecatchcharclassconstcontinuedefaultdodoubleelseextendsfinalfinallyfloatforgotoifimplementsimportinnerinstanceofintinterfacelongnativenewnulloperatorouterpackageprivateprotectedpublicreturnshortstaticsuperstrictfpswitchsynchronizedthisthrowtransienttryvoidvolatilewhileenumthrows3.认识数据类型Java的数据类型可以分为两大类:基本数据类型与引用数据类型。4.认识常量常量是指在程序运行过程中其值始终保持不变的量。常量共包含以下6类。(1)整型常量表2.2Java整型数据的取值范围(2)浮点型常量如果不明确指明浮点数的类型,浮点数默认为double。如:3.141592(double型浮点数)2.08E25(double型浮点数)6.56f(float型浮点数)(3)字符型常量字符型常量是由一对单引号包含起来的单个字符。例如:‘a’,‘2’。(4)字符串常量字符串型常量是由一对双引号括起来的,0个或多个字符组成的一个字符序列。如:“stu”。(5)布尔型常量布尔型常量只能取值为true和false,其中true表示逻辑真,false表示逻辑假。(6)null常量null常量只有一个值,用null表示,表示为空。5.认识变量(1)变量的命名规则变量也是一种标识符,所以它也遵循标识符的命名规则。(2)声明变量变量声明格式为:类型名变量名[=常量];示例1:声明整型变量。public

classExample2_1{

public

static

voidmain(String[]args){

inta=016;//声明int型变量a,并赋予它初值为八进制数16

intb=3;

intc=0x15;

longy=123456L; System.out.println("a="+a);//输出a的值 System.out.println("b="+b); System.out.println("c="+c);System.out.println("y="+y);}}示例2:声明单精度和双精度类型变量。代码请参考Example2_2。示例3:声明字符类型变量。代码请参考Example2_3。示例4:声明字符串类型变量。publicclassExample2_4{ publicstaticvoidmain(String[]args){ Stringstr1="Hello"; Stringstr2="123"; System.out.println("str1="+str1); System.out.println("str2="+str2); }}示例分析:在本例中,声明了String类型(即字符串类型)变量str1和str2,并分别给它们赋予初始值“Hello”和“123”,调用println()方法在屏幕上显示两个变量的值。(3)变量的作用域变量是有作用范围的,一旦超出它的范围,就无法再使用这个变量。按作用范围进行划分,变量分为成员变量和局部变量。1)成员变量在类体中定义的变量为成员变量。它的作用范围为整个类,也就是说在这个类中都可以访问到定义的这个成员变量。示例6:成员变量的作用范围。代码请参考Example2_6。2)局部变量Java可以在程序的任何地方声明变量,当然也可以在循环里声明。有趣的是,在循环里声明的变量只是局部变量,只要跳出循环,这个变量便不能再使用。示例7:局部变量的作用范围。代码请参考Example2_7。【解题思路】

任务2-1:1.首先分析确定要使用多少个变量,声明两个int型的变量。2.分别赋予它们初始值。3.再声明一个int型的变量,用于存放两数之和。在声明求和的变量时,一般要将其初始值设为0。4.调用println()方法在屏幕上显示所求的和。重温任务描述【任务透析】//ClassDemo2_1Test.javapublicclassClassDemo2_1Test{ publicstaticvoidmain(String[]args){ intx=5; inty=8; intsum=0; sum=x+y; System.out.println("sum="+sum); }}【现场演练】有三门课程成绩,通过使用“声明变量”和“赋予初始值”的知识,完成求三门课程的平均分,并输出所求的平均分。示例分析:把变量i声明在for循环里,因此变量i在此就是局部变量,它的有效范围仅在for循环开始和结束之间(即5~9行),只要一离开这个范围,变量i便无法使用。相对而言,变量sum是声明在main()方法的开始处,因此它的有效范围从(03~09)行,当然,for循环内也属于变量sum的有效范围。任务二

运算符、表达式与语句

【任务描述】任务2-2:(1)已知a=13,b=4,求a/b,(float)a/b,a%b,((a>10)&&(b<5))的值;(2)已知i=3,j=3,求x=i++,i,y=++j,j的值;(3)计算12+5>3||12-5<7表达式的值。求结果,并按给定的变量和初始值编写程序验证结果。跳至解题思路【必备知识】1.运算符。(1)赋值运算符赋值运算符是“=”,通过一个示例来讲解赋值运算符的用法。示例10:在程序中用“=”赋值。代码请参考Example2_10。(2)算术运算符数据类型精度的次序:byte<short<int<long<float<double。例如:20+3//结果是286*5//结果是309/4//结果是29/4.0//结果是2.259%4//结果是19%4.0//结果是1.0-9%5//结果是-4(3)关系运算符比较两个值是否满足某种关系。如果满足,则返回“true”(真),否则返回“false”(假)。关系运算符都是二元运算符,见表2.6。12.5>9.5//结果是true25!=25//结果是false3==3//结果是true‘T’<‘a’//结果是true(4)递增与递减运算符(5)逻辑运算符(6)位运算符位运算是对整数类型的操作数按二进制的位进行运算,运算结果仍然是整数类型值。在Java语言中位运算的操作数只能为整型和字符型数据。具体运算符见表2.8所示。(7)条件运算符条件运算符格式为:表达式1?表达式2:表达式3intmin,x=5,y=19;min=(x<y)?x:y;//(x<y)=(5<19)的值是true,取x的值,即min=x=4;2.运算符的优先级运算符的优先级及结合性见表2.10。3.表达式表达式是由常量、变量或是其他操作数与运算符所组合而成的语句。例如下面均是正确的表达式:-49//表达式由一元运算符“﹣”与常量49组成sum+2//表达式由变量sum、算术运算符“+”与常量2所组成a+b-c/(d*3)//表达式由变量、常量与运算符所组成4.语句在学会使用运算符和表达式后,就可以写出最基本的Java程序语句了。语句用来向计算机系统发出操作指令。程序由一系列语句组成。Java语言中的语句主要分为以下几类:(1)表达式语句Java语言中最常见的语句是表达式语句,其形式如下:表达式;例如:a+b(2)空语句空语句只有分号,没有内容,不执行任何操作。设计空语句是为了语法需要。例如,循环语句的循环体中如果仅有一条空语句,表示执行空循环。例如:for(inti=0;;i++){}(3)复合语句(4)声明语句(5)赋值语句(6)控制语句控制语句完成一定的控制功能,包括选择语句、循环语句和转移语句。【解题思路】

任务2-2:1.声明变量。2.给变量赋初值。3.按要求计算。4.调用println()方法在屏幕上显示所求的值。重温任务描述【任务透析】//ClassDemo2_2Test.java

public

classClassDemo2_2Test{

public

static

voidmain(String[]args){ /*(1)已知a=13,b=4, *求a/b,(float)a/b,a%b,((a>10)&&(b<5))的值。 */ 01inta=13,b=4; 02System.out.println("(1)的结果为:"); 03System.out.println("a/b="+(a/b));04System.out.println("(float)a/b="+(float)(a/b)); 05System.out.println("a%b="+(a%b)); 06System.out.println("((a>10)&&(b<5))="+((a>10)&&(b<5))); /*(2)已知i=3,j=3, *求x=i++,i,y=++j,j的值。 */ 07inti=3,j=3,x,y; 08x=i++; 09y=++j; 10System.out.println("(2)的结果为:"); 11System.out.println("x="+x+",i="+i); 12System.out.println("y="+y+",j="+j); /* *计算12+5>3||12-5<7表达式的值

*/ 13System.out.println("(3)的结果为:"); 14System.out.println(12+5>3||12-5<7); }}【现场演练】inti=15,j1,j2,j3,j4,(1)j1=i++,求j1和i值;(2)j2=++i,求j2和i值;(3)j3=i--,求j3和i值;(4)j4=--i,求j4和i值。【知识链接】复合赋值运算符任务三

程序控制结构

【任务描述】任务2-3-1:公共汽车买票问题:乘客上车时显示Welcome;输入乘客年龄;如果年龄小于8岁或大于60岁,免票显示OK,否则显示:2yuan。任务2-3-2:分别用for语句、while语句和do…while语句求1+2+…+100。任务2-3-3:编程输入成绩(0~100分数),根据输入的百分制按五分制的成绩输出(排除不可能的分数)。百分制与五分制之间的关系见表2.12。跳至解题思路任务2-3-4:用for循环完成如下所示的图形。【必备知识】1.程序的结构设计一般来说程序的结构包含以下3种:1、顺序结构2、选择结构3、循环结构这3种不同的结构有一个共同点,就是它们都只有一个入口,也只有一个出口。程序中使用了上面这些结构到底有什么好处呢?这些单一入、出口可以让程序易读、好维护,也可以减少调试的时间。2.顺序结构结构化程序的最简单的结构就是顺序结构,所谓顺序结构就是按书写顺序执行的语句构成的程序段,其流程如图2-2所示。示例11:将华氏温度转换为摄氏温度。摄氏温度c和华氏温度f之间的关系为:c=5(f-32)/9。public

classExample2_11{

public

static

voidmain(String[]args){

floatf,c; f=70.0f; c=5*(f-32)/9; System.out.println("f="+f); System.out.println("c="+c); }}示例分析:main()方法中声明了f和c两个float类型的变量,分别表示华氏温度和对应的摄氏温度,接着给f赋值70.0,通过5*(f-32)/9计算对应的摄氏温度,最后输出f和c的值。main()方法中,各语句按照书写的先后次序顺序执行,属于顺序结构。3.选择结构

程序中有些程序段的执行是有条件的,当条件成立时,执行一些程序段;当条件不成立时,执行另一些程序段,或不执行,称为选择结构。选择结构程序通过Java提供的选择语句对给定条件进行判断,根据条件的满足与否,执行对应的语句。选择语句有两种:if语句和switch语句。(1)if语句if语句也叫条件语句,它根据条件表达式的值来选择将要执行的语句。可以实现单分支、双分支和多分支等选择结构。形式一:if语句实现单分支选择结构。其使用格式如下:If(条件表达式){

语句主体}示例12:用if语句实现单分支选择结构。代码请参考Example2_12。形式二:if-else语句实现双分支选择结构。其使用格式如下:if(条件表达式){ 语句主体1;}else{语句主体2;}其流程图如图2-4所示。图2-4双分支选择结构的流程图示例13:用if…else语句实现双分支选择结构。代码请参考Example2_13。形式三:嵌套的if-else语句实现多分支选择结构。其使用格式如下:if(条件表达式1){

语句主体1;}elseif(条件表达式2){

语句主体2;}…//多个elseif()语句else{

语句主体n;}示例14:用嵌套的if…else语句,实现多分支选择结构。y和x的函数关系如表2.13所示,编写由x计算y的程序。public

classExample2_14{

public

static

voidmain(String[]args){

floatx,y; x=Float.parseFloat(args[0]);

if(x<0) y=0;

else

if(x>0&&x<=10) y=x;

else

if(x>10&&x<=20) y=10;

else y=0.5f*x+20; System.out.println("x="+x); System.out.println("y="+y); }}(2)switch语句---多分支选择语句switch语句能够根据给定表达式的值,从多个分支中选择一个分支来执行。其使用的格式如下:switch(表达式){ case选择值1:语句主体1;break; case选择值2:语句主体2;break; …… case选择值n:语句主体n;break; default:语句主体;}功能说明:1)switch语句先计算括号中表达式的结果。2)根据表达式的值检测是否符合执行case后面的选择值,若是所有case的选择值皆不符合,则执行default所包含的语句,执行完毕即离开switch语句。3)如果某个case的选择值符合表达式的结果,就会执行该case所包含的语句,直到遇到break语句后才离开switch语句。4)若是没有在case语句结尾处加上break语句,则会一直执行到switch语句的尾端才会离开switch语句。5)若是没有定义default该执行的语句,则什么也不会执行,而是直接离开switch语句。6)若选择值为字符时,必须用单引号将字符包围起来。switch语句的流程图示例15:通过命令行输入1~12之间的一个整数,输出相应月分的英文单词(使用switch语句处理)。代码请参考Example2_15。4.循环结构循环结构包括while语句、do…while语句和for语句。(1)while语句while循环的格式如下:while(判断条件){

语句1;

语句2;

…语句n;}功能说明:先计算“判断条件”的值,若判断条件的值为真(true),则执行循环体中的语句;再计算“判断条件”的值,若判断条件的值为真(true),再执行循环体的语句,形成循环,直到判断条件的值为假(false),结束循环,执行while语句后面的语句。

循环流程图示例16:while循环的使用。01public

classExample2_16{02 public

static

voidmain(String[]args){03 inti=1,sum=0;04 while(i<=10){05 sum+=i;//累加计算06 i++;07 }08 System.out.println("1+2+...+10="+sum);09 }

(2)do…while语句do…while循环的格式如下:do{语句1;

语句2;

…语句n;}while(判断条件);示例17:do…while循环的使用代码请参考Example2_17。(3)for语句for循环的格式如下:for(赋值初值;判断条件;赋值增减量){语句1;

语句2;

…语句n;}若是在循环主体中要处理的语句只有1个,可以将大括号去掉。for循环流程图(4)循环嵌套当循环语句中又出现循环语句时,就称为嵌套循环,如嵌套for循环,如嵌套while循环等。当然也可以使用混合嵌套循环,也就是循环中又有其他不同种类的循环。例如:for(;;)//外循环开始{for(;;)//内循环开始 {……}//内循环结束}//外循环结束for(;;)//外循环开始{do{//内循环开始 ……}while();//内循环结束}//外循环结束

5.循环跳转语句(1)break语句(2)continue语句示例21:break语句的使用代码请参考Example2_21。示例22:continue语句的使用代码请参考Example2_22。【解题思路】

任务2_3_1:“年龄小于8岁或年大小于60岁”的数学表达式为“age<8||age>60”。任务2_3_2:while循环语句的特点是:先判断,后执行;do-while循环语句的特点是:先执行,后判断。任务2_3_3:用嵌套的if-else语句时,要注意else和if的匹配问题。当有多种分支时,使用switch-case语句会让程序更容易理解。任务2_3_4:声明3个控制变量i、sapce、star。i变量控制行数,space变量控制空格数,star变量控制图形数,由for循环嵌套完成整个图形的输出。

重温任务描述【任务透析】//ClassDemo2_3_1Test.javapublic

classClassDemo2_3_1Test{

public

static

voidmain(String[]args){ System.out.println("Welcome"); Shortage; age=Short.parseShort(args[0]);

if(age<8||age>60) System.out.println("Ok");

else System.out.println("2yuan"); }}//ClassDemo2_3_2Test.javapublic

classClassDemo2_3_2Test{

public

static

voidmain(String[]args){ //用while循环语句完成

inti=1,sum1=0;

while(i<=100) { sum1+=i; i++; } System.out.println("while语句:1+2+...+100="+sum1); //用do...while循环语句完成

intj=1,sum2=0;

do{ sum2+=j; j++; }while(j<=100); System.out.println("do...while语句:1+2+...+100="+sum2); //用for循环语句完成

intk=1,sum3=0;

for(k=1;k<=100;k++) sum3+=k; System.out.println("for语句:1+2+...+100="+sum3); }}//ClassDemo2_3_3Test.javapublic

classClassDemo2_3_3Test{

public

static

voidmain(String[]args){ //嵌套的if语句完成

intscore;

chargrade; score=(int)Float.parseFloat(args[0]);

if(score>=0&&score<=100) {

if(score>89) grade='5';

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论