版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单元一:Java语言程序设计基础任务一:搭建开发环境教学目标知识目标了解Java语言历史;掌握搭建Java集成开发环境方法;掌握Eclipse的基本使用方法;能力目标能会搭建Java集成开发环境。教学内容4任务陈述123知识准备任务实施任务拓展任务实训5任务描述:本部分主要完成Java集成开发环境Eclipse的搭建。1.任务陈述2.1Java的发展历史
–1991年,美国的Sun公司成立了专门的研究小组对家用消费类电子设备方面进行前沿研究,以James领导的Green小组在吸收C/C++语言的优势的基础上,自主创新了一种新的语言。因公司门前有一棵橡树故起名为Oak(橡树),这就是Java语言的前身。
–
随着Java技术在web方面的不断成熟,它已成为Web应用程序的首选开发语言。
2.知识准备2.1Java的发展历史以下是Java语言发展历史大事记:1995年3月,Sun公司正式向外界发布Java语言,Java语言正式诞生。1996年1月,JDK1.0发布。1997年2月,JDK1.1发布。1998年12月,JDK1.2发布,这是Java语言的里程碑,Java也被首次划分为J2SE、J2EE、J2ME三个开发技术。2000年5月,JDK1.3发布。2002年2月,JDK1.4发布。2004年10月,JDK1.5发布,同时Sun公司将JDK1.5改名为J2SE5.0。2006年6月,JDK1.6发布,也称JavaSE6.0,同时Java的各版本去掉2的称号,J2EE改称JavaEE,J2SE改称JavaSE,J2ME改称JavaME。
2.知识准备2.2Java的特点及优势
Java是一种优秀的编程语言,具有以下特性:平台无关性、面向对象、可靠性和安全性、多线程等。2.知识准备2.3Java的运行机制
Java程序的运行必须经过编写、编译、运行三个步骤。
2.知识准备2.4Java的JDKJDK(JavaDevelopmentKit,Java开发者工具箱)是Sun公司免费提供给全世界Java程序员的Java开发工具。其中的开发工具:编译工具(javac.exe)打包工具(jar.exe)等。
2.知识准备3.1解决步骤(1)安装和配置JDK;(2)安装和配置Eclipse。3.任务实施3.2实现步骤(1)JDK下载官方下载地址:
/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe
3.任务实施3.任务实施
(2)JDK安装
1)双击下载的JDK可执行文件进行安装,弹出如下窗口;
2)点击“接受”按钮,弹出如下窗口,可以通过“更改”选项改变JDK的安装路径,然后按照提示步骤逐步完成JDK的安装。
3.任务实施
(2)环境变量配置
1)右击“我的电脑”,打开“属性”,选择“高级”里面的“环境变量”,弹出如下窗口。在新打开的界面中系统变量需要设置三个属性:JAVA_HOME、PATH和classpath。
3.任务实施2)右击“我的电脑”,点击“新建”,然后变量名写上“JAVA_HOME”,顾名思义就是java的安装路径,然后在变量值写上刚才的安装路径“C:\ProgramFiles\Java\jdk1.6.0_02”,即JDK
的安装路径,如图所示。
3.任务实施3)右击“我的电脑”,在系统变量里找到PATH,点击“编辑”。PATH的含义就是系统在任何路径下都可以识别java命令。添加变量值“;%JAVA_HOME%\bin;%java_home%\jre\bin”。(其中“%JAVA_HOME%”的意思是刚才设置的JAVA_HOME的值),如图所示。
3.任务实施4)点击“新建”,然后变量名写“classpath”,该变量的含义为java加载类(binorlib)的路径,只有类在classpath中,java命令才能识别。其值为“.;%java_home%\lib;%java_home%\lib\tools.jar”,如图所示。
【注意】在设置classpath时,“.;”表示当前目录,必须添加!3.任务实施5)验证JDK1.6安装是否成功。点击“开始”->“运行,输入"cmd",进入命令行界面,键入"java-version",如果安装成功,则系统显示javaversion"1.6.0_02"……(不同版本号则不同),如图所示。
3.任务实施6)到“/downloads/”下载相关软件,解压缩之后,Eclipse即可使用。在Eclipse安装目录下找到eclipse.exe执行文件,双击就可以启动Eclipse。
C和C++是贝尔实验室的研发产物。C++完全向C兼容,C程序几乎不用修改即可在C++的编译器上运行。C++也称为带类的C,在C的基础上增加了许多面向对象的概念。
Java是在C++的基础上再一次改进后的编程语言,侧重于网络和数据库编程。
4.任务拓展一、实训目的能够按照教材中任务实施的具体步骤,实现环境搭建。
二、实训内容仿照“任务一”中任务实施的具体过程,完成:JDK的下载、JDK的安装、环境变量设置,在命令提示符窗口中能够运行java命令和javac命令。
5.任务实训单元一:Java语言程序设计基础任务二:初入Java世界教学目标知识目标了解Java程序的分类;掌握Java应用程序的结构;掌握使用Eclipse创建Java应用程序的步骤;能力目标能会使用Eclipse的创建Java应用程序。教学内容4任务陈述123知识准备任务实施任务拓展任务实训5任务描述:
使用Eclipse编写本教材的第一个Java程序,要求输出一个字符串:”WelcometoJavaWorld!”。运行结果如下所示:1.任务陈述2.1Java程序结构2.1.1Java应用程序
2.知识准备publicclassWelcome{publicstaticvoidmain(String[]args){
…这里填写代码!...}}外层框架Java入口程序框架填写代码2.1.2.JavaApplet2.知识准备publicclassWelcomeextendsApplet{
……
}JavaApplet入口点填写代码2.2使用Eclipse创建Java程序的步骤使用Eclipse编写Java程序步骤:1、创建一个Java项目2、手动创建Java源程序3、编译运行Java源程序2.知识准备2.2使用Eclipse创建Java程序的步骤使用Eclipse编写Java程序步骤:1、创建一个Java项目2、手动创建Java源程序3、编译运行Java源程序2.知识准备第一个Java应用程序:
2.知识准备publicclassWelcome{publicstaticvoidmain(String[]args){System.out.println(“WelcometoJavaWorld!");}}
2.知识准备publicclassWelcome{
publicstaticvoidmain(String[]args){System.out.println("WelcometoJavaWorld!");}}关键字高亮显示类名与文件名完全一样main方法是Java程序执行的入口点{和}一一对应,缺一不可main方法四要素必不可少从控制台输出信息3.1解决步骤(1)按照2.2部分所示步骤创建一个名为“Welcome”的类;(2)在main方法中书写向控制台打印信息的代码
;3.任务实施3.2任务代码packagecom.task02;//包名publicclassWelcome{ publicstaticvoidmain(String[]args){//程序执行入口
//TODOAuto-generatedmethodstub System.out.print("WelcometoJavaWorld!");//控制台输出语句
}}3.任务实施Java程序运行时有一个入口,Java定义该入口的格式如下:
publicstaticvoidmain(String[]args);main方法中有一个String数组类型的参数“args”。参数可以通过命令行传入。4.任务拓展 publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub System.out.println(args[0]);//输出第一个参数
System.out.println(args[1]);//输出第二个参数
System.out.println(args[2]);//输出第三个参数
System.out.println(args[3]);//输出第四个参数
}
右键单击“Welcome.java”->“RunAs”->“RunConfiguration”。在弹出窗口下“Arguments”下的“Programarguments”中输入”WelcomtoJavaWorld!”,点击“Run”按钮。4.任务拓展一、实训目的
1、掌握使用Eclipse开发简单Java程序;
2、掌握Java程序的框架;
3、掌握创建一个Java程序的步骤;
4、掌握Java项目组织结构。
二、实训内容仿照“任务二”在Eclipse中编写一个输出自己的基本信息(如所在学校、所属专业、姓名和年龄)的JavaApplication程序。
5.任务实训任务三:求扇形周长和面积程序设计单元一:Java语言程序设计基础教学目标知识目标掌握Java的标识符、关键字和保留字;掌握Java的注释方法;掌握Java的数据类型;掌握Java的运算符和表达式。能力目标能会使用Java注释方法;能会Java数据类型转换;运用Java常用的运算符进行程序设计。教学内容4任务陈述123知识准备任务实施任务拓展任务实训5任务描述:
输入扇形的半径和角度,经过程序执行在控制台输出扇形的周长和面积。要求:扇形的周长只保留整数部分,舍掉小数部分。运行结果如下所示:1.任务陈述2.1Java中的标识符程序中的各个元素加以命名时,使用的命名记号称为标识符。Java中的包、类、方法、参数和变量的名字,可由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但标识符不能以数字开头,不能是Java中的保留字或关键字。2.知识准备2.2Java中的关键字和其他语言一样,Java中也有许多关键字,如public、static等。这些关键字不能当作标识符使用。下面列出了Java中的关键字,这些关键字并不需要读者去强记,因为一旦使用了这些关键字做标识符时,编辑器会自动提示错误。2.知识准备2.知识准备关键字用途boolean、byte、char、double、float、int、long、short、void基本类型true、false布尔类型abstract、final、private、protected、public、static修饰说明synchronized线程同步if、else、switch、case、default、do、while、for控制语句break、continue、return控制转移try、catch、finally、throws、assert异常处理new、super、this、instanceof、null对象创建、引用native、transient、volatile其它2.3Java中的保留字所谓保留字是指Java中现在还没有用到,但是以后随着java版本的升级可能用到。主要有两个:goto和const。与关键字一样,在程序里保留字不能用来做为自定义的标识符。2.知识准备2.4Java中的注释为程序添加注释可以用来解释程序的某些语句的作用和功能,提高程序的可读性。也可以使用注释在原程序中插入设计者的个人信息。此外,还可以用程序注释来暂时屏蔽某些程序语句,让编译器暂时不要处理这部分语句,等到需要处理的时候,只需把注释标记取消就可以了。2.知识准备2.知识准备publicclassWelcome{publicstaticvoidmain(String[]args){
//输出消息到控制台
System.out.println("WelcometoJavaWorld!");}}单行注释以//开始,以行末结束2.知识准备/**Welcome.java*2012-5-8*第一个Java程序*/publicclassWelcome{publicstaticvoidmain(String[]args){System.out.println("WelcometoJavaWorld!");}}文件的名称日期功能说明符号/**/指示中间的语句是该程序中的注释多行注释以/*开始,以*/结束2.5Java中的分隔符Java和其他语言一样有起分割作用的特殊符号,称为分隔符Java里的分割符有6个,分别是分号;大括号{}、方括号[]、小括号()、圆点.、空格。2.知识准备2.6Java中的变量与常量2.6.1.Java中的常量所谓常量,就是程序运行过程中不改变的量。常量有不同类型:布尔常量、整数型常量、字符型常量、浮点型常量和字符串型常量。不同数据类型在后续内容会具体讲解。在Java语言中,使用final关键字声明常量,格式如下:
final常量类型常量标识符[=数值];例如:finalPI=3.1415;//声明一个常量PI。2.知识准备【注意】在Java语言中,定义常量的时候一般都用大写字符。2.6.2.Java中的变量日常生活中把众多事物进行归纳、所谓变量,就是值可以改变的量,变量用来存放数据并保存对象的状态。变量的声明格式如下:变量类型变量名;例如:Stringname;//声明一个变量name。变量声明之后,即可以对其进行赋值,例如使用如下方式对上述变量name进行赋值,格式如下:变量名=数值;
例如:name=”Tom”;//为变量name赋值。2.知识准备2.7Java中的数据类型Java的数据类型划分为两大类:基本数据类型和引用数据类型。2.知识准备2.7.1.基本数据类型1.整数型整数型是指不带小数的数,但包括负数。例如123、-345。整数型变量有四种用来存储整数:字节型、字符型、整型、长整型。2.浮点型浮点型分为float和double两种类型。3.字符型数据Java中的字符通过Unicode字符编码,以二进制的形式存储到计算机中。Unicode编码采用无符号编码,一共可存储65536个字符,所以Java中的字符几乎可以处理所有国家的语言文字。4.逻辑型声明为逻辑型的常量或变量用来存储逻辑值,逻辑值只有true和false,分别用来代表逻辑判断中的“真”和“假”,逻辑型利用关键字“boolean”进行声明。2.知识准备2.7.2.引用数据类型Java语言中除8种基本数据类型以外的数据类型被称为引用数据类型,也称复合数据类型。包括类引用、接口引用以及数组引用。在程序中声明的引用类型变量只是为该对象起一个名字,或者说是对该对象的引用,变量值是对象在内存空间的存储地址而不是对象本身,因此称为引用类型。2.知识准备2.8类型转换Java的数据类型在定义时就已经确定了,因此不能随意转换成其它的数据类型,但Java容许用户有限度地做类型转换处理。数据类型的转换方式可分为“自动类型转换”及“强制类型转换”两种。2.知识准备2.8.1.自动类型转换在某种条件下,系统自动完成类型转换两种类型兼容例如:int和double兼容目标类型大于源类型例如:double型大于int型对于表达式如果一个操作数为double型,则整个表达式可提升为double型2.知识准备intbefore=20;//apple笔记本市场份额doublerise=9.8;//增长的份额intnow=before+rise;//现在的份额intnow=before+(int)rise;去年Apple笔记本所占的市场份额是20,今年增长的市场份额是9.8,求今年所占的份额?编译出错:不能完成自动类型转换(类型名)表达式强制类型转换intb=(int)10.2;doublea=10;intc=(int)a;2.知识准备更改为2.8.2.强制类型转换2.9运算符与表达式2.9.1.赋值运算符2.知识准备变量名表达式;=Z=(X*2)+(5–Y)表达式表达式表达式表达式举例2.9.1.算术运算符2.知识准备操作数操作数运算符+-*/%2.9.3.关系运算符关系运算符用来比较两个值的关系关系运算符包括:>(大于)、<(小于)、<=(小于等于)、>=(大于等于)、==(等于)、!=(不等于)。关系运算符的运算结果是boolean型,当运算符对应的关系成立时,运算结果是true,否则是false。2.知识准备2.9.4.逻辑运算符逻辑运算符包括:&&、||和!。其中&&,||为二目运算符,实现逻辑与,逻辑或。!为单目运算符,实现逻辑非。逻辑运算符的操作元必须是boolean型数据,例如:2>8&&9>2的结果为false;2>8||9>2的结果为true。2.知识准备2.9.5.自增自减运算符自增(++)与自减(--)运算符在C/C++中就已经存在了,Java仍然将它们保留了下来,是因为它们具有相当大的便利性。善用递增与递减运算符可使程序更加简洁。例如,声明一个int类型的变量a,在程序运行中想让它加1,语句如下:a=a+1;//a加1后再赋值给a存放。将a的值加1后再赋值给a存放。也可以利用递增运算符“++”写出更简洁的语句,而语句的意义是相同的:a++;//a加1后再赋值给a存放,a++为简洁写法。2.知识准备2.9.6.位移运算符任何信息在计算机中都是以二进制的形式存在的,位运算符对操作数中的每个二进制位都进行运算。为运算符包括:~(位反)、>>(右移)、<<(左移)、>>>(不带符号的右移)。2.知识准备2.9.7.括号运算符括号()也是Java的运算符,括号运算符()是用来处理表达式的优先级的。以一个简单的加减乘除式子为例:3+5+4*6-7;//未加括号的表达式。2.知识准备3.1解决步骤(1)在Eclipse的项目中创建包com.task03,再创建类AreaAndPerimeterOfFan。(2)在Main方法中定义所需要的变量和常量。(3)从命令行参数接收输入的数据,并转化为float类型。(4)根据扇形的公式求面积和周长。(5)在控制台输出扇形的面积和周长。3.任务实施3.2任务代码publicstaticvoidmain(Stringargs[]) { finalfloatPI=3.1415926927f;//定义常量
floatperimeter,area;//周长和面积
floatradius=Float.parseFloat(args[0]);//由字符串转成数值
floatangle=Float.parseFloat(args[1]);//角度值
area=PI*radius*radius*angle/360;//计算面积
perimeter=2*PI*radius*angle/360+2*radius;//计算周长
intperimeterInt=(int)perimeter; System.out.println("扇形的半径:"+radius); System.out.println("扇形的角度:"+angle); System.out.println("扇形的面积:"+area); System.out.println("扇形的周长(只保留整数部分):"+perimeterInt); }3.任务实施Java中规定了运算符的优先次序,即优先级。当一个表达式中有多个运算时将按规定的优先级进行运算,表3-1列出了各个运算符的优先级的排列,数字越小的表示优先级越高。4.任务拓展4.任务拓展优先级运算符类结合性1()括号运算符由左至右1[]方括号运算符由左至右2!、+(正号)、-(负号)一元运算符由右至左2~位逻辑运算符由右至左2++、--递增与递减运算符由右至左3*、/、%算术运算符由左至右4+、-算术运算符由左至右5<<、>>位左移、右移运算符由左至右6>、>=、<、<=关系运算符由左至右7==、!=关系运算符由左至右8&(位运算符AND)位逻辑运算符由左至右9^(位运算符号XOR)位逻辑运算符由左至右10|(位运算符号OR)位逻辑运算符由左至右11&&逻辑运算符由左至右12||逻辑运算符由左至右13?:条件运算符由右至左14=赋值运算符由右至左一、实训目的1、能较熟练的使用Eclipse开发简单Java程序;2、掌握变量的定义方式;3、掌握Java运算符应用和表达式的书写;4、掌握简单调试和排错方法。二、实训内容仿照“任务三”,实现一个数字加密器。运行时输入加密前的整数,通过加密运算后,输出加密后的结果,加密结果仍为一整数。加密规则为:加密结果=(整数*10+5)/2+3.141595.任务实训任务三:取月份天数程序设计单元一:Java语言程序设计基础教学目标知识目标理解常用程序逻辑结构;掌握if条件语句结构;掌握if-else条件语句结构;掌握掌握多重条件语句结构。能力目标能会使用if-else条件语句结构完成条件编程;会使用多重条件语句结构;能会使用Switch-case语句完成程序设计。教学内容4任务陈述123知识准备任务实施任务拓展任务实训5任务描述:
经过程序执行在控制台输出扇形的周长和面积。要求:扇形的周长只保留整数部分,舍掉小数部分。运行结果如下所示:1.任务陈述2.1顺序结构程序至上而下逐行执行,一条语句执行完之后继续执行下一条语句,一直到程序的末尾。
2.知识准备2.2选择结构2.8.1.if语句结构if条件结构是根据条件判断之后再做处理。2.知识准备if(条件表达式){//语句}表达式语句假真2.8.2.if-else语句结构2.知识准备if(条件){//语句1}else{//语句2}真表达式语句1假语句22.8.3.多重条件语句结构多重if结构就是在else部分中还包含其他if块。2.知识准备
if
(条件){//语句
}
elseif
(条件)
{//语句
}else
{//语句
}假真真假表达式1语句1表达式2语句2语句32.2swtivh结构2.知识准备switch(表达式){
case
常量1:
语句;
break;
case
常量2:
语句;
break;
default:
语句;}如果没有找到匹配的值计算表达式的值如果等于常量1如果等于常量23.1解决步骤(1)获得用户在命令行输入的月份,并转换为整形;(2)使用if分支或switch判断,2月28天,1月、3月、5月、7月、8月、10月、12月的天数是31天,其他月份是30天。3.任务实施3.2任务代码 intmonth; month=Integer.parseInt(args[0]);//得到用户输入的月份
if(month==2)//使用IF分支控制判断月份拥有的天数
{ System.out.print(month+"月有28天"); } elseif(month==1||month==3||month==5||month==7||month==8||month==10||month==12) { System.out.print(month+"月有31天"); } else { System.out.print(month+"月有30天"); }3.任务实施3.2任务代码intmonth; month=Integer.parseInt(args[0]);//得到输入月份
switch(month) { case2: System.out.print(month+"月有28天"); break; case1: case3: ……
System.out.print(month+"月有31天"); break; default: System.out.print(month+"月有30天"); break; }3.任务实施
在任务中,存在一个2月份闰年和非闰年天数不同的问题,要实现准确的天数确定我们需要对给定年数判定是否是闰年,判定公历闰年应遵循的一般规律为:四年一闰,百年不闰,四百年再闰。4.任务拓展任务代码intyear=Integer.parseInt(args[0]); intm=year%100; if(m==0) { if((year%400)==0) System.out.print(year+"年是闰年,2月份有29天"); else System.out.print(year+"年不是闰年,2月份有28天"); }else { if((year%4)==0) System.out.print(year+"年是闰年,2月份有29天"); else System.out.print(year+"年不是闰年,2月份有28天"); }4.任务拓展一、实训目的1、能较熟练的掌握上机步骤和程序开发的全过程;2、基本掌握分支流程控制结构;3、能熟练if、if-else、if-elseif条件结构;4、基本理解switch分支结构。5.任务实训二、实训内容仿照“任务四”,计算个人所得税。设某人月收入为x元,假设个人所得税征收方法如下:当x<=3500时,不需要交税;当3500<x≤5000时,应征税为(x-3500)*3%;当5000<x≤8000时,应征税为(x-5000)*10%+1500*3%;当8000<x≤12500时,应征税为(x-8000)*20%+3000*10%+1500*3%;当12500<x≤15000时,应征税为(x-12500)*25%+4500*20%+3000*10%+1500*3%;当15000<x时,应征税为(x-15000)*30%+2500*25%+4500*20%+3000*10%+1500*3%;
5.任务实训任务五:猜数字游戏程序设计单元一:Java语言程序设计基础教学目标知识目标掌握while循环结构;掌握do-while循环结构;掌握for循环结构。能力目标能会使用while循环结构;能会使用do-while循环结构;能会使用for循环结构。教学内容4任务陈述123知识准备任务实施任务拓展任务实训5任务描述:
猜数游戏:给出一个等式,比如x*4=20,其中x是未知数。编写一个程序实现求出x的数值,使它满足等式,并输出结果。要求:x和乘数的取值范围都在0-9,用for循环和while循环分别实现。运行结果如下所示:1.任务陈述2.1while循环结构循环结构的特点。
2.知识准备循环结构
循环条件循环操作2.知识准备2.2.2.while结构特点:先判断,再执行while(循环条件
){
循环操作}符合条件,循环继续执行;否则,循环退出循环中被重复执行的操作循环操作循环条件真假while(循环条件
){
循环操作}符合条件,循环继续执行;否则,循环退出循环中被重复执行的操作2.知识准备录入班级人数和学员成绩,计算班级学员的平均成绩循环条件:目前录入的成绩数目小于总人数循环操作:录入学生成绩,并累加求和while(i<=stuNum){System.out.print("请输入学号"+i+"的成绩:");score=input.nextInt();sum=sum+score;i++;}avg=sum/stuNum; 2.2.2.do-while循环结构2.知识准备do{
循环操作}while(循环条件);while(循环条件){
循环操作}while循环先判断,再执行不适合描述此故事2.2.2.do-while语句结构2.知识准备do{
循环操作}while(循环条件
);先执行一遍循环操作符合条件,循环继续执行;否则,循环退出特点:先执行,再判断循环操作循环条件真假2.2.2.do-while结构连续录入学生姓名,输入“q”则系统退出2.知识准备Stringname;Scannerinput=newScanner(System.in);do{ System.out.print("请输入学生姓名:"); name=input.next();}while
(!name.equals("q"));System.out.println("程序结束");2.知识准备while循环和do-while循环的区别语法不同初始情况不满足循环条件时while循环一次都不会执行do-while循环不管任何情况都至少执行一次do{
循环操作}while(循环条件);while
(循环条件){
循环操作}先判断,再执行先执行,再判断2.2.3.for循环结构
2.知识准备for(
;
;
){
;}条件为true循环体被执行表达式1表达式2表达式3参数初始化条件判断更新循环变量12432.2.3.for循环结构
2.知识准备for(inti=0;;i++){
System.out.println("这是"+i);}编译正确,但是缺少循环条件,造成死循环2.2.3.for循环结构
2.知识准备for(inti=0;i<10;){
System.out.println("这是"+i);
}i++;省略表达式3,在循环体内应设法改变循环变量的值以结束循环编译通过,但是循环变量的值无变化,造成死循环2.2.3.for循环结构
2.知识准备for(;;){
System.out.println("这是测试");}表达式全省略,无条件判断,循环变量无改变,应在循环体内设法结束循环,否则会造成死循环死循环2.2.4.流程控制语句
2.知识准备break:改变程序控制流用于do-while、while、for中时,可跳出循环而执行循环后面的语句while(…){………………
break;………………}跳出整个循环break通常在循环中与条件语句一起使用2.2.4.流程控制语句
2.知识准备continue:只能用在循环里continue
作用:跳过循环体中剩余的语句而执行下一次循环while(…){………………
continue;…………}继续下一次循环通常与条件语句一起使用,加速循环for(inti=0;i<10;i++){
跑400米;
if(!口渴){
continue;//不喝水,继续跑
}
接过水壶,喝水;}示例3.1解决步骤(1)从命令行参数获取第二个乘数和乘法结果;(2)通过for循环遍历0-9之间的数,查找能使等式成立的数字,如果找到则用break跳出循环,否则直到for循环执行完;(3)输出是否查找到符合要求的数字,以及数字的具体值。3.任务实施3.2任务代码intnum1=0; intnum2=Integer.parseInt(args[0]); intresult=Integer.parseInt(args[1]); inti; for(i=0;i<10;i++) { if(i*num2==result) { num1=i; break; } if(i<10) { System.out.println("数字"+num1+"可以使下面的等式成立:"); System.out.println("x*"+num2+"="+result); } else System.out.println("没有符合要求的数字");3.任务实施3.2任务代码intnum1=0;
intnum2=Integer.parseInt(args[0]); intresult=Integer.parseInt(args[1]); inti=0;
while(i<10) { if(i*num2==result) { num1=i; break; } i++; } if(i<10){System.out.println("数字"+num1+"可以使下面的等式成立:");System.out.println("x*"+num2+"="+result); } else System.out.println("没有符合要求的数字");3.任务实施
继续拓展猜数字构建等式游戏的程序设计,如果加大游戏难度,两个乘数都为未知数,例如:x*y=200,通过循环找到所有符合等式的数字,并输出所有符合要求的等式。要求:x和y的取值范围是10~100。显然单重循环已经不能解决这个问题了,必须使用双重循环,双重for循环的格式为:for(…;…;…){ ……//语句for(…;…;…) { ……//语句
}……//语句}4.任务拓展一、实训目的1、熟练掌握上机步骤和程序开发的全过程;2、掌握循环流程控制结构的while循环结构;3、掌握循环流程控制结构的do-while循环结构;4、掌握循环流程控制结构的for循环结构。
二、实训内容仿照“任务五”,实现任务:2006年培养学员8万人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人?5.任务实训任务一:描述“人类”信息程序设计单元二:面向对象程序设计教学目标知识目标类与对象概念与特征、属性和方法;类与对象的关系;定义类的语法;创建类的对象,使用对象的步骤。能力目标运用面向对象程序设计思想分析类和对象特征;能会创建和使用类和对象。教学内容4任务陈述123知识准备任务实施任务拓展任务实训5任务描述:“人”是社会主体,日常生活中要想描述一个人主要包括姓名、年龄、性别、体重、家庭地址等信息。任务要求在计算机中使用Java语言对“人类”进行描述,并用Java代码实现,最后打印出人的信息。运行结果如下所示:运行结果:1.任务陈述2.1类与对象的概念与关系2.1.1对象的概念
对象(Object)是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。它们是有形的,如某个人、某种物品;也可以是无形的,如某项计划、某次商业交易。
对象包含特征和行为,特征指对象的外观、性质、属性等;行为指对象具有的功能、动作等。例如,一个名字叫张三的同学就是一个对象。他具有自己的特征:学号=1,姓名=“张三”,出生年月=“1994-10-18”,家庭住址=“中国山东省济南市”。具有上课、做作业、休息等行为。2.知识准备2.1.2.类的基本概念日常生活中把众多事物进行归纳、划分,然后分类是人类在认识客观世界时经常采用的思维方法。换句话说“类”是从日常生活中抽象出来的具有共同特征的实体。因此我们把具有相同特征及相同行为的一组对象称为类(ClassofObject),使用第一个英文单词Class作为描述类的Java关键字,Java语言中类是为了描述具体对象而存在的。例如:张三同学是一个对象,李四同学也是一个对象,并且全班的同学都有学号、姓名、出生年月、家庭住址,具有上课、做作业、休息等行为。从整个班级所有的对象中抽象出共同特征和行为就可以形成我们常说的“学生”类,此时,学生就是一个类。2.知识准备2.1.3类与对象的关系上面讲述的类和对象的概念中我们可以简单的看出:类中的属性对应着对象的特征,类中的方法则对应着对象的行为。类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类。类是广泛的概念,表示一个有共同性质的群体,而对象指的是具体的一个实实在在的东西。总起来说“对象是类的实例,类是对象(们)的抽象”。
例如,“学生”是一个类,它可以表示班级中所有的学生;而“张三”、“李四”则是实际存在的单个对象,或者说它们是“学生”这个类的一个个实例。在Java中,我们可以定义类,然后创建类的对象。2.知识准备2.2类的定义
类是一个独立的单位,它有一个类名,其内部包括成员变量,用于描述属性;还包括类的成员方法,用于描述行为。因此,类也被认为是一种抽象数据类型,这种数据类型不但包括数据,还包括方法。2.2.1类的格式[修饰符]class类名{//定义属性部分成员变量1;…成员变量n;//定义方法部分方法1;…方法n;}2.知识准备注解:1.修饰符。修饰类的修饰符有public、abstract和final,这些修饰符将在后面的任务中介绍。包含main方法的主类必须定义为public。2.class关键字。class为Java定义类的关键字,必须写在修饰符和类名中间,使用空格隔开,并且不能改变任何一个字符的大小写,如:Class是错误的。3.类名。类的名字要符合Java的命名规范,同时名字要有意义能够反映出这个类的内容,第一个字母一般为大写。【实例2-1】用Java类的定义描述汽车publicclassCar{
Stringcolor;//颜色
int
count;//容纳人数
Stringbound;//汽车品牌
floatweight;//重量}2.知识准备2.2.2类的成员变量和方法类包括属性和方法两部分。属性(成员变量)是用于描述从对象中抽象出来的特征项。方法(成员方法)是用于描述从对象中抽象出来的特征行为。例如,从所有同学中抽象出来的学号(stuNo)、姓名(stuName)、出生年月(stuBirthday)、家庭住址(stuAddress),称为“学生”类的成员变量。从所有同学中抽象出来的上课、做作业、课后活动、休息等行为。 [修饰符]数据类型
成员变量名[=初值];
例如:publicStringname=”Jack”;intage=10;类可以分为系统类和用户自定义类。系统类存放在Java类库中,用户自定义类是程序员自己定义的类。类将现实世界中的概念模拟到计算机程序中。类的特性包括:
封装性、继承性和多态性。2.知识准备2.3创建对象2.3.1创建对象的格式
类名对象名=new类名([参数1,参数2…]);例:Cartruck=newCar();Cartruck;//声明newCar();//实例化=//赋值2.知识准备2.3.2对象的使用
通过使用运算符“.”,对象可以实现对自己变量的访问及对自己方法的调用。对象访问格式如下:变量访问:对象名.成员变量名;方法访问:对象名.成员方法名([参数1,参数2…]);例如:Cartruck=newCar();truck.color="黑色";truck.count=3;truck.bound="黄河";truck.weight=12.5f;Carbus=newCar();bus.color="红色";bus.count=50;bus.bound="宇通";bus.weight=8.5f;2.知识准备1.实现思路打开Eclipse,创建Person类;在类大括号内进行属性定义;利用创建的Person对象,使用“对象名.属性名”形式进行赋值,并输出对象的各个属性值。3.任务实施2.任务代码
Personp1=newPerson();//声明并实例化一Person对象p1 Personp2=newPerson();//声明并实例化一Person对象p2 //给p1的属性赋值
="张三"; p1.age=25; p1.address="济南"; p1.sex='m'; p1.weight=100; //给p2的属性赋值
="李四"; p2.age=30; p2.address="北京"; p2.sex='w'; p2.weight=80; System.out.println("我是:"++",性别:"+p1.sex+",今年:"+p1.age+"岁"+",体重:"+p1.weight+",住址是:"+p1.address); System.out.println("我是:"++",性别:"+p2.sex+",今年:"+p2.age+"岁"+",体重:"+p2.weight+",住址是:"+p2.address);3.任务实施
上面的任务代码中,对类Person的测试是在类的内部main()方法中进行的。更多的情况下,应该新建一个PersonTest测试类,对类Person进行测试。每个类单独为一个源代码文件。
publicclassPerson{//源文件1 //省略属性声明}publicclassPersonTest
{//源文件2 publicstaticvoidmain(String[]args) {//声明并实例化一Person对象p1 Personp1=newPerson(); //声明并实例化一Person对象p2 Personp2=newPerson(); //省略给p1的属性赋值
//省略给p2的属性赋值
//省略输出语句 }}4.任务拓展一、实训目的二、实训内容三、简要提示四、实训思考5.任务实训任务二:借书卡程序设计单元二:面向对象程序设计教学目标知识目标类的方法组成部分;定义和使用类的方法;变量作用域;定义包和导入包的关键字;构造方法实现对象成员的初始化;方法重载;对构造方法进行重载。能力目标能会定义和使用类的方法;能会正确理解变量的作用域;能会使用包组织Java工程;运用构造方法完成对象实例化;能会正确区分和使用方法重载。教学内容4任务陈述123知识准备任务实施任务拓展任务实训5任务描述:借书卡是学生日常生活重要组成部分。每张借书卡信息包含账号、持卡人姓名、身份证号码、地址、已借书数、可借书数、本次借书数、本次还书数。使用借书卡还可以借书、还书和查询。要求:根据持卡人不同操作,显示不同信息。当借书操作后,显示本次借书数及已借书数;当还书操作时,显示本次还书数和已借书数。运行结果:1.任务陈述2.知识准备2.4类的方法2.4.1定义类的方法Java类中方法的声明采用以下格式:[访问修饰符]<修饰符>返回值类型方法名称([参数列表]){方法体}1.返回值类型:表示方法返回值的类型。如果方法不返回任何值,它必须声明为void(空)。对于有返回值的方法,方法中一定有return语句,方法的返回值类型和return语句后面的类型一样。例如,如果一个方法中含有代码return“aaaa”;那么包含该句的方法返回值是字符型。接收方法返回值的变量也必须与指定方法返回值的类型相兼容。2.方法名称:可以是任何合法标识符,但具有意义,第一个字母小写。3.参数列表:允许将参数值传递到方法中。列举的元素由逗号分开,而每一个元素包含一个类型和一个标识符,也称之为形参。2.知识准备2.1.2使用类的方法对象创建以后,使用“.”操作符实现对其方法调用,方法中的局部变量被分配内存空间,方法执行完毕,局部变量即刻释放内存。1.无参方法的调用类的方法在使用时一般要先创建类的对象,再通过对象调用方法。
例如,定义Person类的对象zhangsan
: Personzhangsan=newPerson();然后通过对象调用类的方法。例如调用学习方法:
zhangsan.study();//study方法返回值为String类型如果需要利用study()方法的返回值,可以将返回结果赋给同一类型的变量。例如:Strings1=zhangsan.study();2.知识准备2.有参方法的调用同样在定义了类的对象后调用,并需要传入实际的参数,此时的参数称为实际参数,简称实参。实参必须与方法定义中的形参一致,所谓的一致是要求参数个数、参数类型、参数的排列顺序一致。
例如,定义Person类的对象zhangsan,通过对象调用类的play方法,play方法中含有一个String类型的变量:zhangsan.play(“football”); //对象名.
play方法
同样如果需要利用方法的返回值,可以将返回结果赋给同一类型变量。2.知识准备3.静态方法的调用静态方法的调用无需定义对象,可以通过类名直接使用,我们也称这种方法为类方法。
定义格式:[public]static返回值方法名([参数列表]){…}
调用格式:类名.方法名(实参1,实参2,……);
例如,在类Person中定义一个静态方法eat(): publicstaticvoideat(){ …… }那么,静态方法的调用:Person.eat();
注意:静态方法内部只能调用静态方法和静态变量。
【实例2-2】计算立方体的体积程序设计2.知识准备2.5构造方法创建类的对象时,使用new关键字和一个与类名相同的方法来完成,这个方法是在实例化过程中被调用的,称之为构造方法。构造方法区别于普通的方法,有几个明显的特点:它的名字必须与它所在的类的名字完全相同。不返回任何数据类型,也不需要使用void声明。它的作用是创建对象并初始化成员变量。在创建对象时,系统会自动调用类的构造方法。构造方法一般都用public来声明,这样才能在程序任意位置创建对象。每个类至少有一个构造方法。如果不写构造方法,Java将提供一个默认的不带参的方法体为空的构造方法。格式:
[访问权限]类名称([参数1,参数2,……]){ //程序语句; //构造方法没有返回值 }
注意:构造方法不能像成员方法那样直接被对象调用,只能在new运算符实例化对象时,被系统自动调用。2.知识准备2.知识准备构造方法分类构造方法根据参数进行了分类:无参构造方法和有参构造方法。1.无参构造方法
例如:publicclassPeople{ publicPeople(){ ……//使用固定值初始化成员变量}}
那么在含有main方法的测试类中实例化People对象时:Peoplep1=newPeople();注意:无参构造方法可以不写,类中默认含有一个无参构造方法,并且该构造方法的方法体内没有语句。而使用默认值初始化对象成员变量,数值型变量初始为0,布尔型初始为false,字符型初始为“\0”,字符串初始为null;
2.知识准备2.有参构造方法
例如:publicclassPeople{ intage; Stringname; publicPeople(intmyAge,StringmyName){ age=myAge;name=myName;}} 那么在含有main方法的测试类中实例化People对象时:Peoplep1=newPeople(20,”zhangsan”);上面的实例化就可以看出是把成员变量进行了动态的赋值。注意:当定义了有参的构造方法后,无参构造方法将不再存在,如果还想使用无参的构造方法进行实例化对象,就需要显性的写出无参构造方法。
2.知识准备2.3方法重载2.3.1方法重载的概念方法重载是指多个方法享有相同的名字,但是这些方法的参数必须不同,所谓的不同是指:参数的个数不同,参数类型不同,参数的顺序不同。返回类型不能用来区分重载的方法。在这种情况下,该方法就叫被重载了,这个过程称为方法的重载。当一个重载方法被调用时方法名是一样的,因此Java用参数的类型、(或)数量、(或)顺序来选择实际调用的重载方法。例如:System.out.println();里面的println这个方法就是重载方法。注意:方法的重载要使用恰当,当一个动作(方法)分别接受不同的指令(参数)产生不同的效果,可以使用。但过度的使用将会降低程序的可读性。参数不同是区分重载方法的关键因素,参数不同主要包括以下方面的不同:参数类型不同。例如:publicvoidmethod(Strings);publicvoidmethod(ints);参数个数不同。例如:publicvoidmethod(Strings,inti);publicvoidmethod(Strings);参数顺序不同。例如:publicvoidmethod(Strings,inti);publicvoidmethod(inti,Strings);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车辆抵押借款合同(汇编15篇)
- 车库人工挖孔桩专项施工方案
- 泌尿系统结石辩证
- 2025 高中语文必修上册《声声慢(寻寻觅觅)》李清照词中情感的细腻表达的节奏韵律课件
- 机车车辆制动试题及答案
- 血压计使用试题及答案
- 2025年临床执业医师《外科学》测试练习卷
- 医保基金使用自查规范考核试题及答案
- 医保内控管理制度培训试题及答案
- 2026东北三省三校高三下学期一模考试地理试卷和答案
- 2026年春季学期西师大版(2024)小学数学二年级下册教学计划
- 2026年包头铁道职业技术学院单招职业适应性测试题库附答案详解(突破训练)
- 2026人教版(PEP)小学英语四年级下册电子课本
- 一般固废人员培训制度
- 自救器维修保养制度规范
- 2026年湖南安全技术职业学院单招职业适应性测试模拟测试卷新版
- 采购合规培训课件
- 中小学生欺凌防治工作制度+学生欺凌防治处置工作指引+中小学生欺凌调查认定和复查复核程序指引
- 2025陕西事业单位职业能力测试及综合应用能力真题及答案
- 机电介绍教学课件
- 农业机械租赁合同(施肥机)2025年使用协议
评论
0/150
提交评论