《java程序员培训课件.ppt》由会员分享,可在线阅读,更多相关《java程序员培训课件.ppt(223页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、java程序员培训课件程序员培训课件 课程体系课程体系http:/.au课程主题课程主题课程内容课程内容课时课时课程目标课程目标Java语言基础Java语言简介环境配置标识符关键字数据类型表达式3课时(0.5天)熟练掌握Java运算符,表达式 Java语言基础流程控制数组3课时(0.5天)掌握Java流程控制,数组的概念和使用Java面向对象特性面向对象(封装,继承,多态)Java语言的高级特性(static,final,abstract,interface)6课时(1天)理解面向对象的概念以及相关内容掌握Java面向对象的高级特性Java常用类Java类库ObjectString等6课时(1
2、天)掌握常用的Java类库集合框架Java集合相关List、Set、 Map3课时(0.5天)掌握Java中容器类的使用Java异常讲解java的异常捕获机制,和异常的常见处理方式3课时(0.5天)掌握java中对异常的处理和异常的自定义Java高级部分IO流Java高级编程IO相关用法文件的读取和写入6课时(1天)掌握Java中IO的用法课程主题课程主题课程内容课程内容课时课时课程目标课程目标SQL基础基本SQL语句使用及事务控制6课时(1天)熟练掌握SQL,数据库及表的创建、删除、修改与查询JDBCJava程序连接、操作数据库以及操作步骤。6课时(1天)学会如何通过java程序来访问数据库
3、,实现对数据的增删查改。HTML介绍HTML标记语言,静态网页的基本制作3课时(0.5天)了解并掌握THML标记语言,能够制作简单的页面Jsp基础对JSP进行简单的介绍并演示以及制作一些jsp程序3课时(0.5天)了解jsp程序的基础原理,掌握jsp的基本使用方式Jsp常用指令jsp的一些常用指令6课时(1天)掌握jsp中常用的指令,并熟练运用Jsp常用动作jsp中一些常用动作6课时(1天)掌握jsp中最常用的动作,并在实际开发中灵活运用Jsp的9种内置组件(内置对象)JSP中9大内置对象的意义和用途以及用法3课时(0.5天)了解jsp中9种内置对象,并掌握其中常用的几个对象的使用方式jsp中
4、的JavaBean组件JavaBean规范,JavaBean的属性和事件,以及如何使用JavaBean3课时(0.5天)学会在jsp中使用JavaBean阶段性总结及实战阶段性总结及实战:运用jsp和jdbc技术完成一个小型项目的开发;目的目的:通过项目开发熟练掌握前期所学技能,了解基本的开发流程。课程主题课程主题课程内容课程内容课时课时课程目标课程目标Servlet简介Web服务器的配置Servlet的配置3课时(0.5天)学习Servlet的配置步骤Servlet简介servlet生命周期及原理了解MVC三层架构9课时(1.5天)了解什么是三层架构,什么是MVC,过滤器过滤器的编写与应用6
5、课时(1天)ServletCookie与session的应用与区别6课时(1天)学会cookie与session的运用阶段性总结及实战阶段性总结及实战:运用jsp、jdbc和struts技术完成一个中型的动态网站的开发;目的目的:通过项目开发熟练掌握MVC框架,并熟练运用框架搭建动态网站。IT人才需求分析人才需求分析http:/.au更多的发展前景 当学生完成我们前期的Java课程之后,根据学生自身的学习情况及需求,我们为其提供了更多的发展前景。初级培训实习强化培训英语培训公司的一员公司的一员推荐就业推荐就业出国留学劳务输出http:/.au 软软 件件 工工 程程 师师 培培 训训 系系 列
6、列 教教 材材 Java 语言基础语言基础 http:/.au课程概述课程概述uJava开发环境介绍及编程入门u标示符、关键字及数据类型u表达式及流程控制u数组u方法的定义和调用u面向对象编程uJava语言高级特性uJava常用类 u集合框架 u异常处理uI/O流及文件读写http:/.au课程目标课程目标u掌握程序设计语言开发的一般步骤 u编译并运行Java应用程序 u理解并使用Java的在线帮助文档 u理解Java语言的语法元素和结构特点 u理解面向对象程序设计的一般特性,并且能使用这些特性 u理解并熟练应用Java常用类及集合框架u理解并使用Java异常处理机制 u了解Java I/O流
7、u掌握对文件的读写操作http:/.au开发环境开发环境uSun Ultra Workstations/PCsuSolaris/LinuxuJavaSEuNetBeans/JBuilder/EclipseuOracle 9i/Mysqlhttp:/.auJava开发环境介绍及编程入门开发环境介绍及编程入门本章目标:本章目标:uJava简介u正确安装及配置Java开发和运行环境u理解JVM的运行机制u了解java语言的垃圾回收机制u编写并运行第一个java代码 http:/.auJava历史及得名历史及得名u1991年,Sun公司的James Gosling、Bill Joe等人,为电视、控制烤
8、面包机等家用电器的交互操作开发了一个Oak(一种橡树的名字)软件,这是Java的前身。u直到1994年,随着互联网和3W的飞速发展,他们用Java编制了HotJava浏览器, 得到了Sun公司首席执行官的支持,得以研发和发展。u为了促销和法律的原因,1995年Oak更名为Java。uJava(爪哇)的得名u一天,Java小组成员正在喝咖啡时,议论给新语言起个什么名字的问题,有人提议用Java(Java是印度尼西亚盛产咖啡的一个岛屿),这个提议得到了其他成员的赞同,于是就采用Java来命名此新语言。http:/.auJava版本版本u1995年5月23日,Java语言诞生u1996年1月,第一个
9、JDK(JDK1.0)诞生 u1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术 u1996年9月,约8.3万个网页应用了JAVA技术来制作 u1997年2月18日,JDK1.1发布 u1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录 u1997年9月,JavaDeveloperConnection社区成员超过十万 u1998年2月,JDK1.1被下载超过2,000,000次 u1998年12月8日,JAVA2企业平台J2EE发布 u1999年6月,SUN公司发布Java的三个版本:标准版(J2SE)、企业版(J2EE)和微型版
10、(J2ME) u2000年5月8日,JDK1.3发布 u2000年5月29日,JDK1.4发布http:/.auJava版本版本u2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机 u2001年9月24日,J2EE1.3发布 u2002年2月26日,J2SE1.4发布,Java的计算能力有了大幅提升 u2004年9月30日18:00,J2SE1.5发布,成为Java语言发展史上的又一里程碑。l为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0 u2005年6月,JavaOne大会召开,SUN公开Java SE 6。l此时,Java的各种版本已经更名,
11、以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME u2006年12月,SUN公司发布JRE6.0 http:/.auJava体系体系uJavaSE:java平台标准版,桌面应用uJavaEE:java平台企业版,web开发uJavaME:java平台微型版,手持设备uCorejava部分属于SE范围http:/.auJava主要特性主要特性u简单lJava语法与C语言和C+语言很接近,使得大多数程序员很容易学习和使用Java。lJava丢弃了C+ 中很少使用的、很难理解的、令人迷惑的特性,如操作符重载、多继承、自动的强制类型转换l
12、Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。u面向对象lJava语言提供类、接口和继承等原语,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。lJava语言全面支持动态绑定lJava语言是一个纯面向对象程序设计语言。http:/.auJava主要特性主要特性u健壮lJava的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。l对指针的丢弃是Java的明智选择。lJava的安全检查机制使得Java更具健壮性。u安全lJava通常被用在网络环境中,Java提供了一个安全机制以防恶意代
13、码的攻击。l除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。u跨平台l一次编译到处运行http:/.auJava主要特性主要特性ujava是一种编程语言ujava是一种开发环境:l它提供开发java程序所需要的环境l(编译,解释,打包,调试等工具)ujava是一种应用程序的运行环境:ljava虚拟机JVMujava是一个部署环境:l开发的java应用安装到应用服务器,会自动有基础服务ujav
14、a是一个平台http:/.au高级语言开发过程高级语言开发过程编辑源代码编译目标码(二进制机器码)编辑源代码编译目标码(二进制机器码)可执行文件可执行文件源码机器码机器码机器码CPUCPUCPU跨平台跨平台010011011010001100110101不跨平台不跨平台http:/.auJava虚拟机虚拟机(JVM)BytecodeJVMCPUu提供字节码(提供字节码(bytecode)的运行环境)的运行环境u屏蔽不同底层平台的差异屏蔽不同底层平台的差异http:/.auJava开发基本术语开发基本术语JDK JREJVMJDK:(Java Development kit) 包含包含Java运
15、行的基本类库和开发命令,安装运行的基本类库和开发命令,安装JDK可以进行完整的可以进行完整的Java开发。开发。JRE:(Java Runtime Environment) 包含包含Java运行的基本类库和一些运行命令,运行的基本类库和一些运行命令,安装安装JRE可以运行编译好的可以运行编译好的Java程序。程序。JVM:(Java Virtual Machine) Java语言内部运行的核心。语言内部运行的核心。http:/.au下载并安装下载并安装JDK1.网站可下载JDK http:/ 根据开发机器的不同,请下载相应平台下的JDK2. Install JDK Windows: run t
16、he executable Unix: run the shellhttp:/.auWin 32平台平台JDK下载下载Linux平台平台JDK下载下载http:/.auJVM如何执行如何执行Java应用程序应用程序u编写Java源程序(.java普通文本)u编译(javac)后生成Java字节码文件(二进制文件),再交给JVMu执行类文档u类加载器:找到字节码文件,读入到内存,生成一个class对象u字节码验证:检查字节码中是否安全u解释器:将字节码翻译成本地机器可以执行的指令http:/.auJVM的作用的作用http:/.auJDK下常用目录和文件下常用目录和文件u jdk/bin 命令u
17、 jdk/jreu jre/bin 可执行文件和动态链接库文件,比jdk中的命令少,只是运行环境u jre/lib .jar文件它保存的编译好的字节码(.class),方便java文件的传播。rt.jar jdk给提供的整套类库文件u Jdksrc.zip jdk提供的所有类的源码,当我们需要使用某个类时需要打开某个源码就可以打开看这个源码怎么写的,如string类http:/.au配置配置Java环境变量环境变量u JAVA_HOME Java的安装路径u CLASSPATH 类的搜索路径u PATH找命令的地方http:/.au配置配置Java环境变量环境变量设置如下三个环境变量设置如下三
18、个环境变量: JAVA_HOME, CLASSPATH, PATH Windows 2000/NT/XP系统:系统: 开始开始设置设置控制面板控制面板系统系统高级高级环境变量环境变量http:/.au配置配置Java环境变量环境变量u Unix系统:lcsh: 添加以下三行命令到 $HOME/.cshrc文件中 setenv JAVA_HOME /usr/java. setenv PATH $JAVA_HOME/bin:. setenv CLASSPATH .lbsh/ksh:添加以下三行命令到 .bash_profile文件中 JAVA_HOME=/opt/tools/jdk1.5.0_06
19、 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=. export JAVA_HOME PATH CLASSPATHhttp:/.auMy First Java Program/*This is my first java program. In this program, I defined a variable*name with type String,and then,I print “Hello Everybody!” and *names value to screen.*/public class MyFirstJavaProgram /class dec
20、laration public static void main(String args) /execution entry String name=tony tang; System.out.println(Hello Everybody! ); System.out.println(my name is:+name); /main method end! /class end!javac MyFirstJavaProgram.javajava MyFirstJavaProgramJava类的结构upackage (最顶端,除非注释) 包名 与目录结构一致uimport l导入其它的相关类或
21、接口,没有先后顺序,以下情况使用: 当前类引用了不在当前包中的其它类,并且没有使用包名去引用u类的定义: a 修饰符 public公开的 b 关键字 class c 类名 符合Java标识符的规定 标识符:由字母(汉语中的一个汉字是一个字母),数字,下划线和货币符号组成,不能以数字开头;大小写敏感;没有长度限制,不能有空格;不能使用Java的关键字和保留字 d 括号 e 成员:属性 构造器 方法 f 方法:修饰符 返回类型 方法名 方法参数(参数类型与变量名) public static void main (String args)JDK提供的开发类库u基础类(语言包),不需要import,
22、系统缺省会导入java.langu图形界面、事件处理java.awtjavax.swingjava.awt.eventu输入输出操作、文件操作java.iou工具类java.utilJava 垃圾收集的概念uJava语言使用new运算符来分配内存空间,没有动态内存分配的概念。uJava系统线程自动处理无用内存空间的垃圾收集 Java程序员只能建议,但不能强制JVM去执行垃圾收集程序,使用下面的代码: java.lang.System.gc() / java.lang.Runtime.gc()u回收对象u垃圾回收线程只负责堆的垃圾的回收,如果一个对象没有任何的引用指向它,则有可能被回收本章总结在
23、这一章里,我们讨论了以下问题:uJava概述uJava语言的关键特性uJava虚拟机(JVM)的功能uJava的垃圾收集机制u常用Java开发命令和开发工具包u编写并运行一个Java应用程序标识符、关键字和数据类型 本章目标 程序注释 标识符 关键字 基本数据类型注 释 /单行注释 /*这是 一段多行注释, 它跨越了多个行 */ /* *这是一个文档注释,可以使用JDK的javadoc工具从原 *文件中抽取这种注释形成程序的帮助文档。 */u使用javadoc命令建立HTML格式的程序文档 javadoc options packagenames sourcefiles filesJava的标
24、识符1、什么是标识符?什么是标识符? 在在java语言中用来给一个类、变量或方法命名的符号语言中用来给一个类、变量或方法命名的符号2、标识符的命名规则:、标识符的命名规则: 以字母以字母, “_” 或或 “$”符号开头符号开头 可以包含字母、可以包含字母、 “_” 、“$”和数字符号和数字符号 大小写敏感大小写敏感 不能与保留关键字冲突不能与保留关键字冲突 没有长度限制没有长度限制例如:例如:identifier _sys_ var1 $char userName user_ name 9abcint 年龄年龄;Java的标识符(续)3、命名约定:、命名约定: 类名类名, 接口名接口名 :每个
25、单词的首字母应该大写。:每个单词的首字母应该大写。 class MyFirstClass interface Weapon 字段、方法以及对象:第一个单词首字母应小写,其他单词首字母大写。字段、方法以及对象:第一个单词首字母应小写,其他单词首字母大写。 boolean isWoman void setName(String name) 常量:全部用大写字母表示。常量:全部用大写字母表示。 public final int GREEN public final int HEAD_ COUNT Java包(包(Package):它们全都字母小写。):它们全都字母小写。 package java.a
26、wt.event Java中的关键字关键字列表:关键字列表:abstract boolean break byte case catch char class continue default do double else extends enum false final finally float for if implements import instanceof int interface long native new null package private protected public return short static super switch synchronized
27、 this throw throws transient true try void volatile while 保留字:保留字:const,goto所有的关键字都是小写,所有的关键字都是小写,friendly,sizeof不是不是java的关键字的关键字 数据类型基本数据类型(primitive type)引用数据类型(reference type)Java的基本数据类型boolean 布尔值( true 或 false)byte 8-bit (位,8位=1字节)整形值short 16-bit 整形值(短整形)int 32-bit 整形值long 64-bit 整形值char 16-bit
28、 unicode编码的字符double 64-bit 浮点数值(双精度浮点数)float 32-bit 浮点数值(单精度浮点数)String方法1).length() 2).trim( ) /去掉头和尾空格 3).equals() 比较两个字符,返回boolean4).equalsIgnoreCase() 比较两个字符,忽略大小写5).charAt() 返回某个下标的字符 String str7=bcdd; str7.charAt(2) 结果是d6).startsWith() 是否以某字符开始,返回类型是boolean String str8=love you; str8.startsWith
29、(love) 结果是true7).endsWith() 是否以某字符结尾8).toUpperCase() 小写转换大写 .toLowerCase() 大写转小写 9).split()拆分字符串10).substring(a, b) 从下标为a开始取,取到下标b-1的字符String方法方法 整形数据(byte, short, int and long)u三种形式给一个整形变量直接赋值: 十进制、八进制和十六进制u直接给出的值默认是int类型。u长整形值应该在数字后面跟上 l 或 L标示。浮点数据类型float 和 doubleu直接在程序中书写的浮点数默认为 dobule类型。ufloat 类
30、型的数据占32位长度(4 Bytes)udouble类型的数据占64位长度(8 Bytes)u直接表示一个float 类型的值必须在数字后跟 f 或Fu直接表示一个double 类型的值可以在数字后跟d 或Du可以用科学计数法表示,如:123.456e3或123.456E3基本数据类型的取值范围TypeBitsBytesMinimum RangeMaximum Rangeboolean81Only two values :true or falsebyte81-27(-128)27 1(127)short162-215215 - 1char1620216-1int324-231231 - 1l
31、ong648-263263 - 1float324Not neededNot neededdouble648Not neededNot needed变量的声明和赋值public class Assign public static void main(String args) int x, y; / 声明声明int类型变量类型变量x和和y float z = 3.414f; / 声明声明float类型变量并赋值类型变量并赋值 double w = 3.1415; /声明声明double类型变量并赋值类型变量并赋值 boolean truth = true; /声明声明boolean类型变量并赋
32、值类型变量并赋值 char c; /声明声明char类型变量类型变量c String str; /声明声明String类型的引用类型的引用 String str1 = “bye”; /声明声明String类型的引用并且实例化类型的引用并且实例化 c = A; / 给给c变量赋值变量赋值 str = “Hi out there!”; / 给给str实例化实例化 x = 6; y = 1000; 类型转换u基本数据类型和引用类型的数据都可以转换类型,但这种转换是有限制的u 类型转换分为两种:自动类型转换(隐含转换)和强制类型转换(显式转换)u隐含类型转换发生在把一个子类型赋给一个超类型时u显式类型
33、转换有一定的限制基本数据类型转换序列charbyteshortintdoublefloatlong说明:说明:1 1、在本图中,顺着箭头方向的类型转换可以自、在本图中,顺着箭头方向的类型转换可以自动进行,动进行,逆箭头方向的转换或无箭头类型之间的转换必逆箭头方向的转换或无箭头类型之间的转换必须强制转换。须强制转换。2 2、能将、能将A A类型变量自动转换成类型变量自动转换成B B类型变量的前提类型变量的前提条件是这种转换不会造成数据和精度的丢失,条件是这种转换不会造成数据和精度的丢失,即即A A类型的取值范围是类型的取值范围是B B类型的取值范围的子集类型的取值范围的子集。引用数据类型(ref
34、erence type)数组Array ,类 classe,接口interface属于reference 类型。reference 类型的变量是所引用的对象的内存地址。例子:class MyDate private int day = 1; private int month = 1; private int year = 2000; public MyDate( int day, int month, int year) . public void print() . public class TestMyDate public static void main( String args)
35、MyDate my_ birth = new MyDate( 22, 7, 1964); 引用数据类型(reference type)创建一个类对象:MyDate my_ birth = new MyDate( 22, 7, 1964);my_birth 是引用,保存的是地址值new MyDate()引用类型的对象,保存的是对象值两个引用变量的赋值将会产生如下结果:MyDate s = new MyDate( 22, 7, 1964);MyDate t = s;两个变量指向同一个对象:引用数据类型(reference type)本章总结在这一章中,我们讨论了以下问题: u 不同类型的注释u 标
36、示符和关键字 u 基本数据类型 u 引用类型u 对象的概念运算符及流程控制语句运算符及流程控制语句 本章目标uJava的运算符u布尔表达式u选择结构(if else,switch)u循环结构(while,dowhile,for)u使用continue和break进行循环控制常用运算符列表序号描述运算符结合性1括号和引用() 。左右2单目运算符+ - - ! 右左3算术运算符* /(整除) %(求模,余数) + - 左右4关系运算符 = = = !=左右5逻辑运算符& | & |左右6位运算符 & | 左右7条件运算符?:/8赋值运算符= += -= *= /= %= = = = &= |= =
37、 右左算术运算符说明:uJava对“+”运算符进行了扩展,使它能够进行字符串的连接,u 如“abc”+“de”,得到串“abcde”u+i , -i 在使用i前,先使i的值改变ui+ , i- 在使用i后,再改变i的值u单独写+i ,换成i+是没有区别的int i=1;+i;System.out.println(i);uint i=3,j;uj=i+ 先赋值,再自增1,结果:j=3,i=4uj=+i 先自增1,再赋值,结果:j4,i4uint i=7; System.out.println(+i + i+ +i);关系运算符说明:uJava中,任何数据类型的数据(包括基本类型和引用类型)都可以
38、通过=或!=来比较是否相等。String s1=“abc;String s2=“abc;s1=s2u关系运算的结果返回true或false。u等于和不等于适用于所有内建的数据类型,但其他比较不适用于boolean类型。逻辑运算符逻辑运算符逻辑运算符AND(&)、)、OR(|)以及)以及NOT(!)能生成一个布)能生成一个布尔值(尔值(true或或false)说明:说明:只可将只可将AND,OR或或NOT应用于布尔值。不可将一个非布应用于布尔值。不可将一个非布尔值当作布尔值在逻辑表达式中使用尔值当作布尔值在逻辑表达式中使用 例如:以下是非法的。例如:以下是非法的。int i=1,j=2;i &
39、ji | j!i说明:说明: & | 短路运算:短路运算:只要一边的结果能够确定运算结果,另一边的就不再计算只要一边的结果能够确定运算结果,另一边的就不再计算int a=5,b=3,c=2,d=1;if(a2)/ “&”d+; System.out.println(c);System.out.println(d); int a = 4; if(a3&(b=a)=0) b赋值赋值 if(a3&(b=a)=0) b不赋值不赋值 逻辑运算符逻辑运算符条件运算符u三目运算符u?:; l?运算符的含义是: 先求表达式1的值, 如果为真, 则求表达式2 的值并把它作为整个表达式的值; 如果表达式1 的值为
40、假, 则求表达式3 的值并把它作为整个表达式的值.uint i=0;uSystem.out.println((i=0)?“男生”:“女生”);流程控制语句1、分支语句:if-else, switch-case 2 、循环语句:for, while, do-while 3 、循环跳转语句: break, continue选择结构if elseif( boolean expression) code block 1else code block 2if( boolean expression) code blockif( boolean expression 1) code block 1else
41、 if (boolean expression 2) code block 2else code block 3if else 的语法结构的语法结构1,基本结构基本结构2,省略省略else分支分支3,多层嵌套多层嵌套选择结构switch caseswitch case 实现多分支选择结构的语句:实现多分支选择结构的语句:switch(expression) case 整数值整数值1 : 语句语句; break;case 整数值整数值2 : 语句语句; break;case 整数值整数值3 : 语句语句; break;case 整数值整数值4 : 语句语句; break;case 整数值整数值5
42、 : 语句语句; break;/.default:语句语句;注意:注意:switch()内数据类型为内数据类型为byte short char int类型,只有类型,只有以上四种类型的才可以在以上四种类型的才可以在switch()中使用。中使用。 case块中不加块中不加break时顺序执行下面的语句。时顺序执行下面的语句。 switch case 应用例题:根据考试成绩的等级打印出百分制分数段。例题:根据考试成绩的等级打印出百分制分数段。public class GradeLevel public static void main( String args ) System.out.prin
43、tln(n* first situation *); char grade=C; /normal use switch( grade ) case A : System.out.println(grade+ is 85100);break; case B : System.out.println(grade+ is 7084);break; case C : System.out.println(grade+ is 6069);break; case D : System.out.println(grade+ is 60);break; default : System.out.println
44、(input error); u格式格式for(初始化(初始表达式)初始化(初始表达式);循环条件(循环条件( 布尔表达式)布尔表达式);修正语句(修正语句( 步步进)进)) 循环体语句块循环体语句块说明:说明: 无论初始表达式,布尔表达式,还是步进,都可以置空。无论初始表达式,布尔表达式,还是步进,都可以置空。 初始表达式在整个循环过程中只执行一次。初始表达式在整个循环过程中只执行一次。 for (int i=1;i=10;i+) System.out.println(“i=“+i); 第一步第一步 初始化初始化i=1第二步第二步 循环条件:判断循环条件:判断i=10,真:执行循环体语句,到
45、第三步修正语句,再循环条件真:执行循环体语句,到第三步修正语句,再循环条件.假:跳出循环假:跳出循环for循环循环while 循环u格式:格式: while(布尔表达式布尔表达式) 循环体语句块循环体语句块先判断,再循环,再判断,再循环先判断,再循环,再判断,再循环例子:public class WhileTest public static void main(String args) double r = 0; while(r 0.99) r = Math.random(); System.out.println(r); 练 习u 1-1/3+1/5-1/7+1/9u 求前50项计算的结果
46、u 求计算结果直到某一项的绝对值不大于105break与 continuebreaku跳出它所在的循环语句或跳出它所在的循环语句或switch 语句语句continueu用来结束本次循环,跳过循环体中下面尚未执行的语句,接用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环着进行终止条件的判断,以决定是否继续循环 int m=3;for (int i=0;im;i+) if(i=1) /break;终止当前循环终止当前循环 /continue;跳过本次循环跳过本次循环 System.out.println(i);练 习u 目标:使用do while循环掌
47、握一种从终端读取的方法u 要求从终端输入一个用户名,此用户名不能以数字开头,输入正确的话系统将用户名输出u 要求从终端输入姓名和年龄,中间用空格隔开,系统读到后将其输出本章总结uJava语言的运算符u使用 if, switch, for, while, do while, break , continue 来控制程序的流程u思路问题:l 先看是否是循环问题l 用哪种循环合适?l 循环中止的条件l 每循环一次要做什么练 习工资总额,三险一金应纳税所得额(要纳税的钱)工资总额三险一金个税起征点(2000) 应纳税所得额(x) 税率(%) 500 5500 x=2000的部分 102000 x500
48、0 25练 习1,给定3个数a,b和c,输出最大的数。2,某电信公司的市内通话费计算标准如下: 三分钟内0.2元,三分钟后每增加一分钟增加0.1元,不足一分钟的按一分钟计算。 要求编写程序,给定一个通话时间(单位:秒),计算出应收费金额。3,编写程序,判断给定的某个年份是否是闰年。 闰年的判断规则如下: (1)若某个年份能被4整除但不能被100整除,则是闰年。 (2)若某个年份能被400整除,则也是闰年。练 习4,给定一个百分制的分数,输出相应的等级。,给定一个百分制的分数,输出相应的等级。 90分以上分以上 A级级 8089 B级级 7079 C级级 6069 D级级 60分以下分以下 E级
49、级5,编写程序求,编写程序求 1+3+5+7+99 的和值。的和值。6,编写程序输出,编写程序输出1-100之间所有能被之间所有能被7整除的偶数。整除的偶数。7,求所有满足如下条件的四位数:,求所有满足如下条件的四位数: 千位上的数字大于百位数字,百位数字大于十位数字,十位数字大于个位千位上的数字大于百位数字,百位数字大于十位数字,十位数字大于个位数字,并且千位数字是其他三位数字的和。数字,并且千位数字是其他三位数字的和。8,编写程序求下列多项式的前,编写程序求下列多项式的前50项的和:项的和: 1-1/3+1/5-1/7+1/9- 练 习 9,请编写程序输出九九乘法表。10,编写程序输出1-
50、100之间的所有素数。11,求斐波那契数列前n项的和值,斐波那契数列如下: 1,1,2,3,5,8,13,21 前两位数是1,从第三位开始每位数都是前两位数之和 12,给定一个整数,把它的各位数字倒排过来形成一个新的整数 例如:给定12345 输出54321 ;给定 9870 输出789数数 组组 本章目标:u声明并建立一个基本类型的数组和引用类型的数组u为什么数组在使用前必须初始化u定义并初始化一个数组u正确使用数组中的元素u创建一个多维数组(存放数组的数组)什么是数组u定义l数组是一个集合,它包含了相同类型的数据u特点l1)数组本身是一个对象(在堆里),有长度l2)数组访问不能越界l3)支