《Java程序设计(第2版)》全套教学课件_第1页
《Java程序设计(第2版)》全套教学课件_第2页
《Java程序设计(第2版)》全套教学课件_第3页
《Java程序设计(第2版)》全套教学课件_第4页
《Java程序设计(第2版)》全套教学课件_第5页
已阅读5页,还剩340页未读 继续免费阅读

下载本文档

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

文档简介

项目一

走进Java程序开发1.1任务1认识Java全套可编辑PPT课件1.1任务1:认识Java.pptx1.2任务2:Java开发环境搭建.pptx1.3任务3:使用记事本开发HelloWorld程序.pptx1.4任务4:使用IDE编写Java程序.pptx10.1任务1:了解JDBC技术.pptx10.1任务2:使用JDBC操作MySQL数据库.pptx10.1任务3:JavaBean技术的应用.pptx11.1任务1:了解Servlet技术.pptx11.1任务2:创建Servlet.pptx2.1任务1:使用Java基础知识完成幸运抽奖.pptx2.2任务2:使用控制语句完善幸运抽奖结果判断.pptx2.3任务3:使用循环语句完善功能菜单.pptx2.4任务4:为系统添加异常处理操作.pptx3.1任务1:使用数组储存学生成绩.pptx3.2任务2:多维数组.pptx4.1任务1:计算器类的设计.pptx4.2任务2:计算器类的实例化.pptx5.1任务1:访问权限控制.pptx5.2任务2:Java面向对象的3大特性.pptx5.3任务3:接口.pptx5.4任务4:图书馆管理系统项目开发.pptx6.1任务1:集合.pptx6.2任务2:使用迭代器遍历学生信息.pptx7.1任务1:完成文件的读写操作.pptx8.1任务1:进程与线程.pptx9.1任务1:使用JSP实现输出信息.pptx9.2任务2:使用JSP获取学生注册数据.pptx9.3任务3:使用JSP保存学生数据.pptx目录1.1.1什么是Java1.1.2Java的发展历程1.1.3Java程序应用领域1.1.4Java语言的特点1.1.5知识拓展1.1.6技能提升1.1.1什么是JavaJava语言是一种多用途的面向对象的编程语言Java平台支撑Java语言程序开发和运行的环境,包括Java虚拟机和应用程序可编程接口1995Java语言诞生—Sun公司(SunMicrosystems09年被甲骨文收购)1998JDK1.2(称Java2)发布,标志着Java已经进入Java2时代。1999Java分成J2SE、J2EE和J2ME三个平台,JSP/Servlet技术诞生20042SE1.5发布,这是一个里程碑事件。从此,J2SE1.5更名为J2SE5.02005J2SE、J2EE和J2ME更名为JavaSE、JavaEE和JavaME2014甲骨文公司发布Java8.0的正式版1.1.2Java的起源1.1.3Java程序的应用领域1.开发控制台和窗口应用程序。2.在浏览器中执行的Java小应用程序。3.在服务器中运行的Servlet、JSP、JSF以及其他JavaEE标准支持的基于Web的应用程序,主要开发面向Internet的Web应用程序。4.嵌入式应用程序开发。5.提供各行业的数据移动、数据安全等方面的解决方案。1.1.4Java语言的特点1.简单性2.面向对象3.稳健性4.安全性5.可移植性6.多线程1.1.5知识拓展1.Java行业需求背景Java生态圈非常巨大,是最热门的开发语言之一,Java在学校、培训机构中是最受欢迎的开发语言之一。随着社会信息技术的发展,Java技术已经无处不在,无论是手机app、Java游戏、电脑软件、电脑游戏还是办公软件,只要你使用电子产品,都会遇到和Java有关的软件。同时,越来越多的企业在使用信息化管理软件,许多传统企业也需要软件开发人员来维护或者开发自己的管理系统或者网站,使Java软件开发的需求由单纯的软件开发企业拓展至传统企业。1.1.5知识拓展2.行业发展前景IT软件工程师是通用性人才,其不受行业发展的限制,而且也不受年龄和体力的影响,和医生、律师一样,技术越高,项目经验越丰富,也就更容易拿高薪,IT行业所有行业中发展前景非常好的行业。3.就业薪水IT业以其超强的发展势头,成为目前最具前景的高薪行业之一,诸如软件工程师、Web前端工程师、数据库工程师、PHP开发工程师、.net开发工程师、Java工程师等IT人才发展前景好,薪资水平高。1.1.6技能提升Java初级开发工程师岗位要求1.技术能力:(1)具备Java面向对象程序设计思想。(2)熟练应用SpingMVC、Mybatis、Springboot、shrio、等框架。

(3)熟练应用至少一种数据库(Oracle、SQLserver、MySql)及Redis等非关系型的数据库。(4)掌握多线程、高并发基础技术。(5)熟悉HTML5、JavaScript、CSS3、vue等Web前端技术。(6)具备项目分析、设计、测试能力,具备良好的文档编写能力(编写相关开发技术文档)。1.1.6技能提升2.职业素质能力:(1)具有团队合作意识。(2)有良好的沟通、表达能力。(3)具有较强的自学、自己解决问题的能力。(4)具有责任心、有较强的抗压能力。重点回顾什么是JavaJava程序应用领域Java语言的特点Java初级开发工程师岗位要求项目一

走进Java程序开发1.2任务2Java开发环境搭建目录1.2.1Java开发平台搭建1.2.2JDK和Java平台1.2.3JDK安装1.2.4环境变量配置1.2.5知识拓展1.2.6技能提升1.2.1Java开发平台搭建Java生态圈非常巨大,是最热门的开发语言之一,JavaJava开发平台是一种能够运行Java程序并且支撑Java程序开发的软件系统,包括了Java虚拟机和JavaAPI。Java开发平台的搭建其实就是安装JDK的过程。StandardEdition(标准版)J2SE包含那些构成Java语言核心的类。如:数据库连接、接口定义、输入/输出、网络编程EnterpriseEdition(企业版)J2EE包含J2SE中的类,并且还包含用于开发企业级应用的类。如:EJB、servlet、JSP、XML、事务控制MicroEdition(微缩版)J2ME包含J2SE中一部分类,用于消费类电子产品的软件开发。(嵌入式开发)如:呼机、智能卡、手机、PDA、机顶盒1.2.2JDK和Java平台JDK(JavaDevelopmentKit)是Java是Java语言的软件开发工具包,用于所需开发或使用Java应用程序的移动设备、嵌入式设备等。JDK是整个java开发的核心工具,它由两部分组成:JRE和JVM。JRE是Java的运行环境,而JVM是Java虚拟机,是整个Java技术的核心。1.2.3JDK安装1.安装JDK81.2.3JDK安装2.定制安装1.2.3JDK安装3.安装到指定文件夹(记忆好目录)例:D:\JDK8\1.2.3JDK安装1.2.3JDK安装bin目录保存了javac.exe、java.exe、jar.exe等DOS下的可执行文件,javac.exe是编译器,用来将程序文件中的每个类定义编译成一个.class文件;java.exe是Java虚拟机上的解释器,负责加载.class文件并将.class文件解释成为特定的机器码来执行;jar.exe是jdk中的自带的压缩解压工具,Eclipse中的Export功能可以导出jar包,或者可运行的jar包,都是用的jar.exe。lib目录保存了tools.jar和dt.jar等文件,是开发工具的支持文件。jre目录下包括bin和lib两个子目录,jre\bin中保存了Java运行环境文件,jre\lib中包含了JavaAPI核心类的基本包java和扩展包javax等相关类文件。1.2.4环境变量配置什么是环境变量呢?首先,这里的环境指的是操作系统,而变量是可以随意给其赋值的一个存储单元。环境变量也就是整个操作系统的全局变量,设置系统变量的目的是为了使系统可以找到程序的运行路径。安装JDK后必须要配置环境变量,主要有三个:java_home,path和classpath,步骤如下

:1.2.4环境变量配置1.右击计算机,点击属性,在弹出面板里点击高级系统设置,弹出如图1-11所示面板后,点击环境变量;1.2.4环境变量配置2.JAVA_HOME通常它指的是JDK的目录。如果需要JDK的话,大部分程序会默认去环境变量中取JAVA_HOME这个变量。变量值为安装的JDK路径,如图所示:1.2.4环境变量配置3.path环境变量一般有,是操作系统用的,用来指定操作系统需要使用到的程序的位置。对于Java来说,通常需要把JDK的bin目录添加进入PATH中,这样你就可以在任意目录下使用bin下面的javac.exe、java.exe等,这样很多Java程序才能启动,比如Eclipse。其值为:“%java_home%\bin;%java_home%\jre\bin;”1.2.4环境变量配置4.新建CLASSPATH环境变量,这个变量的作用是指定由AppClassLoader加载的class路径。该变量跟所有Java写的程序相关,不光其它Java程序会用到(比如Tomcat在某些情况下会用),我们写的Java程序也可以使用。其值为:“%java_home%\lib”如图所示:1.2.4环境变量配置5.环境变量配置完成后,在DOS窗口中,输入javac命令,如出现javac的使用参数提示,如图图所示,则表示配置成功。1.2.5知识拓展5.环境变量配置完成后,在DOS窗口中,输入javac命令,如出现javac的使用参数提示,如图图1-15所示,则表示配置成功。javac是Java语言的编译器,javac命令将java文件编译成字节码的class文件。该命令的使用语法为:javac

<选项><源文件>详见P18表1-21.2.6技能提升javac命令在使用的时候,如果要编译的.java文件不带完整路径,javac会默认在当前路径中寻找要编译的.java文件。例如:Test.java文件的存放位置是C:\Test1.java,而运行运行javac命令时是在c:\users\zhangsan提示符下运行的,那么输入javacTest.java就会编译失败,因为编译器在当前路径(c:\uers\zhangsan)中找不到Test1.java文件。所以可以采用:“命令+文件的物理路径”解决此问题。在使用javac命令的时候,如果该类中使用了其他类,也会同时编译被调用的类。如:Test。Java类中,创建了另一个Book.java类的对象,name在使用命令javacTest.java的时候,会同时生成Test.clas和Book.class两个文件。重点回顾JDK和Java平台JDK安装环境变量配置项目一

走进Java程序开发1.3任务3使用记事本开发HelloWorld程序目录1.3.1Java程序编写、编译、运行过程1.3.2使用记事本编写Java程序1.3.3知识拓展1.3.4技能提升1.3.1Java程序编写、编译、运行过程1.3.2使用记事本编写Java程序新建一个记事本文件,编写如下代码:class

HelloWorld{

publicstaticvoid

main(String[]args){

System.out.println("HelloWorld!");

//输出HelloWorld!}}1.class

HelloWorld{…}声明一个类{…}是类体。2.类体中publicstaticvoid

main(String[]args){…}定义了一个一个main方法。(String[]args)定义了一个字符串数组参数。3.System.out.println(“…….”);输出括号内的内容。//之后的是注释,没有实际意义。1.3.2JDK安装1.3.3知识拓展“System.out.println();”是Java程序的输出语句,类似的方法还有System.out.print();前者表示此语句的之后的输出语句会进行换行显示,后者则不换行,具体如实例1-1所示:【实例1-1】区别println和print:PrintlnDemo类:publicclassPrintlnDemo{

publicstaticvoidmain(String[]args){ System.out.println("Hello");System.out.println("World!"); }

}1.3.3知识拓展PrintlnDemo类:publicclassPrintlnDemo{

publicstaticvoidmain(String[]args){ System.out.print

("Hello");System.out.println("World!"); }

}1.3.4技能提升在“System.out.println();”语句中,“()”中的内容,不仅能使用字符串,也可以是变量,如果是变量,则不能使用引号。若输出的内容是变量和字符串混合,则需要使用“+”拼接,如实例1-2所示:【实例1-2】System.out.println()的使用案例:publicclassHelloWorld{ publicstaticvoidmain(String[]args){ Stringa="HelloWorld!"; System.out.println("ThefirstprojectIstudiedwas:"+a); }}程序运行结果为:ThefirstprojectIstudiedwas:HelloWorld!1.3.4技能提升如果输出语句在编写时需要用到换行,则同样使用+进行拼接,如实例1-2所示:【实例1-2】System.out.println()的使用案例:publicclassHelloWorld{ publicstaticvoidmain(String[]args){ Stringa="HelloWorld!"; System.out.println("Thefirstproject" +"Istudiedwas:"+a); }}程序运行结果为:ThefirstprojectIstudiedwas:HelloWorld!重点回顾Java程序编写、编译、运行过程使用记事本编写Java程序System.out.println();的基本使用项目一

走进Java程序开发1.4任务4使用IDE编写Java程序目录1.4.1Eclipse建立JavaWeb项目1.4.2知识拓展1.4.3技能提升1.4.1Eclipse建立JavaWeb项目1.在Eclipse中执行File->new->JavaProject,新建Java项目,在Projectname中自定义项目名称。1.4.1Eclipse建立JavaWeb项目2.项目中,右击“src”目录,执行new->Class,创建一个Java类。在Name中输入类名,勾选publicstaticvoidmain,让软件为我们编写一个默认的main方法。1.4.1Eclipse建立JavaWeb项目3.点击Finish之后,会在src目录下自动建立一个HelloWorld.java文件。1.4.1Eclipse建立JavaWeb项目4.把之前记事本所写的输出语句写到该文件中,最后进行运行。1.4.1Eclipse建立JavaWeb项目5.程序运行结果:1.3.2知识拓展在1.4.1中,我们所创建的项目,以及编写的代码,都会被储存在工程目录中。1.3.2知识拓展在物理路径中以项目目录为基本单元储存。1.3.2知识拓展在运行的时候,会自动编译我们的java文件,并进行自动执行,1.3.3技能提升我们为了提高开发速度,要学习Eclipse最常用的快捷键,记住快可以提升开发速度,事半功倍。详见P26表1-3重点回顾Eclipse的基础使用项目二

购物小票幸运抽奖

系统开发2.1任务1使用Java基础知识

完成幸运抽奖2.1使用Java基础知识完成幸运抽奖目录2.1.1字符集2.1.2标识符和关键字2.1.3其他基本符号2.1.4注释2.1.5数据类型2.1.6变量2.1.7运算符2.1.8项目实现2.1.9知识拓展2.1.10技能提升2.1.1字符集Java字符集Java字符集是Java程序中可以使用的所有字符的集合。Java采用Unicode标准字符集字符:计算机程序设计及操作时使用的符号。包括字母、数字、空格符、提示符及各种专用字符等。在GB2312

编码或GBK

编码中,一个汉字字符存储需要2个字节。在UTF-8编码中,一个英文字母字符存储需要1个字节,一个汉字字符储存需要3到4个字节。在UTF-16编码中,一个英文字母字符或一个汉字字符存储都需要2个字节(Unicode扩展区的一些汉字存储需要4个字节)。在UTF-32编码中,世界上任何字符的存储都需要4个字节。2.1.2标识符和关键字标识符(Identifier)是用来表示被声明实体的名字,并符合一定规则的字符组合,程序中所有需要使用的名字都要用标识符表示,如类名、对象名、变量名、方法名、数组名等,标识符是程序中各种元素的标记符号。在Java语言中,标识符有两类,一类是用户自己定义使用的,其作用是标识常量、变量、类、方法、接口和包的名称;另一类为系统所用,是关键字和保留字。这些标识符能被系统自动识别,有着特殊的含义,我们通常所说的标识符一般指的是用户自定义的。2.1.2标识符和关键字Java中的标识符有以下几个命名规则:1.标识符由字母、数字、下划线(_)或美元符号($)组成。2.标识符的首字母以字母、下划线或美元符号开头,不能以数字开头。3.标识符的命名不能与关键字相同,如:布尔值(true、false)、null、return、class。4.标识符区分大小写,没有长度限制,坚持见名知义的原则。2.1.2标识符和关键字关键字是Java语言中保留的一些英语单词,这些单词用来表示数据类型、修饰符、定义类和接口等,关键字用小写字母,关键字不能当标识符使用。关键字的意义和用途是Java语言规定的,如:If、do、class、try、null等。共51个关键字和2个保留字(const,goto)。详见P28~312.1.3其他基本符号Java中还有很多其他的基本符号,如:定界符(分隔符)和转义符。定界符(分隔符)起分隔单词符号的作用。包括分号";"、花括号"{}"和空白符号等。转义字符是一些控制字符和特殊字符,用来表示常见的那些不能显示的字符。定义转义字符串的原因有两个:第一个原因是像双引号和单引号这类符号已经拥有特殊的意义,因此就不能直接当做文本中的符号来使用。第二个原因是,有些字符在字符集中没有定义,因此需要使用转义字符串来表示。2.1.3其他基本符号2.1.3其他基本符号【实例2-1】转义字符的使用:HelloWorld类:publicclassHelloWorld{ publicstaticvoidmain(String[]args){ System.out.println("HelloWorld!"); System.out.println("Hello\0\0World!"); System.out.println("\"Hello\0\0World!\"");}}程序运行结果为:

HelloWorld! HelloWorld! “HelloWorld!”2.1.4注释注释是程序开发人员和程序阅读者之间交流的重要手段,是对代码的解释和说明,也方便开发人员日后对自己代码的阅读,减少软件的维护成本。注释能够提高程序的可阅读性,但编译器不会理会注释,不影响程序的编译和运行。在Java中,提供了三种类型的注释:单行注释、多行注释、文档注释。2.1.4注释单行注释为代码实现的功能添加一个简短的说明,“//”表示注释开始,注释内容到本行结尾,如实例2-2所示。【实例2-2】测试注释:HelloWorld类:publicclassHelloWorld{

publicstaticvoidmain(String[]args){ System.out.println("HelloWorld!");

//输出HelloWorld! }}程序运行结果为:

HelloWorld!注:在Eclipse中,默认按“Ctrl”+“/”快捷键,自动产生单行注释2.1.4注释多行注释又称区域注释,通常使用多行注释描述文件、数据结构、方法和文件说明,它们通常放在文件的开头和方法中,多行注释以/*开头,以*/结尾。如实例2-3所示:【实例2-3】多行注释:publicclassHelloWorld{

/* *本类是对单行注释和多行注释进行学习

*/ publicstaticvoidmain(String[]args){ System.out.println("HelloWorld!");//输出 HelloWorld! }}程序运行结果为:

HelloWorld!注:在Eclipse中,输入/*后点击回车键,自动产生多行注释2.1.4注释文档注释用于描述Java的类、接口、构造器、方法,文档注释是Java语言特有的。Javadoc可以把文档注释内容转换成HTML网页格式的程序说明文档。文档注释以/**开头,以*/结尾。例如:/***@author作者名*@parameter参数及其意义*@return返回值*/注:在Eclipse中,输入/**后点击回车键,自动产生文档注释2.1.5数据类型数据类型和变量是任何程序设计语言都必须要有的,数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,如此一来就可以充分利用内存。在Java中,创建一个变量必须要指定其数据类型,变量赋值时必须符合其数据类型。数据类型主要分为两类:基本类型和引用类型。基本类型是Java语言规定的,共四类(如图2-17所示)8种(如表2-2所示),它们均由关键字来表示,基本类型都具有规定的长度和格式。2.1.5数据类型2.1.5数据类型基本类型示例取值范围byte-21-128~127char‘a’0~65535(Unicode编码值)short100-32768~32767int12-2147483648~2147483647long100000000-2^63~2^63-1float3.4f1.4E-45~3.4E+38,-1.4E-45~-3.4E+38double3.44.9E-324~1.7E+308,-4.9E-324~-1.7E+308booleantruetrue、false2.1.6变量变量由标识符、类型和可选的初始化程序定义。它是Java程序的一个基本存储单元。Java有三大变量,分别是类变量(静态变量)、实例变量和局部变量(本地变量)。在Java中,必须先声明所有变量,然后才能使用它们。变量声明的基本语法如下:

数据类型

变量名

=

变量值;

也可以同时声明指定类型的多个变量,使用逗号分隔2.1.6变量【实例2-4】变量的声明和赋值:

publicclassHelloWorld{

publicstaticvoidmain(String[]args){ inti1,i2,i3;//同时声明3个int类型的变量 inti;//声明int类型变量 byteb;//声明byte类型变量 charc;//声明char类型变量 shorts;//声明short类型变量 longl;//声明long类型变量 floatf;//声明float类型变量 doubled;//声明double类型变量 booleanbl;//声明boolean类型变量 Stringname;//声明引用类型变量 }}2.1.6变量变量可以在表达式中定义和初始化,如实例2-5所示。【实例2-5】在表达式中定义和初始化:publicclassHelloWorld{

publicstaticvoidmain(String[]args){ intage=28;//声明int类型变量并赋值 Stringname="小明";//声明引用类型变量并赋值 }}2.1.6变量在变量的使用中,我们可以直接根据变量名,来获取它的值;同时,变量的值可以被覆盖,如变量2-6所示。【实例2-6】变量值的使用:publicclassHelloWorld{

publicstaticvoidmain(String[]args){ intage=20; Stringname="小明"; name="王小明"; System.out.println(name+"今年"+age+"岁了"); }

}程序运行结果为:

王小明今年20岁了2.1.6变量练习:int

age=28;//年龄String

name="小明";//姓名int

workTime=3;//工龄String

way="Java";//技术方向String

favorate="篮球";//爱好String

projectCount=“5”;//做过的项目个数//(反例,用int)System.out.println("这个同学的姓名是:"+name);System.out.println("年龄是:"+age);System.out.println("工作了"+workTime+"年");System.out.println("做过"+projectCount+"个项目");System.out.println("技术方向是:"+way);System.out.println("兴趣爱好是:"+favorate);2.1.6变量优化简历练习:需求:1.依次提示信息:请问你的姓名是?请问你的年龄是?请问你的技术方向是?请问你做过多少个项目?请问你有多少年的相关工作经验?请问你的爱好是什么?2.分别按提示获取键盘输入的内容。(Scanner类)3.打印简历信息2.1.6变量优化简历练习:创建对象的格式(实例化):

[已经存在的类名][要产生的对象名称]=new

[已经存在的类名](参数);new

就是java里一个产生对象的命令关键字,相当于“新产生”的意思。Scanner

input=new

Scanner(System.in);System.in:标准输入流input对象调用下列方法,读取用户在命令行输入的各种基本类型数据:

nextBoolean()、nextByte()、nextShort()、nextInt()

nextLong()、nextFloat()、nextDouble()、next()。上述方法执行时都会堵塞,程序等待用户在命令行输入数据回车确认。2.1.6变量优化简历练习:案例:

System.out.println(“请问你的姓名是?");Scannerinput_name=newScanner(System.in);Stringname;name=input_name.next();System.out.println(“您输入的姓名是:"+name);2.1.7运算符运算符是Java语言规定的表示各种数据运算的符号;参与运算的数称为操作数,按照操作的数目分为一元运算符、二元运算符、三元运算符。一元运算符有6个,分别是:~(按位取反)、!(取非)、-(负号运算符)、+(取原值)、++(自增)、--(自减);“++”该运算符既可放在变量之前,也可放在变量之后,两者的差别是:如果放在变量之前(如++i),则变量值先加1,然后进行其他相应的操作(主要是赋值操作);如果放在变量之后(如i++),则先进行其他的操作,然后再进行变量值加1或减1。2.1.7运算符例如:inti=6,j=0,k=0,m=0,n=0;j=+i;//取原值,即j=6k=-i;//取负值,即k=-6m=i++;//先m=i,再i=i+1,即m=6,i=7m=++i;//先i=i+1,再m=i,即i=7,m=7n=i--;//先n=i,再i=i-1,即n=6,i=5n=--i;//先i=i-1,再n=i,即i=5,n=5注意:一元运算符与其前后的操作数之间不允许有空格,否则编译时会出错。2.1.7运算符二元运算符有:加(+)、减(-)、乘(*)、除(/)、取模(%)。%是求两个操作数相除后的余数。例如:7/3//整除,运算结果为2(小数全部舍弃)7.0/3//除法,运算结果为2.33333,即结果与精度较高的类

型一致7%3//取余,运算结果为17.0%3//取余,运算结果为1.0-7%3//取余,运算结果为-1,即运算结果的符号与左操作

数相同7%-3//取余,运算结果为1,即运算结果的符号与左操作数相同2.1.7运算符三元运算符有:publicclassTest{

publicstaticvoidmain(String[]args){ booleana=20<45?true:false; System.out.println("a的值为:"+a); intsum=19; Stringn=sum>20?"条件成立":"条件不成立"; System.out.println(“n的值为="+n); }}程序运行结果为:

a的值为:true n的值为:条件不成立2.1.8项目实现任务描述:1.本程序运行后,需要在提示后按照要求输入购物小票号码;2.算法:把最后4位数字相加,如果值大于20,则判断并输出中奖信息,否则给予未中奖提示;任务实现步骤:提示信息:请输入购物小票号码。获取键盘输入的数字。(Scanner类)分别获取到最后4位数字并相加。(算数运算符、表达式)与20对比大小值,并输出中奖信息。(关系运算符、条件语句)2.1.9知识拓展运算符的分类:1.算数运算符:算数运算符包括+、-、*、/、%、++、--。2.赋值运算符:赋值运算符包括+=、-=、*=、/=、%=。3.关系运算符:关系运算符包括>、<、>=、<=、==、!=。4.逻辑运算符:常用的运算符有!&&||,结果为boolean值。2.1.10技能提升在实际的开发过程中,可能在一个运算中出现多个运算符号,那么,就会按照优先级的高低进行计算:【实例2-11】运算符优先级publicclassTest{ publicstaticvoidmain(String[]args){ intx=6; inta=x+x++; System.out.println("x="+x); System.out.println("a="+a); intb=x+++x; System.out.println("x="+x); System.out.println("b="+b); }}重点回顾字符集标识符和关键字其他基本符号注释数据类型变量运算符项目二

购物小票幸运抽奖

系统开发2.2任务2使用控制语句完善

幸运抽奖结果判断目录2.2.1语句2.2.2方法2.2.3流程控制语句2.2.4使用条件语句实现抽奖结果判断2.2.5知识拓展2.2.6技能提升2.2.1语句

语句在汉语的词典里的解释,是指在某个语法上自成体系的单位,它由一个词或句法上有关连的一组词构成,表达出一些陈述、疑问、命令、感叹等信息。在Java中,语句是构成程序的元素,指Java设计语言告诉计算机做一件事的完整指令。Java里的语句可分为六类:1.方法调用语句: System.out.println("Hello");2.表达式语句,表达式式尾加上分号。比如赋值语句: x=23;3.复合语句,可以用{}把一些语句括起来构成复合语句: {z=123+x; System.out.println("Hello"); }2.2.1语句4.空语句,一个分号也是一条语句,称做空语句: ;5.控制语句,控制语句分为条件分支语句、开关语句和循环语句: if(a<1){ System.out.println(a); }6.package语句和import语句,它们和类、对象有关: importjava.util.Scanner;语句按照使用范围可以分为3类:写在类外面的语句、类中和方法外的语句、方法中的语句。2.2.2方法方法是语句的集合,多条语句在一起可以执行或完成某个功能,在前面的知识中我们经常使用到“System.out.println();”这条语句,那么它是由什么组成的呢?“System”是系统类,“out”是标准输出对象,“println()”就是一个方法。这条语句的作用是调用系统类“System”中的标准输出对象“out”中的方法“println()”。2.2.3流程控制语句控制语句的作用是为方法提供一些跳过某些语句不执行,转去执行另一些语句,或者是重复循环执行某些语句的机制。控制语句例说明条件语句if-else,switch-case根据条件判断执行循环语句while,do-while,for满足一定条件循环执行跳转语句break,continue,return从当前循环中跳出异常处理语句try-catch-finally判断异常情况执行2.2.4使用条件语句实现抽奖结果判断Java的条件语句有两种,分别是if-else语句和switch语句。

在现实生活中,我们经常需要先做判断,然后才决定是否要做某件事情。

例如:如果考试成绩大于90分,则判断成绩为优秀,如果手机坏了则判断去买一部手机等。

再比如:“如果你的家庭作业已经完成,可以在周末去爬山,否则,必须周末必须在家补习课程。”在这个例子中,家庭作业的完成情况决定了对周末行为的选择。

在Java中,对于这种“需要先判断条件,条件满足后才执行的情况”,就可以使用

if条件语句实现,即通过对条件的判断做出相应的选择。if条件语句按照语法格式可分为三种形式:2.2.4使用条件语句实现抽奖结果判断if(条件){

如果条件成立,执行此处语句}2.2.4使用条件语句实现抽奖结果判断

if(条件){如果条件成立,执行此处语句}else{

如果条件不成立,执行此处}2.2.4使用条件语句实现抽奖结果判断

if(条件1){如果条件成立,执行此处语句}elseif(条件2){

如果条件2成立,执行此处语句}else{

如果条件都不成立,执行此处语句}2.2.4使用条件语句实现抽奖结果判断2.2.5知识拓展有的时候if判断只有一个条件是不能满足我们的需求的,在实例2-15中,我们对值进行if判断的使用,条件需要同时满足大于等于10和小于20这两个条件,而在Java中,是不允许“20>n>=10”这种写法的,所以语句判断多个条件,最简单的办法是使用逻辑运算符:&&、||、!、^等,具体用法如表2-6所示。2.2.5知识拓展【实例2-19】if语句中的逻辑运算符:publicclassTest{ publicstaticvoidmain(String[]args){ inti=10; System.out.println("开始判断i..."); if((i++>5)&&(i++<20)){ System.out.println("i的两个条件均成立"); } System.out.println("i的值为:"+i); intj=10; System.out.println("开始判断j..."); if((j++>5)||(j++<20)){ System.out.println("j的两个条件有一个成立"); } System.out.println("j的值为:"+j); }}2.1.10技能提升请解读以下代码块的运行结果:inta=9,b=5,c=7,t=0;if(b<a){t=a;a=b;b=t;};if(c<a){t=a;a=c;c=t;};if(c<b){t=b;b=c;c=t;};System.out.println("a="+a+",b="+b+",c="+c);提示:Java程序的默认文本流是自上而下自左至右,请注意变量值的覆盖顺序。重点回顾重点回顾项目二

购物小票幸运抽奖

系统开发2.3任务3使用循环语句完善

功能菜单目录2.3.1循环语句2.3.2根据键入内容实现循环抽奖2.3.3跳转语句2.3.4知识拓展2.3.5技能提升2.3.6重点回顾2.3.1循环语句

循环语句,是当循环条件为真时,程序不断重复运行相同的代码,直至循环条件为假为止。Java语言的循环语句有三种1.while循环语句2.do-while循环语句3.for循环语句。2.3.1循环语句while循环使用于不知道代码要被重复的次数,但有明确终止条件的循环流程,其基本语句如下: while(条件){

如果条件成立,执行此处语句}2.3.1循环语句do-while循环使用于不知道代码要被重复的次数,但有明确终止条件的循环流程,与while的区别是“至少执行一次循环”其基本语句如下: do{

先执行一次此处语句,再判断条件是否满足

}while(条件)

2.3.1循环语句for循环通常用于明确知道循环体需要执行的次数的程序,其基本语句由循环声明和循环体组成,如下: for(初始化表达式;条件表达式;更新语句){

循环体

}2.3.2根据键入内容实现循环抽奖在任务2中,我们完成了模拟抽奖的实训,但是每次执行抽奖之后,程序就运行结束了。如需继续使用程序,必须重新启动,如此使用会带来许多不便之处。那么我们可以使用循环语句为程序增加菜单选项,增加控制循环的流程,具体需求如下:1.首先提示如下:

请根据提示,做出相应选择:

开始抽奖请键入:1

取消抽奖请键入:22.在抽奖结束后,提示是否继续抽奖系统。2.3.2根据键入内容实现循环抽奖2.3.3跳转语句

跳转语句用于在某条件成立后,控制转移到循环甚至程序的其他部分。java语言支持3种类型的跳转语句:break语句、continue语句和return语句。

在循环语句中,正常退出循环的方法是使条件变为false,但是在实际开发过程中,我们希望在条件为true的情况下,也能够结束循环,这时候就需要使用到break语句和continue语句。2.3.3跳转语句break语句有两个用途:1.switch语句中终止switch;switch(条件){case

常量值1:如果条件的结果是1,执行此处语句;

break;case

常量值2:如果条件的结果是2,执行此处语句;

break;case

常量值3:如果条件的结果是2,执行此处语句;

break;}

2.3.3跳转语句break语句有两个用途:2.在for循环中如果满足某个条件,则立即执行break语句跳出循环2.3.3跳转语句continue语句的用途:continue在条件满足时,会中断本次循环,进入条件判断,进入下一次循环。2.3.3跳转语句continue语句的用途:continue在条件满足时,会中断本次循环,进入条件判断,进入下一次循环。2.3.4知识拓展for循环在Java程序设计中是最常用的语句之一,在2.3.1我们介绍了普通的for循环的使用方法,在JavaSE1.5之后,增加了一种for循环,一般被用来遍历数组、集合等。其语法结构为:for(循环变量类型

循环变量名称:即将被遍历的对象){

循环体}2.3.4知识拓展【实例2-27】使用增强版for循环遍历数组:publicclassTest{

publicstaticvoidmain(String[]args){ inta[]={10,30,100,54,20,9,37}; for(inti:a){ System.out.print(i+""); } }}程序运行结果为:

103010054209372.3.5技能提升请解读以下代码块的运行结果。for(inti=1;i<=5;i++){for(intk=1;k<=5-i;k++){System.out.print("");}for(intj=1;j<=2*i-1;j++){System.out.print("*");}System.out.println();}提示:“System.out.println()”该语句的下一行语句会换行输出,而“System.out.print()”不会换行。2.3.6重点回顾Java里的语句的循环语句 while(条件){

如果条件成立,执行此处语句} do{

先执行一次此处语句,再判断条件是否满足}while(条件)

for(初始化表达式;条件表达式;更新语句){

循环体

}break语句、continue语句和return语句。项目二

购物小票幸运抽奖

系统开发2.4任务4为系统添加异常处

理操作目录2.4.1异常处理语句2.4.2知识拓展2.4.3技能提升2.4.4重点回顾2.4.1异常处理语句

在实例2-24中,如果我们输入的不是数字,程序就会报错,如图2-23所示。而异常处理机制就是在软件的使用过程中遇到的意外情况(比如链接数据库失败、被除数为0、数组下标超出界限等),并预先想好的处理办法。在程序运行过程中,如果发生了异常,程序就会按照预定的处理办法对异常进行处理。2.4.1异常处理语句

在实例2-24中,如果我们输入的不是数字,程序就会报异常语句通过5个关键字来实现:try、catch、finally、throw、throws。异常处理的基本语法如下:

try{

可能会出现异常的语句 }catch(Exceptione){

出现异常后执行的语句 }finally{

无论是否出现异常,总要执行的语句 }2.4.2知识拓展throw和throws是抛出异常的两个关键字,throw一般用来为语句抛出异常,其基本语法格式为:throw异常类对象而throws是某个方法可能会抛出异常的声明,其基本语法格式为:返回值类型

方法名()throws异常类{

可能出现异常的方法体}2.3.5技能提升

在实例2-28中,我们未输入的内容进行了异常处理,如果出现异常,如:输入字母,会进行相应操作,但是在上述例子中,如果我们输入了类似于整型“3”的数字,程序虽然不会报错,但是依然不符合我们的菜单提示(1或2),如图2-25所示。那么请将本项目完善,对数字1、2外的情况进行相应处理。2.3.6重点回顾try{

可能会出现异常的语句 }catch(Exceptione){

出现异常后执行的语句 }finally{

无论是否出现异常,总要执行的语句 }项目三

学生成绩统计系统

开发3.1任务1使用数组储存学生成绩目录3.1.1数组的声明3.1.2通过下标使用数组3.1.3知识拓展3.1.4技能提升3.1.5重点回顾3.1.1数组的声明

一维数组是计算机程序中最基本的数组,声明一维数组有下列两种格式:

数组的元素类型数组名[];

数组的元素类型[]数组名;声明一个int类型的a数组:

int

a[];

int[]a;在数组声明之后,需要创建数组,指定元素的长度。3.1.1数组的声明创建数组:

int

a[];

a=newint[10];创建数组可以在声明的同时进行:

int

a[]=newint[10];在实际的使用过程中,也可以利用枚举的方式创建数组:

int

a[]={0,1,2,3,4,6,56,9993,10};使用数组的length方法可以获取数组的长度;: System.out.println(a.length());3.1.2通过下标使用数组

数组中的数据,是有序的,我们使用下标来进行访问,下标从0开始,第一个位置的下标是0,第二个是1,第三个是2,以此类推。

int

a[]={0,1,2,3,4,656,999,3,10};上述例子中,a[i]表示第i+1个元素的值(i从0开始),如:a[0]=

0;a[1]=

1;a[2]=

2;

a[6]=999;3.1.2通过下标使用数组【实例3-1】一维数组的基本使用:publicclassTest{ publicstaticvoidmain(String[]args){ inta[]; a=newint[10]; a[0]=10; a[1]=20; a[2]=50; a[6]=999; System.out.println("该数组的长度为:"+a.length); System.out.println("该数组第一个位置的值

为:"+a[0]); }}2.4.2知识拓展throw和throws是抛出异常的两个关键字,throw一般用来为语句抛出异常,其基本语法格式为:throw异常类对象而throws是某个方法可能会抛出异常的声明,其基本语法格式为:返回值类型

方法名()throws异常类{

可能出现异常的方法体}2.3.5技能提升

在实例2-28中,我们未输入的内容进行了异常处理,如果出现异常,如:输入字母,会进行相应操作,但是在上述例子中,如果我们输入了类似于整型“3”的数字,程序虽然不会报错,但是依然不符合我们的菜单提示(1或2),如图2-25所示。那么请将本项目完善,对数字1、2外的情况进行相应处理。2.3.6重点回顾try{

可能会出现异常的语句 }catch(Exceptione){

出现异常后执行的语句 }finally{

无论是否出现异常,总要执行的语句 }项目三

学生成绩统计系统

开发3.2任务2多维数组目录3.2.1多维数组3.2.2知识拓展3.2.3技能提升3.2.4重点回顾3.2.1多维数组

由一维数构成的数组可称为二维数组,由二维数组构成的数组可称为三维数组。二维数组的创建与一维类似,语法如下:

int

a[][]=new

int[4][5];在上述语法中,可以用索引符“a[i][j]”来访问数组中的元素,索引值依然以0开始,我们依然可以使用枚举的方式建立数组,3.2.1多维数组可以用索引符a[i][i]来使用数组中的元素;int

a[][]={{0,1,2,3,4,656,999,3,10},{5,4,3,3,4,656,974,2,123},{6,2,6,7,8,666,374,1,887},};上述例子中,a[i]表示第i+1个元素的值(i从0开始),如:a[0][1]=

1;a[1][3]=

3;使用数组的length方法可以获取数组的长度;System.out.println(a.length+a[2].length); }

}3.2.2知识拓展

在二维数组中,使用数组的length方法可以获取数组的长度(如实例3-4所示),但是,我们无法直接获取其中的所有一维元素长度之和,可以采用嵌套循环实现该目的,如实例3-5所示

for(inta=0;a<arr.length;a++){ //获取arr[]的长度

for(intb=0;b<arr[a].length;b++){//获取arr[][]的长度

num++;//长度+1

}

}3.2.2知识拓展【实例3-5】获取数组的所有元素长度个数之和: intarr[][]={ {0,1,2,3,4,656,999,3,10}, {5,4,3,3,4,656,974,2,123}, {6,2,6,7,8,666,374,1,887}, }; intnum=0;//记录长度

for(inta=0;a<arr.length;a++){ for(intb=0;b<arr[a].length;b++){ num++;//长度+1 } } System.out.println("该数组的所有元素长度个数之和

为:"+num);//输出长度

3.2.3技能提升取出数组中的最大值和最小值 inta[]={80,30,50,77,23,88,40}; intmax=a[0];//假设最大值为a[0] intmin=a[0];//假设最小值为a[0] for(inti=1;i<a.length;i++){ if(a[i]>max){ max=a[i]; } if(a[i]<min){ min=a[i]; } } System.out.println("该数组的最大值为:"+max); System.out.println("该数组的最小值为:"+min);3.2.4重点回顾

1.多维数组的使用 2.多维数组的的元素个数获取 3.在一维数组中找到最大值和最小值项目四Java计算器4.1任务1计算器类的设计目录4.1.1对象和类的概念4.1.2对象和类的关系4.1.3类的定义、声明4.1.4知识拓展4.1.5技能提升4.1.6重点回顾4.1.1对象和类的概念什么是对象?思考时作为目标的事物4.1.1对象和类的概念

对象可以被看作为一种特殊的变量,可以用以储存数据,同时,可以把任何等待解决的问题描述为某一具体事物,如某只猫、某项服务、某个人、某件事。Java把所有的问题都通对象来解决,程序可以通过添加新的类型的对象,使自身可以处理某个特定的问题。因此,在编写代码的同时,也是在参考我们人类的思考方式。每个对象看起来都像是一个物体、一个计算机或是一个工具,它具有特征和功能,我们需要通过操作对象,来完成我们的整个项目搭建。4.1.1对象和类的概念

类是对现实生活中一类具有共同特征的事物的抽象,在现实中,所有的事物都是唯一的,但某些事物具有相同的特性和行为,把这些具有相同特性和行为的事物归纳在一起,就是我们所的归类。

类在客观世界是不存在的,只是用来描述我们事物的信息。在Java中,这些具体的事物就是我们所说的对象。

在面向对象编程中,类(class)确定对象的特征(属性)和行为(方法)。类是具有相同属性和方法的对象的集合。我们可以把多个具有相同属性的对象用一个类来表示。一个类对应多个对象,只要这个对象的属性和方法是相同的。4.1.2对象和类的关系

类确定对象的属性和方法。

类是抽象的概念,比如:“手机”,“人”,“桌子”;对象是能看得见摸得着的一个实体。

例如在现实中“购买手机”行为中,有客户、售货员、手机等参与其中,我们可以将客户、售货员、手机分别看做“类”,这些类都有它特定的特征(如客户有姓名、性别等,售货员有工号等,而手机有品牌、型号等)和行为(如客户有付款、挑选等行为,售货员有提货、销售等行为,手机有打电话、发短信、上网等),就是我们所说的属性和方法。而具体的哪一位客户通过哪一个售货员购买哪一部手机,这涉及到的具体的事物,就是对象。

在程序运行时通过实例出参与购买手机行为的各个类型的对象,再模拟出各个对象之间互动的行为,就是面向对象的设计思路。。4.1.2类的定义、声明1.所有的Java程序都由类为组织单元

2.什么是类?

类确定对象的特征(属性)和行为(方法)。3.类的组成:

属性和方法4.定义类的步骤a.声明定义类名b.类体编写类的属性

编写类的方法classTest{//定义属性--有什么属性1的类型

温馨提示

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

评论

0/150

提交评论