收藏 分销(赏)

Java与面向对象程序设计实验教程全套电子整本书电子教案教学教程整套课件.ppt

上传人:快乐****生活 文档编号:10251457 上传时间:2025-04-30 格式:PPT 页数:542 大小:1.81MB
下载 相关 举报
Java与面向对象程序设计实验教程全套电子整本书电子教案教学教程整套课件.ppt_第1页
第1页 / 共542页
Java与面向对象程序设计实验教程全套电子整本书电子教案教学教程整套课件.ppt_第2页
第2页 / 共542页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,面向对象的程序设计,对外经济贸易大学 雷擎,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,面向对象的程序设计,对外经济贸易大学 雷擎,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,面向对象的程序设计,对外经济贸易大学 雷擎,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,面向对象的程序设计,对外经济贸易大学 雷擎,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,面向对象的程序设计,对外经济贸易大学 雷擎,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,面向对象的程序设计,对外经济贸易大学 雷擎,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,面向对象的程序设计,对外经济贸易大学 雷擎,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,面向对象的程序设计,对外经济贸易大学 雷擎,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,面向对象的程序设计,对外经济贸易大学 雷擎,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,面向对象的程序设计,对外经济贸易大学 雷擎,第 7 章 线程,content,7.1,多线程基础,7.2,线程的生命周期,7.3,生产者与消费者问题,实验:多线程,7.1 多线程基础,7.1.1 线程的概念,7.1.2 Thread类和Runnable接口,7.1.3 在程序中实现多线程,7.1.1 线程的概念,线程和进程都是指正在执行的程序代码,是与计算机中的并发执行相关的概念。,通过操作系统的调度,多个进程和线程可以同时、独立的执行。,线程与进程的区别:,多个进程的内部数据和状态都是完全独立的,而多线程是共享一块内存空间和一组系统资源,有可能互相影响.,线程本身的数据通常只有寄存器数据,以及一个程序执行时使用的堆栈,所以线程的切换比进程切换的负担要小。,多线程是Java的内嵌特性,Java 虚拟机允许应用程序并发地运行多个执行线程。,线程与进程的区别,7.1.2 Thread类和Runnable接,Java中实现多线程有两种途径:继承Thread类或者实现Runnable接口。Thread类实现Runnable接口。,创建线程的方式,1.继承类Thread,public class,mythread,extends,Thread,2.实现Runnable接口 public class,mythread,extends,SuperClass,implements,Runnable,上述两种方法中都可用类Thread产生线程的对象 Thread newthread;,定义一个Thread类的子类,步骤:,1.定义,一个Thread类的子类,,并override run()方法,在这个方法里是你希望这个线程运行的代码,2.创建一个这个新类的对象,3.调用Thread对象的start()方法来启动线程,实现Runnable接口,步骤:,1.定义一个类,实现Runnalbe接口,并override run()方法,在这个方法里是你希望这个线程运行的代码,2.创建一个这个新类的对象,3.创建一个Thread类的对象,用刚才的Runnable对象作为构造函数参数,4.调用Thread对象的start()方法来启动线程,7.1.3 在程序中实现多线程,一个龟兔赛跑的例子,使用线程模拟了龟兔在1000米赛跑过程。,1.定义一个Thread类的子类,class Runner extends Thread,String name;,double distance;,Random rand=new Random();,public Runner(String name),this.name=name;,public void run(),distance=0.0;,for(int i=0;i 10;i+),distance+=100.0;,int sleepTime=rand.nextInt(2000);,System.,out,.println(name+跑了+distance+米t休息+sleepTime+毫秒);,try,Thread.,sleep,(sleepTime);,catch(InterruptedException inte),System.,out,.println(name+跑到了终点);,使用定义好的Runner线程,import java.util.Random;,public class DemoThreadSimple,public static void main(String args),/创建并命名每个线程,Runner rabbit=new Runner(rabbit);,Runner tortoise=new Runner(“tortoise”);rabbit.setPriority(Thread.,NORM_PRIORITY,);tortoise.setPriority(Thread.,NORM_PRIORITY,+5);,rabbit.start();/启动线程1,tortoise.start();/启动线程1,2.实现Runnable接口,class JumpBean implements Runnable,private int sleepTime;,public JumpBean()/构造方法,sleepTime=(int)(Math.,random,()*6000);/获得随机休息毫秒数,数组元素初始化的例子,int aI;aI=new int10;,String aS;aS=new String3;,Circle aC;aC=new Circle5;,int k=0;,for(k=0;k10;k+),aIk=k*k;,aS0=aaa;,aS1=new String(bbb);,aS3=new String(ccc);,for(k=0;k5;k+),aCk=new Circle();,public void run(),try System.,out,.println(Thread.,currentThread,().getName()+going to sleep for +sleepTime);,/区别:因为不是继承Thread类,因而必须先调用currentThread方法,Thread.,sleep,(sleepTime);/线程休眠,catch(InterruptedException exception),System.,out,.println(Thread.,currentThread,().getName()+finished);,/运行结束,给出提示信息,构造并发执行的线程,public class DemoRunnableSimple,public static void main(String args),/创建3个实现Runnable接口类的对象,JumpBean thread1=new JumpBean();,JumpBean thread2=new JumpBean();,JumpBean thread3=new JumpBean();,System.,out,.println(Starting threads);,/分别以三个对象为参数创建三个新线程,第二个参数为新线程命名并启动之,new Thread(thread1,jumpbeanOne).start();,new Thread(thread2,jumpbeanTwo).start();,new Thread(thread3,jumpbeanThree).start();,System.,out,.println(Threads started,main endsn);,public class MyArray,public static void main(String args),int myArray;/声明数组,myArray=new int10;/创建数组,System.out.println(IndexttValue);,for(int i=0;imyArray.length;i+),System.out.println(i+tt+myArrayi);,/证明数组元素默认初始化为0,/myArray10=100;/将产生数组越界异常,数组引用例子,3.线程的优先权,Java的线程调度的优先级为1-10的整数,优先级随数的大小增减。Thread类设置了特定的级别:,MIN-PRIORITY,NOM_PRIORITY,MAX-PRIORITY,某一时刻只有一个线程在执行,调度策略为固定优先级调度.,newthread.setPriority(Thread.MIN_PRIORITY),7.2 线程的生命周期,线程的生命周期是线程从产生到终止的全过程,一个线程在任何时刻都处于某种线程状态。,一个线程的生命周期由线程类、新线程(New Thread)、就绪状态(Ready)、运行状态(Running)、阻塞状态(Blocked)、等待状态(Waiting)和定时等待状态(Timed Waiting)和终止状态(Terminated)。,7.3 生产者与消费者问题,生产者与消费者问题是从操作系统中的许多实际同步问题中抽象出来的具有代表性的问题,反映了操作系统中典型的同步例子。,生产者生产消息,放入消息缓冲区;消费者从消息缓冲区中获取消息,使用消息。,同步关系,生产者线程与消费者线程之间存在的同步关系如下:,同一时刻只能有一个生产者或者一个消费者访问消息缓冲区。,当消息缓冲区为空时,消费者等待生产者生产消息;当消息缓冲区满时,生产者等待消费者消费消息。,关键问题,生产者与消费者问题实现中的关键问题有:,缓冲区采用数组实现的循环队列:缓冲区空的条件为rear=front,缓冲区为满的条件为(rear+1)%size=front;,随机数对象Random rand=new Random()用于产生线程等待的随机毫秒数;,线程的退出:处于运行状态的线程通过置toStop标志为true使线程从run()方法返回;处于等待状态的线程由于无法自己醒过来,需要置toStop标志为true,主程序唤醒它们之后才能检测到toStop标志。,小结,7.1 多线程基础,7.2 线程的生命周期,7.3 生产者与消费者问题,知识点提示:,理解,线程的概念,线程和进程的区别,Java多线程实现的机制,消费者和生产者的原理,掌握,利用Thread和Runnable实现多线程程序,实验:多线程,实验11:多线程,End of Chapter 7,第 1 章 Java 概述,content,1.1 Java,语言的发展和特点,1.2,Java,虚拟机及,java,的跨平台原理,1.3 Java,开发环境,1.4,第一个应用程序,1.5 Java,开发工具介绍,1.1 Java语言的发展,计算机语言的发展历史,Java语言的发展,Java语言的特点,计算机语言的发展历史,语言,什么是语言?,语言是人与人交流的工具(媒介),什么是计算机语言?,人与计算机交流的工具,程序员之间交流的工具,计算机语言分类,机器语言,1300042774,1400593419,1200274027,汇编语言,LOAD b,ADD a,STORE c,高级程序设计语言,c=a+b,编译,解释,机器的表示方式、机器的处理流程,人的表示方式、机器的处理流程,人的表示方式、人的处理流程,高级语言发展历史,第一阶段:以FORTRAN,COBOL等为代表,主要用于工程或商业计算;(50s),第二阶段:以Pascal,C,Ada等为代表,支持结构化程序设计的思想;(60s-70s),第三阶段:以Smalltalk,C+,Java等为代表,支持,面向对象的程序设计思想,;(80s-),java的产生,Java的产生,Birthday:May 23,1995,1991:Set-Top box:James Gosling,1994:OAK and FirstPerson,1995:java and HotJava,Internet play,Java发展回顾,1995年5月23日 Sun正式发布Java和HotJava浏览器。,1995年9月 Sun宣布将提供Java开发工具。,1995年Netscape、Oracle公司、Borland公司、SGI公司、Adobe公司、IBM公司、AT&T公司、Intel公司获得Java许可证。,1995年12月Sun和Netscape发布JavaScript,Sun、Netscape和SGI宣布缔结软件联盟,以开发Java和Internet三维和多媒体交互性工具。,1996年1月Sun宣布成立新的业务部门JavaSoft部,推出Java开发工具包JDK(JavaDevelopmentKit)1.0,1996年2月Sun发布Java芯片系列,包括picoJava,microJava和UltraJava。Sun推出Java数据库联接JDBC 数据库API。,1997年3月Sun推出JDK1.1.1。3月17日Sun向国际标准化组织的第一联合技术委员会(JTC-1)申请成为Java的公开有效规范(PAS)的提案者。,Java语言的特点,简单,面向对象,分布式,执行解释与平台无关,可靠性与安全性,可移植性,结构中立性,支持多线程,动态性,Java类库,组成Java程序的最小单位是类,类封装了数据与处理数据的方法。,对于大多数常用的功能,有大量已经编译好、经过测试的类,这些类的集合就是Java类库。,Java类库主要是随编译器一起提供,也有些类库是由独立软件开发商提供的。,1.2 Java虚拟机及跨平台原理,Java虚拟机,Java的跨平台原理,JVM虚拟机,Windows下c语言编程过程,C源程序(扩展名为.c),Windows 可执行文件(扩展名.exe),Windows操作系统,C编译程序,执行,java语言编程过程,java源程序(扩展名为.java),Java字节码文件(扩展名.class),java,编译程序,Windows 下的java字节码解释程序,linux 下的java字节码解释程序,能直接解释java字节码的cpu,JVM虚拟机,执行,Windows操作系统,执行,Linux操作系统,执行,Java程序编译执行的过程,一次编写,各处运行,1.3 Java开发环境,JDK的安装与介绍,path和classpath的设置,正确认识java,Java是一种计算机高级编程语言,Java技术内涵,编程语言,开发平台,运行环境,Java开发平台,Java2,SDK,(,S,oftware,D,evelopment,K,it),Standard Edition (J2SE),Enterprise Edition(J2EE),Mobile Edition (J2ME),Java的基本环境,开发环境,JDK,包括各种编译、类库管理等工具,以及帮助文档,运行环境,JRE,主要是Java虚拟机,Java的基本API类库等,Java的开发环境搭建,什么是JDK(Java Development Kit)?,开发工具,javac及基础核心类,运行环境,java及基础核心类,下载网址:,JDK的版本1.6,JDK的安装及目录结构,开发环境的设置,JDK的bin目录中的命令,Javac,:Java编译器,用来将java程序编译成 Bytecode。,Java,:Java解释器,执行已经转换成Bytecode的java应用程序。,Jdb,:Java调试器,用来调试java程序。,Javap,:反编译,将类文件还原回方法和变量。,Javadoc,:文档生成器,创建HTML文件。,Appletviewer,:Applet解释器,用来解释已经转换成Bytecode的java小应用程序。,安装JDK后产生的目录,bin目录:Java开发工具,包括Java编译器、解释器等,demo目录:一些实例程序,lib目录:Java开发类库,jre目录:Java运行环境,包括Java虚拟机、运行类库等,环境变量介绍,什么是环境变量?,察看环境变量的两种方式,设置系统环境变量,Path环境变量的作用,%path%的意义,如何解决使用java命令中的问题?,1.4 第一个应用程序,创建Java源文件,编译Java源文件,执行Java程序,Java的基本程序结构,例程,HelloWorld.java,/*,*The HelloWorld class implements an,*application that simply prints Hello World!,*to standard output.,*/,public class HelloWorld,public static void main(String args),System.out.println(,“,Hello World!,”,);,编译和执行,1.编译源文件:,Javac HelloWorld.java,2.编译结果,Java二进制可执行程序,*.class,3.由解释器对字节码解释执行,执行包含main方法的java类,java HelloWorld,解读Hello World!程序,“Hello World!”应用程序三个组成部分:,源代码注释,HelloWorld类定义,main主方法,源代码注释,/*text*/,多行注释,javadoc识别,可生成解释文件,/*,text,*/,多行注释,/,text,单行注释,/*,*The HelloWorld class,*implements an application that,*simply prints Hello World!,*to standard output.,*/,HelloWorldApp类定义,class,类定义关键字,有public修饰称为“主类”,每个java文件至少有一个类定义,public,类的访问权限,HelloWorldApp,类名称,文件名称必须与其一致,HelloWorldApp.java,public class HelloWorld,main主方法,是程序执行的入口,相当于C/C+的main主函数,public class HelloWorld,public static void main(String args),System.out.println(,“,Hello World!,”,);,Java程序的基本结构,Java中的,所有可执行程序代码,都必须存在于,类,中,Java程序的基本结构,import,java包,;,public,class,类名,public static void main(String args),程序语句,相当于C语言中的include,相当于C语言中的main,主类应包含这个入口方法,文件名要与主类名完全相同,Java程序的基本结构,import,语句;,包引用(可选),public class,类名,主类定义(可选),public static void main(String args),例程,HelloWorld.java,import java.lang.*;,public class HelloWorld,public static void main(String args),System.out.println(,“,Hello World!,”,);,Java程序的基本结构,基本概念,源文件名同包含main方法的主类名必须相同,源文件扩展名必须是.java,文件名大小写敏感Java源程序,*.java,Java程序包,*.jar(目录结构),Hello World例程,Java程序的分类:,Application程序,类似于C或其他高级编程语言编写的程序,需要显式使用java引擎启动,Applet程序,小程序,嵌入Web网页的小程序,通过浏览器激活,Hello World例程,HelloWorld,Applet.java,import java.awt.*;,import java.applet.*;,public class HelloWorldApplet extends Applet,public void paint(Graphics g),g.drawString(Hello World!,20,20);,Hello World例程,Applet嵌入网页,1.5 Java开发工具介绍,Eclipse,JBuilder,netBeans,Jcreator,实验1:体验Java编程的过程,Java的源程序文件.java,用javac编译源程序,用java解释执行编译后的.class文件,知识点提示:,Java语言的发展和特点(了解),Java虚拟机及Java的跨平台原理(理解),Java开发环境的搭建(掌握),HelloWorld!的编写编译执行(掌握),Java程序的基本结构(了解),End of chapter 1,第 2 章 Java 语言基础,content,2.1,数据类型,2.2,运算符,2.3,程序流程控制,2.4,注释,实验:基本数据类型和语法,2.1 数据类型,2.1.1 基本数据类型,2.1.2 包装类,2.1.3 数据类型转换,2.1.4 变量,2.1.5 常量,2.1.1 基本数据类型,基本数据类型,整数类型:byte,short,int,long,实数类型:float,double,字符类型:char,布尔类型:boolean,复合数据类型,数组,类(class),接口(interface),2.1.1 基本数据类型,整型,byte:8 bits默认值0,short:16 bits默认值0,int:32 bits默认值0,long:64 bits默认值0,浮点数,float:32 bits默认值0.0F,double:64 bits默认值0.0D(0.0),整型数据类型,byte,short,int,long,数的范围依次增大8-16-32-64bits,默认变量初始值为0,整型常量的形式(默认int类型),十进制,如123,-2,0,八进制,以0开头,如0124,十六进制,以0 x或0X开头,如0 x125,0X126,long类型常量,在数字后加L或l,如127L,128l,实数数据类型,float,double,描述精度依次增加32-64bits,默认的变量初始值:0.0,实型常量的形式(默认double类型),十进制,由数字和,小数点,构成,如0.126,科学计数法,如123e3,123E3,float类型常量,在数字后加F或f,如0.12F,2.13f,2.1.1 基本数据类型,字符型,char:16 bits默认值u0000,采用16位Unicode字符,布尔型,boolean:8 bits默认值false,不能与整型进行混合计算,2.1.1 基本数据类型,与C,C+相比,Java,不支持指针类型,不支持结构体类型、联合体类型和枚举类型,没有sizeof操作符,2.1.2 包装类,Java提供了与基本数据类型相对应的包装类(Wrapper class),具有很直观的方法。,例如:都有doubleValue()方法,包装类,Byte、Short、Boolean、Character、Integer、Double、Float、Long,2.1.3 数据类型转换,基本数据类型之间可以相互转换,两种转换方式:自动转换、强制转换,自动转换,目标数据类型和源类型数据是兼容的,目标数据类型的范围比源类型的大,优先关系:,byteshortcharintlongfloatdouble,2.1.3 数据类型转换,自动转换举例:,byteb;,shorts=b;,inti=b;,longl=b;,Char c=c;i=c;,System.out.println(“output”+i);,2.1.3 数据类型转换,强制转换,大范围的类型转换为小范围的类型,特殊转换,简单类型变量和包装类之间相互转换,2.1.3 数据类型转换,强制转换方法1,(target-type)value,例:,inti;,byteb=(byte)i;,shorts=99;,charc=(char)s;,System.out.println(“output:”+c);,2.1.3 数据类型转换,强制转换方法2,利用包装类构造方法创建新变量,如:,Boolean(String s);,Integer(String s);,Float(String s);,Double(String s);,例:Double(“123”)把字符串”123”转换为数值123.0,2.1.3 数据类型转换,强制转换方法3,利用包装类创建新变量,利用xxValue()转换。其中xx代表不同的基本数据类型。,例:把float型转换为double型,floatf=100.00f;,FloatfW=new Float(f);,double d=fW.doubleValue();,inti=fW.intValue();,2.1.4 变量,变量语法,Type identifier=value,identifier=value;,变量声明规则,变量名必须是一个有效标识符。,每个变量都有类型,例如 int 类型或 Object类型,变量还有作用域。,同一个有效范围内,声明的变量不能重名。,2.1.4 变量,Java标识符(identifiers)规定,以大小写英文字母、数字、下划线“_”和美元符号“$”开始的一个字符序列。,除开始的第一个字符外,后面可跟字母、下划线、美圆符和数字。,标识符区分大小写,没有长度限制,不能与保留字(reserved word)或关键字(keyword)相同,2.1.4 变量,变量的定义,C、pascal,,“,先定义后使用,”,Java,,“,随用随定义,”,变量的作用域(范围),没有全局变量的概念,所有变量的都是局部的,只有static属性的变量或常量,类似于全局变量,2.1.5 常量,Java语言用final关键字定义常量。,例:,final double PI=3.14;,int r=5;,double l=2*PI*r;,注意,常量定义时,需要对其进行初始化,初始化后就不能更改。,定义常量时,变量都用大写字符。,public class ex1_1,public static void main(String args),final,int PRICE=30;,final double PI=3.141592654;,int num,total;,double v,r,h;,num=10;,total=num*PRICE;,System.out.println(total);,r=2.5;,h=3.2;,v=PI*r*r*h;,System.out.println(v);,变量声明,变量,标识符常量,常量声明,变量和常量例子,BACK,2.2 运算符,Java的表达式是由一系列变量、运算符、方法调用构成的,其中java的运算符主要可以分为算术运算符、关系运算符、逻辑运算符、位运算符和其他运算符。,2.2 运算符,算术运算符(+、-、*、/、%、+、-),关系运算符(、=、&、|、),赋值运算符(=、+=、,),条件运算符(?:),其他(分量运算符.、下标运算符、实例运算符instanceof、内存分配运算符new、强制类型转换运算符(type)、,),简单赋值运算符=,复合赋值运算符,*=/=%=+=-=&=|=,E1,op,=,E2,等效于,E1,=,(,T,)(,E1,),op,(,E2,),其中,T,是,E1,的类型,赋值运算符,举例,a=5,a=b=c=5,a=5+(c=6),a=(b=4)+(c=6),a=(b=10)/(c=2),a+=a-=a*a,赋值运算符(续),举例,a=5,表达式的值为 5,a=b=c=5,表达式的值以及 a,b,c 的值都是 5,a=5+(c=6),表达式的值是 11,a 是 11,c 是 6,a=(b=4)+(c=6),表达式的值是 10,,a是10,b是4,c是6,a=(b=10)/(c=2),表达式的值是 5,a是5,b是10,c是2,a+=a-=a*a,等效于,a=a+(a=a-a*a),赋值运算符(续),条件运算符和表达式,条件运算符和条件表达式,运算符:?:,条件表达式:expression1?expression2:expression3,功能等同于if 语句,BACK,2.3 程序控制流程,2.3.1 选择语句,2.3.2 循环语句,2.3.3 跳转语句,语句和复合语句(程序块),语句是程序流程的基本组成,分为:,简单语句,如表达式语句 a=b+c;,复合语句,或程序块,通常是由多个简单语句组成,用一对花括号包围起来,复合语句可以由另外的复合语句组成,形成嵌套的复合语句。如:,.,语句和复合语句(程序块),Java中不允许在两个嵌套的复合语句(块)内声明两个完全同名的变量。如下列代码是错误的:,int a;,float a;,语句和复合语句(程序块),Java语言中允许在任意地方声明变量,这一点与C和Pascal不同。,Java语言中变量的定义,,“,随用随定义,”,,而C和Pascal中是,“,先集中定义,后使用,”,2.3.1 选择语句,Java的选择语句主要有两种:,条件分支语句:if-else 语句,多路分支语句:switch语句,if-else 语句,if,(expression),statementList,if,(expression),statementList1,else,statementList2,if,(expression),statementList1,else if,statementList2,else,statementList,只有if语句,public class Test_1,public static void main(String args),int i=5;,if(i 0&i 0&i 20),System.,out,.println(a大于20);,else if(a 10),System.,out,.println(a大于10且小于等于20);,else if(a 0),System.,out,.println(a大于0且小于等于10);,else,System.,out,.println(a小于0);,switch(expression),case expressionValue1:,statementList,break;,.,case expressionValueN:,statementList,break;,default:,statementList,break;,switch语句,switch举例,public class Score,public static void main(String args)throws Exception,float score=Float.,parseFloat,(s);,System.,out,.println(成绩为:+score+分);,switch(int)(score/10),case 10:,case 9:System.,out,.println(等级:优秀);break;,case 8:System.,out,.println(等级:良好);break;,case 7:System.,out,.println(等级:中等);break;,case 6:System.,out,.println(等级:及格);break;,default:System.,out,.println(等级:不及格!);,2.3.2 循环语句,Java循环语句,for,for-each,while,do-while,Java循环语句的基本组成,初始化部分,循环体部分,迭代部分,终止判断部分,for语句,格式:for(initialization;condition;iteration)/body,for举例,public class TestFor,public static void main(String args),for(int a=1,b=4;a 0),sum+=n;,n-;,System.,out,.println(110的数据和为:+sum);,do-while语句,格式:do /bodywhile(condition);,do-while 循环至少执行它的循环体一次,因为它的条件表达式在循环的结尾,do-while举例,public class Test2_5,public static void main(String args),int n=0;,int sum=0;,do,sum+=n;,n+;,while(n=10);,System.,out,.println(110的数据和为:+sum);,2.3.3 跳转语句,与C/C+不同,Java保留了goto作为关键字,但并没有使用其实现跳转。,Java支持三种跳转语句,break,continue,return,break语句,跳出一个程序块,并执行紧接着该程序块的语句,通常用于跳出一个循环结构,break语句举例,public class TestBreak,public static void main(String arg),int x=0,;,while(x 10),x=(int)(Math.,random()*100);,System.,out,.println(“x的初始值为:+x);,switch(x%2),case 0:System.,out,.println(“x是偶数,x=+x);,break;,case 1:System.,out,.println(“x是奇数,x=+x);,break;,default:System.,out,.println(“default语句 x=+x);break;,continue语句,只出现在循环语句中,作用是跳过continue语句后的剩余语句,直接回到循环的开始部分执行,continue语句举例,public class TestContinue,public static void main(String args),out:,for(int a=1;a=9;a+),for(int b=1;b a),System.out.println(当前a和b分别是+a+和+b+,b大于a,现在跳到外圈去);,continue,out,;,System.out.println(当前a和b分别是+a+和+b+,乘积是+a*b);,System.out.println(内圈正常跑完一圈);,return语句,从Java中的方法返回,Java的方法可以看成一个函数或过程,return语句举例,public class Hello,public static void main(String args),Hello h=new Hello();,int num=h.intRandom();,System.,out.println(Hello World!+num();,public int intRandom(),return,(int)(Math.,random()*10);,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服