第二章 Java基本语法ppt课件.pptx
第二章 Java基本语法中国铁道出版社Java程序设计Java程序设计第二章 Java基本语法剖析Java的结构2.1翻滚吧代码2.2数组Arrays类2.3目录CONTENTEJava程序设计第二章 Java基本语法知识目标【知识目标】1.了解Java程序的结构以及程序编辑、编译、和执行过程;2.掌握各种基本数据类型和表示形式;3.掌握各种运算符的使用;4.掌握Java中各种流程控制语句的格式、执行过程和编写;5.了解数组的基本概念;6.掌握数组的定义和元素访问的方法。Java程序设计第二章 Java基本语法教学重难点【能力目标】1.能够熟练使用Java语句编写程序来解决某个具体的问题;2.并掌握运用数组解决实际问题的方法和思路。Java程序设计第二章 Java基本语法剖析Java的结构2.1Java程序设计Java程序设计第二章 Java基本语法你好,Java!像其他编程语言一样,Java 编程语言也被用来创建应用程序。一个共同的应用程序范例是在屏幕上显示字串“Hello World”。下列代码给出了这个Java应用程序。Java程序设计第二章 Java基本语法Java程序设计第二章 Java基本语法下面将逐步介绍如何保存、编译以及运行这个程序:步骤一:打开Notepad,把上面的代码添加进去。步骤二:把文件名保存为:HelloWorld.java。步骤三:打开cmd命令窗口,进入目标文件所在的位置,假设是“C:”。步骤四:在命令行窗口键入“javac HelloWorld.java”按下Enter键编译代码。如果代码没有错误,cmd命令提示符会进入下一行。(假设环境变量都设置好了)Java程序设计第二章 Java基本语法步骤五:再键入“java HelloWorld”按下Enter键就可以运行程序了。你将会在窗口看到 Hello World程序的运行结果:C : javac HelloWorld.javaC : java HelloWorldHello WorldJava程序设计第二章 Java基本语法数字电路与逻辑设计第一章 数字逻辑基础Java程序包括源代码(.java文件)、由编译器生成的类(.class文件)、由归档工具Jar生成的.jar文件、对象状态序列化.ser文件。由于只有源代码需要开发者编写,这里也就只讨论源代码的结构。(1)package语句:0或1个,指定源文件存入所指定的包中,该语句必须在文件之首,如没有此语句,源文件存入当前目录下。(2)import语句:0或多个,必须在所有类定义之前引入标准类。(3)public class定义:0或1个,指定应用程序类名,也是源文件名。(4)class定义:0或多个,类定义。(5)interface定义:0或多个,接口定义。Java程序设计第二章 Java基本语法重点提示Java是区分大小写的。源文件名与程序类名必须相同,其扩展名为.java,源文件中最多只能有一个public类,其他类的个数不限。Java有两类应用程序,Java Application和Java Applet。前者是独立的应用程序,而后者嵌入HTML在浏览器中执行。Java程序设计第二章 Java基本语法1编写和运行Java Application应用程序Java Application应用程序的编写和执行分3步进行。(1)编写源代码。 (2)编译源代码。 (3)解释执行。Java程序设计第二章 Java基本语法2编写和运行Java Applet应用程序Java Applet应用程序的编写和执行共分4步进行。(1)编写源代码。这步与Java Application应用程序相同,编辑一个源文件存入指定文件夹中。注意,该程序不含main方法。(2)编写HTML文件调用该小程序。以.html为扩展名存入相同文件夹。(3)编译过程,与Java Application应用程序相同,编译应用程序的Java部分。(4)解释执行,同样在DOS方式下,输入命令:appletviewer filename.html(这里的filename不要求与Java文件同名)。如无错误,显示结果,如有出错报告,排错后,重复上面解释执行。Java程序设计第二章 Java基本语法注意 编写Java程序时,应注意以下几点。1.大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。2.类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,如MyFirstJavaClass 。3.方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。4.源文件名:源文件名必须和类名相同。当保存文件的时候,应使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java(如果文件名和类名不相同则会导致编译错误)。5.主方法入口:所有的Java 应用程序由public static void main(String args )方法开始执行。Java程序设计第二章 Java基本语法3JDK工具上面编写执行Java程序的过程中用到了一些工具,SUN公司免费提供了一套JDK工具,它主要包括:(1)javac.exe。 Java编译器,能将源代码编译成字节码,以.class扩展名存入java工作目录中 (2)java.exe。Java解释器,执行字节码程序。 (3)javadoc.exe。Java文档生成器,对Java源文件和包以MML格式产生AP文档。 (4)appletviewer.exe。Java Applet浏览器。Java程序设计第二章 Java基本语法4Java控制台输入/输出的常用方法在Java应用程序中,控制输出的语句是:“System.out.print()”或“System.out.println()”;System类位于java.lang包中;Java中的控制台输入是通过 Scanner类来实现的。Scanner类位于java.util包中,专门用于控制台输入,在使用之前首先需要导入这个包的类:import java.util.Sacnner;Scanner类我们会在后面的项目进行详细的介绍,这里大家先学会简单地使用即可。Java程序设计第二章 Java基本语法【例2.2】编写第一个Java 程序,目标在于了解Java 程序的基本结构,程序使用在屏幕输出方法System.out.println()输出一些信息。例如,输出“I am ,Welcome to Java,Good Luck!”。 程序如下所示:/HelloWorld.javapublic class HelloWorld public static void main(String args) System.out.println(I am ,Welcome to Java,Good Luck!);Java程序设计第二章 Java基本语法数据类型Java数据类型(type)可以分为两大类:基本类型(primitive types)和引用类型(reference types)。引用类型引用对象(reference to object),而基本类型直接包含值(directly contain value)。本子项目主要学习Java中的基本数据类型,也称为简单数据类型。1.标识符在Java语言中,所有的变量、常量、对象和类都是用标识符命名的,标识符的命名规则为:(1)标识符是以字母、下划线(_)、美元符($)作为首字符的字符串序列。在首字符后面可以跟字母、下划线(_)、美元符($)和数字。(2)标识符是区分大小写的。(3)标识符的字符数目没有限制,但为便于阅读和记忆,不宜太长。Java程序设计第二章 Java基本语法2.关键字abstract do implements private throw boolean double import protected throws break else instanceof public transient byte extends int return true case false interface short try catch final long static void char finally native super volatile class float new switch while continue for null synchronized enum default if package this assert注意: (1)这些关键字的具体含义和使用方法,会在后面用到的地方讲述。(2)Java 的关键字也是随新的版本发布在不断变动中的,不是一成不变的。(3)所有关键字都是小写的。(4)goto 和const 不是Java 编程语言中使用的关键字,但是是Java 的保留字,也就是说Java 保留了它们,但是没有使用它们。true 和false 不是关键字,而是 boolean 类型直接量。(5)在Java中,所有数据类型的长度都固定,并与平台无关,因此没有sizeof保留字。Java程序设计第二章 Java基本语法3.简单数据类型简单数据类型也称作基本数据类型。Java语言有8种简单数据类型,分别是:boolean、byte、short、int、long、float、double、char。Java程序设计第二章 Java基本语法(1)整型数据整型数据分整型常量和整型变量。整型常量整型常量分3种书写格式:a.十进制整数,如189,-360,456。b.八进制整数,以0开头,如012表示十进制的10。c.十六进制整数,以0 x或0X开头,如0X123表示十进制数291。整型常量在计算机中默认值占32位,分byte,short,int和long4类,它们分别占8,16,32,64位bit。对于long类型整型常量书写表示时,要在数字后面加L或1,如4096L表示一个64位的4096长整数。Java程序设计第二章 Java基本语法与整型常量相同,Java语言提供了byte、short、int和long四种类型的整型变量。为防止计算机高低字节存储顺序不同,通常用byte类型来表示数据可以避免出错。一般情况很少使用该类型,因为它只有8位bit,能表示数据的范围很小,是-128+127。short类型数据的存储顺序是先高后低,这对存储顺序相反的计算机就易出错,使用时要特别注意。它存储时占16位bit,表示的数据范围是,-32768+32767,这种类型也不常用。int类型是最常用的整数类型,它存储时占32位bit,能表示的数据范围比较大,是-2147483648+2147483647。long类型用于大型计算,能表示的数据范围可能超过int类型,如天气预报的计算,天体宇宙计算都是天文数字,就会用long类型来表示。它存储时占64位bit,数据范围是-9223372036854775808L+9223372036854775807L。整型变量Java程序设计第二章 Java基本语法定义整型变量举例:byte a,d,h; /定义a,d,h为字节型变量short ss,ff; /定义ss和ff为short型的变量int i,x,y; /定义i,x,y为int型的变量long u1,u2; /定义ul,u2为long型的变量Java程序设计第二章 Java基本语法(2)浮点型数据浮点型数据属于实型数据,分float和double两种类型,也有实型常量和实型变量之分。浮点型数据由数字和小数组成,必须有小数点,因此小数位数bit越多,表示数越精确。实型常量的书写格式有十进制格式:如0.256、1.888、256.0;科学计算格式:256e3或256E3,其中的e或E是指数符,因此要求在e/E之前必须有数字,在e/E之后必须是整数。实型常量在计算机中的存储表示用float和 double两种类型,如1.33568E2f或133.568E(数的末尾加F或f)都表示相同的133.5fi8浮点数;而1.33568E2D或133.568d(数的末尾加D或d)都表示133.568的double双精度浮点数。提示:如数字后没有任何字母,计算机默认为double类型。Java程序设计第二章 Java基本语法实型变量实型变量也分float类型和double类型,它的定义如下:float f1,y1;/定义r1,y1变量是单精度float实型double p1,s1; /定义p1,sl变量是双精度double实型Java程序设计第二章 Java基本语法(3)布尔型数据布尔型数据只有两个值:true(真)和false(假),它不对应任何数值,因此,它不能与数字进行相互转换,布尔型数据一般用于逻辑判别,在流控制中常用。它在计算机内存占1个字节,默认值(局部变量除外)为false。布尔变量定义举例如下:Boolean tt = true; /定义tt变量为布尔型,初值为trueJava程序设计第二章 Java基本语法(4)字符型数据字符常量字符常量是用单号括起来的一个字符,如s、。用双撇号括起来的是字符串,如s、shanghua。但对有一些字符必须用转义字符来表示。下列给出Java语言中转义字符的描述:ddd 表示1-3位的八进制数据(ddd)所代表的字符。uxxxx 表示1-4位的十六进制数据(xxxx)所代表的字符。 表示单撇号字符。 表示双撇号字符。 表示反斜杠字符。r 表示回车。n 表示换行b 表示退格。f 表示走纸换页。t 表示横向跳格。提示:Unicode字符集比ASCII字符集更丰富,它们是16位无特号数据,如“141”和“u0061”都表示字符常量a。Java程序设计第二章 Java基本语法字符变量字符变量以char类型表示,它在内存中占16位bit,表示范围是0-65535,它不能当做整数使用。char类型的值可转换成int类型。但反过来,将int转换成char类型必须用强制执行。例如:int wq,t=5; /定义wq,,t两个变量为int类型,且t的初值为5char rt,s=2; /定义rt,,s两个变是为char类型,且s的初值为2wq = t + s; /wq=55,因为在做加法运算时,char s变量先被自动转化为整数50,然后与t变量相加得结果55,赋值返回给wq整型变量。rt = (char)wg; /将wq的值强制转换为char字符型,赋值返回给rt字符型变量。把最后两句可合并为一句:rt=(char)(t+s),结果一样。Java程序设计第二章 Java基本语法【任务实施】写一个程序,计算圆的面积。public class ComputeArea public static void main(String args) double radius; / 声明radius double area; / 声明 area radius = 20; /定义一个 radius并赋值 area = radius * radius * 3.14159; / 计算 area / 打印出结果 System.out.println(The area for the circle of radius + radius + is + area); 测试结果如下所示:The area for the circle of radius 20.0 is 1256.636Java程序设计第二章 Java基本语法数据类型转换Java语言的各种数据类型之间提供两种转换:自动转换和强制转换。7种类型按下面顺序排列一下:byte (short=char) int long float float(2)long- float(3)long- double(4)float -double without strictfp除了可能的精度损失外,自动转换不会出现任何运行时(run-time)异常。例如下面的语句:byte i = 100;long k = i * 3 + 4;double d = i * 3.1 + k / 2;Java程序设计第二章 Java基本语法2.类型的强制转换将较长的数据类型转换成较短的数据类型,只能用强制类型转换,通常都用赋值语句来实现,在要求强制的变量名前面用()括上所要强制转换的类型符,例如:short s;byte b=(byte)s; /将s变址强制转换成byte类型显式的类型强制转换:double result;result=1.5+3/2;结果是2.5。因为3/2按整数运算计算,结果是1。强制转换:result=1.5+(double)3/2;结果是3。Java程序设计第二章 Java基本语法12)1 (11arsnumberOfYeerestRatemonthlyInterestRatemonthlyIntloanAmount写一个程序,让用户输入年利率,年数,和贷款数额,按照下面的计算公式来计算每月还款金额和总的还款金额。分析:(1)接受用户的输入,那么我们需要两个步骤:首先需要创建一个Scanner对象:Scanner scanner = new Scanner(System.in);然后使用这个对象的方法例如next(),nextByte(), nextShort(),nextInt(),nextLong(),nextFloat(),nextDouble()或者nextBoolean()来分别获得一个字符串,byte,short,int,long,float,double,或者boolean类型的值。例如:(Enter a double value: );Scanner scanner = new Scanner(System.in);double d = scanner.nextDouble();Java程序设计第二章 Java基本语法/ 计算还款数额 double monthlyPayment = loanAmount * monthlyInterestRate / (1- 1 / Math.pow(1 + monthlyInterestRate, numberOfYears * 12); double totalPayment = monthlyPayment * numberOfYears * 12; / 保留两位小数 monthlyPayment = (int)(monthlyPayment * 100) / 100.0; totalPayment = (int)(totalPayment * 100) / 100.0; / 输出结果 System.out.println(The monthly payment is + monthlyPayment); System.out.println(The total payment is + totalPayment);(2)为了在程序中实现公式中的指数运算ab,我们需要用到Math.pow(a,b)方法。这个方法是在Math类中直接定义好了,我们可以直接导入使用。Java程序设计第二章 Java基本语法翻滚吧,Java代码!2.2Java程序设计Java程序设计第二章 Java基本语法假如我们要为一年级的学生做一个算法测试程序,随机产生10以内的加法算式,学生输入答案后,提示答案是否正确。那么我们需要对程序中涉及的数据进行处理,因此就需要通过运算符和表达式来操作数据和对象。本项目来学习运算符和表达式。运算符与表达式Java程序设计第二章 Java基本语法运算符与表达式对各种类型的数据进行加工的过程称为运算,表示各种不同运算的符号称为运算符,参与运算的数据称为操作数。按运算符的操作数的数目划分,可分为下面几类:(1)一元运算符:+,-,+,-。(2)二元运算符:+,-,。(3)三元运算符:?:。Java程序设计第二章 Java基本语法按运算符的功能划分,可分为下面几类: (1)算术运算符:+,-,*,/,%,+,-,例如:3+2; a-b; i+; -i;(2)关系运算符:,=,3;i=0;n!=-1;(3)布尔逻辑运算符:!,&,|,例如:flag=true;!(flag);flag&false;(4)位运算符:,&,|,。运算符与表达式Java程序设计第二章 Java基本语法Java编程语言提供了两种右移位运算符和一种左移运算符,右移一位( )相对于除以2:左移(进行算术或符号右移位。移位的结果是第一个操作数被2的幂来除,而指数的值是由第二个数给出的。例如:128 1 得到128/21 = 64;256 4 得到256/24= 16;-256 4 得到-256/24= -16。逻辑或非符号右移位运算符主要作用于位图,而不是一个值的算术意义;它总是将零置于符号位上。例如:1010 . 2 得到111010 .1010 . 2 得到 001010 .在移位的过程中, 运算符使符号位被拷贝。运算符执行一个左移位。移位的结果是:第一个操作数乘以2的幂,指数的值是由第二个数给出的。例如:128 18的值为false; 表达式15=18的值为false; 表达式15用来将一个数的二进制位序列右移若干位。例如:a=a2,使a的各二进制位右移2位,移到右端的低位被舍弃,最高位则移入原来高位的值。如a=00110111,则a2=00001101;b=11010011,则b2=11110100。右移二位相当于除2取商,而且用右移实现除法比除法运算速度要快。Java程序设计第二章 Java基本语法算术左移运算符用来将一个数的二进制位序列左移若干位。例如:a=a2,使a的各二进制位左移2位,右补0, 若a=00001111,则a和用来将一个数的各二进制位添零右移若干位。与运算符的相同之处是,移出的低位被舍弃。不同之处是运算时,最高位则移入原来高位的值;而运算时,最高位补0。所以逻辑右移也叫无符号右移。如a=00110111,则a2=00001101;b=11010011,则b2=00110100。(2)移位运算符(3)位运算符的优先级在复杂一些的位运算表达式中,位运算符的优先级顺序排列如下:-的优先级最高,其次是和,然后是&,再次是,最后是!。当然,通过括号可以改变位运算符的优先顺序。Java程序设计第二章 Java基本语法5.赋值运算符和赋值表达式赋值运算符分为赋值运算符(=)和扩展赋值运算符两种。(1)赋值运算符(2)扩展赋值运算符Java程序设计第二章 Java基本语法6.运算符的优先级和复杂表达式在对一个复杂表达式进行运算时,要按运算符的优先顺序从高到低进行,同级的运算符则按照在表达式中出现的位置从左到右的方向进行。表2-8列出了Java中运算符的优先级顺序。Java程序设计第二章 Java基本语法8. 表达式语句在由+和-运算符形成的一元算术表达式和赋值表达式后加上分号可直接作为语句来使用,这种由表达式直接构成的语句叫做表达式语句。例如:i+;-j;z=x+y;f0=f1=1;c+=a;b*=a;其他可以直接构成表达式语句的表达式还有无返回值的方法调用。例如:System.out.println();Java程序设计第二章 Java基本语法【任务实施】为一年级的学生做一个算法测试程序,随机产生10以内的number1 and number2 并显示一个算式例如:“What is 7 + 9?”。学生输入答案后,提示答案是否正确。分析:在这里我们产生随机数的方法是System.currentTimeMillis(),这个方法获得系统当前时间到1970.1.1 00:00:00的时间差值,是一个以毫秒(1000毫秒=1秒)为单位的long类型的值。Java程序设计第二章 Java基本语法import java.util.Scanner;public class AdditionQuiz public static void main(String args) int number1 = (int)(System.currentTimeMillis() % 10); int number2 = (int)(System.currentTimeMillis() * 7 % 10); / 创建一个Scanner Scanner input = new Scanner(System.in); System.out.print( What is + number1 + + + number2 + ? ); int answer = input.nextInt(); System.out.println( number1 + + + number2 + = + answer + is + (number1 + number2 = answer); 【任务实施】Java程序设计第二章 Java基本语法语句初探Java的程序流程是由若干条语句组成的,每一条语句以分号结束,语句可以是单一的一条语句(如c=a+b;),也可以是用大括号括起来的语句块或称复合语句。一般说来,程序是按照代码出现的先后次序顺序执行的,但是通过流程控制可以有效地组织代码运行的顺序。Java流程控制结构包括分支语句、循环语句、跳转语句、异常处理语句等流程控制语句分支语句 跳转语句循环语句处理语句等Java程序设计第二章 Java基本语法1.条件分支语句(1)格式1:无else的if语句 if(条件) statement;或者 if(条件) block Java程序设计第二章 Java基本语法2 if-else结构采用的格式如下:if(条件)statement1;或block1elsestatement2;或block2注意:else子句不能单独作为语句使用,它必须和if子句配对使用。三元条件运算符有时可以代替if-else结构。下面的表达式:expression1?expression2?expression3相当于下列语句:if(expression1)expression2;else expression3;Java程序设计第二章 Java基本语法【例2-2】为一年级的新生做一个算法测试程序,每次产生5个减法算术题,提示用户输入答案,并判断用户是否答对,最后显示题目的正确答案以及答题的时间。Java程序设计第二章 Java基本语法import java.util.Scanner; public class SubtractionQuizLoop public static void main(String args) final int NUMBER_OF_QUESTIONS = 5; / 题目数数量 int correctCount = 0; / 计算答对的题数 int count = 0; / 题目计数器 long startTime = System.currentTimeMillis(); String output = ; Scanner input = new Scanner(System.in);while (count NUMBER_OF_QUESTIONS) / 1. 产生两个随机数字 int number1 = (int)(Math.random() * 10); int number2 = (int)(Math.random() * 10); / 2. 如果 number1 number2, 交换 if (number1 number) System.out.println(Your guess is too high); else System.out.println(Your guess is too low); / End of loop Java程序设计第二章 Java基本语法(2)do-while循环do-while循环又称“直到型”循环,它的一般格式为:initializationdobody;iteration;while(termination);Java程序设计第二章 Java基本语法(3)for循环当事先知道了循环会被重复执行多少次时,可以选择Java提供的确定循环结构for循环。for循环的一般格式为:for(initialization; termination; iteration)body;Java程序设计第二章 Java基本语法说明如下:(1)for循环执行时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。(2)可以在for循环的初始化部分声明一个变量,它的作用域为整个for循环。(3)for循环通常用于循环次数确定的情况,但也可以根据循环结束条件完成循环次数不确定的情况。(4)在初始化部分和迭代部分可以使用逗号语句来进行多个操作。逗号语句是用逗号分隔的语句序列。例如:for(i=0,j=10;ij;i+.j-Java程序设计第二章 Java基本语法(5)初始化、终止以及迭代部分都可以为空语句(但分号不能省),三者均为空的时候,相当于一个无限循环。例如:for(;)(6)for循环与while循环是可以相互转换的。更确切地说,for循环等同于一个while循环。例如:for(i =0,j=10;ij;i+,j-)完全等同于:i=0;j=10;while(ij)i+;j-;Java程序设计第二章 Java基本语法【例2-5】打印数字金字塔,根据用户输入的行数,打印数字金字塔。import java.util.Scanner; public class PrintPyramid public static void main(String args) / 创建一个 Scanner对象 Scanner input = new Scanner(System.in); / 提示用户输入数字的行数 System.out.print(Enter the number of lines: ); int numberOfLines = input.nextInt(); if (numberOfLines 15) System.out.println(You must enter a number from 1 to 15); System.exit(0); Java程序设计第二章 Java基本语法/ 打印 for (int row = 1; row = numberOfLines; row+) / 打印 NUMBER_OF_LINES row) 空格 for (int column = 1; column = 1; num-) System.out.print(num = 10) ? + num : + num); / 打印后半部分的数字 2, 3, ., row 1, row for (int num = 2; num = 10) ? + num : + num); /换行(); Java程序设计第二章 Java基本语法测试结果如下所示:Enter the number of lines: 10 1 2 1 2 3 2 1 2 3 4 3 2 1 2 3 4 5 4 3 2 1 2 3 4 5 6 5 4 3 2 1 2 3 4 5 6 7 6 5 4 3 2 1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 10 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 10Java程序设计第二章 Java基本语法4. 中断语句break语句:break的作用简单说就是跳出当前的整个循环,下面有个简单说明:break语句可以强迫程序中断循环,当程序执行到break语句时,即会离开循环,继续执行循环外的下一个语句,如果Break语句出现在嵌套循环中的内层循环,则break语句只会跳出当前层的循环Java程序设计第二章 Java基本语法【例2-6】测试break语句。public class TestBreak public static void main(String args) int sum = 0; int number = 0; while (number = 100) break; System.out.println(The number is + number); System.out.println(The sum is + sum); 测试结果如下所示:The number is 14The sum is 105Java程序设计第二章 Java基本语法continues语句可以强迫程序跳到循环的起始处,当程序运行到continue语句时,即会停止运行剩余的循环主体,而是回到循环的开始处继续运行,记住,不是跳出整个循环执行下一条语句,这是Break和continue的主要区别所在,实际上使用continue就是中断一次循环的执行 4. 中断语句Java程序设计第二章 Java基本语法【例2-7】测试continue语句public class TestContinue public static void main(String args) int sum = 0; int number = 0; while (number 20) number+; if (number = 10 | number = 11) continue; sum += number; System.out.println(The number is + number);System.out.println(The sum is + sum); 测试结果如下所示:The number is 20The sum is 189主体基本和上述的break案例一样,但是break语句换成continue语句之后,结果会截然不同。Java程序设计第二章 Java基本语法5. 断点调试(1) 条件断点断点大家都比较熟悉,在Eclipse Java 编辑区的行头双击就会得到一个断点,代码会运行到此处时停止。条件断点,顾名思义就是一个有一定条件的断点,只有满足了用户设置的条件,代码才会在运行到断点处时停止。在断点处点击鼠标右键,选择最后一个Breakpoint PropertiesJava程序设计第二章 Java基本语法(2) 变量断点断点不仅能打在语句上,变量也可以接受断点,上图就是一个变量的打的断点,在变量的值初始化,或是变量值改变时可以停止,当然变量断点上也是可以加条件的,和上面的介绍的条件断点的设置是一样的。Java程序设计第二章 Java基本语法(3) 方法断点方法断点就是将断点打在方法的入口处,方法断点的特别之处在于它可以打在 JDK的源码里,由于 JDK 在编译时去掉了调试信息,所以普通断点是不能打到里面的,但是方法断点却可以,可以通过这种方法查看方法的调用栈。Java程序设计第二章 Java基本语法(4) 改变变量值代码停在了断点处,但是传过来的值不正确,如何修改一下变量值保证代码继续走正确的流程,或是说有一个异常分支老是进不去,能不能调试时改一下条件,看一下异常分支代码是否正确?在Debug 视图的 Variables 小窗口中,我们可以看到 mDestJarName 变量的值为 F:StudyeclipseproJarDirjarHelp.jar Java程序设计第二章 Java基本语法Java程序设计第二章 Java基本语法(5)重新调试 这种调试的回退不是万能的,只能在当前线程的栈帧中回退,也就说最多只能退回到当前线程的调用的开始处。回退时,请在需要回退的线程方法上点右键,选择 Drop to FrameJava程序设计第二章 Java基本语法(6)异常断点经常遇见一些异常,然后程序就退出来了,要找到异常发生的地方就比较难了,还好可以打一个异常断点,上