作业2-3:Java 语句控制
第3章 java中的控制语句

1-15
当主程序执行时,如果第一个命令行参数的首 字符分别是数字、小写字母及大写字母时, 系统会显示这个首字符。如果输入的是非数 字或字母,则显示不是数字或字母。输出如 图所示:
1-16
3.3 循环控制语句 1、while循环控制语句
while循环格式:
[初始化条件] while (循环条件) { 语句1; 语句2; 循环主体 语句1; …… 循环条件更改; }
1-18
3、do…while循环控制语句
do…while语句格式:
[初始化部分] do{ 语句1; 语句2; …… 循环条件改变; }while(循环条件判断);
1-19
public class DoWhileDemo01 { public static void main(String[] args) { int x=4,y=5; //声明int型变量x、y,并分别赋给4和5 do //do…while语句 { System.out.println("执行一次!"); } while (x>y); //x>y,返回false } }
1-30
public class ReturnDemo01 { public static void main(String[] args) { for (int i=0;i<=5 ;i++ ){ if (i==3){ System.out.println("结束方法!"); return; } System.out.println("i="+i); } } }
注意:continue语句只能使用在循环语句内部。
1-28
public class ContinueDemo01 { public static void main(String[] args) { for (int i=1;i<=9 ;i++ ){ //外层循环,从1到9循环 if (i==3){ //若i=3,则执行花括号代码 System.out.println("退出循环!"); continue; //中断循环 } System.out.println("i="+i); } } }
第3章 java控制语句

查看结果:WhileTry.java
嵌套while循环 要打印一个如下所示的矩形
@@@@@@@@@@ @@@@@@@@@@ @@@@@@@@@@
内部循环打印列,外部循环打印行 “行慢列快”
查看结果:NestedWhileLoop.java
for循环的流程图
求解表达式1
false
表达式2
true
多重If 结构
查看结果:Coffee.java
If 条件A If 条件B 语句块1 else 语句块2
If 条件A { If 条件B 语句块1 } else 语句块2
注意:else总是与最近的if匹配
测试String之间的等同性
• 使用==比较String在内存中的引用是否相等 • 要测试两个字符串之间是否具有等同性用equals
嵌套for循环 用for循环完成要打印一个如下所示的矩形
@@@@@@@@@@ @@@@@@@@@@ @@@@@@@@@@
进一步:如何实现对打印的行和列的值可随意控 制和修改?
嵌套for循环
查看结果:NestedForLoop.java
do-while 循环的流程图
循环体
true
布尔表达式
false
•while(true) {… }与for (;;){…} 均是无限循环,需要break 语句跳出循环
查看结果:BreakLoop.java和 BreakLoop2.java
5.continue 语句
continue语句只能用在while、for和do循环,用来终止当前这一轮 的循环,重新判断循环条件,决定是否重新开始下一轮的循环。而 不是终止整个循环的执行。
public class ForTry { public static void main(String[ ] args) { int i,sum; sum=0; // 累加器清0 for(i=1;i<=10;i++) { sum+=i; } System.out.println("sum="+sum); } }
java流程控制语句

java流程控制语句Java是一种面向对象编程语言,它提供了多种流程控制语句,这些语句可以让程序在不同情况下执行不同的操作。
在本文中,我们将讨论Java流程控制语句的不同类型,以及它们的使用方式和示例。
1. if语句if语句是Java中最基本的流程控制语句之一。
它的语法如下: if (condition) {// do something}其中,condition是一个布尔表达式,如果它的值为true,那么就会执行if语句中的代码块。
如果condition的值为false,那么if语句中的代码块将被跳过。
下面是一个简单的if语句的示例:int x = 10;if (x > 5) {System.out.println('x is greater than 5');}在这个示例中,我们定义了一个整型变量x,并将它的值设置为10。
然后,我们使用一个if语句来判断x是否大于5。
由于x的值是10,因此if语句中的代码块将被执行,并输出“x is greater than 5”。
2. if-else语句if-else语句是if语句的扩展。
它的语法如下:if (condition) {// do something if condition is true} else {// do something if condition is false}如果condition的值为true,那么if语句中的代码块将被执行。
否则,else语句中的代码块将被执行。
下面是一个简单的if-else语句的示例:int x = 3;if (x > 5) {System.out.println('x is greater than 5');} else {System.out.println('x is less than or equal to 5');}在这个示例中,我们定义了一个整型变量x,并将它的值设置为3。
作业2-3:Java 语句控制

第3章控制语句学习目标•能够使用if和if…else选择语句来选择各种动作•能够使用for循环结构来重复地执行程序中的语句•能够使用do…while循环和while循环语句重复地执行程序中的语句•能够使用break和continue程序控制语句3.1 实验前检查在学完《Java语言程序设计》的第3章后,请回答以下问题.这些问题旨在检验和巩固你对关键概念的理解。
既可以在实验课程之前,也可以在实验课程期间完成。
3。
1.1 选择题:1.下列语句序列执行后,m 的值是(C )。
int a=10, b=3, m=5;if( a==b ) m+=a; else m=++a*m;A)15 B)50 C) 55 D) 52。
下列语句序列执行后,k 的值是( B ).int i=4,j=5,k=9,m=5;if(i〉j||m〈k)k++; else k—-;A)5 B)10 C)8 D)93.下列语句序列执行后,k 的值是(C)。
int i=10, j=18,k=30;switch( j — i ){case 8 :k++;case 9 :k+=2;case 10:k+=3;default : k/=j;}A) 31 B) 32 C)2 D)334。
若a和b均是整型变量并已正确赋值,正确的switch语句是(D )。
A) switch(a+b);{ 。
... }B)switch(a+b*3。
0 ) {。
.。
. }C) switch a {。
}D)switch (a%b ) {。
..。
.。
}5.下列语句序列执行后,j 的值是( A )。
int j=1;for( int i=5;i〉0;i—=2 ) j*=i;A)15 B)1 C)60 D) 06.以下for循环的执行次数是(B )。
for(int x=0;(x==0)&(x〈4);x++);A)无限次B)一次C)执行4次D)执行3次7。
下列语句序列执行后,j 的值是(D )。
第四讲 java控制语句

[Return]
2.2 循环控制语句
本章将介绍Java语言的基础知识,包括 基本语言要素、基本数据类型、变量、数组、 运算符等。扎实地掌握这些内容对后续学习 是很有必要的。
3.2.1 for循环语句 循环语句 3.2.2 while循环语句 循环语句 3.2.3 do-while循环语句 循环语句
构造方法
构造方法的说明 具有与类相同的名称 它不返回值,也不能在方法中用return语句返 它不返回值,也不能在方法中用return语句返 回一个值 Java的每个类里都至少有一个构造方法, Java的每个类里都至少有一个构造方法,若没 有定义则系统会自动为这个类产生一个默认 的构造方法,这个构造方法没有参数, 的构造方法,这个构造方法没有参数,方法体 中也没有任何的代码 类的构造方法可以有多个,用类型、个数来 区别它们,这种情况成为方法的重载。
2.1.1 if语句 语句 2.1.2 switch语句 语句
[Return]
2.1.1 if语句 语句
1. if语句的格式 语句的格式
格式1: 格式 : if (condition) statement1; [else statement2;] 格式2 格式2: if (condition) statement; else if(condition) statement; else if(condition) statement; … else statement;
[Return]
2.1.2 switch语句 语句
1. switch语句的格式 语句的格式
switch (expression) { case value1: // statement sequence break; case value2: // statement sequence break; . . . case valueN: // statement sequence break; default: // default statement sequence }
Java程序设计教程 第2版 第3章 控制语句

3.3.1 if语句
1、 简单的if语句 简单的if语句的语法形式:
if(条件表图。
条件表达式
假
真 子句
【例3.2】 将三个整数按由小到大的顺序排列并输出。Example3_2.java
3.3.1 if语句
2、 if-else语句 if-else语句的语法形式:
第3 章
控制语句
Java程序设计
导读 Introduction
一个Java程序由一个或多个类组成,即类是组成Java程序的基 本单位。而每一个类由域(field)和方法(method)组成,而方法 是由若干条语句组成的。所以,编写Java程序必须先从语句开始。
本章中将要详细讲解Java语言中的控制语句。
语句n+1
3.3.1 if语句
4、衍生的if-else if语句 if-else if语句的执行过程如图。
条件表达式1
真 语句1
假 条件表达式2 真 语句2
...
假
条件表达式n 真
语句n
假 语句n+1
【例3.6】改写【例3.1】,使程序能够求解出任何一个二元一次方程的根。 Example3_6.java
3.3.2 switch语句
switch语句的语法形式:
switch(表达式) {
case 常量1:语句块1;break; case 常量2:语句块2;break; … case 常量n:语句块n;break; default:语句块n+1; }
3.3.2 switch语句 switch语句的执行过程。
【例3.5】 改写例【例3.4】的程序,形成if-else if语句形式。 Example3_5.java
Java控制语句

式返回的结果为假时,退出循环。
• public class GetSum { // 创建类 • public static void main(String args[]) { // 主方法 • int x = 1; // 定义int型变量x,并赋给初值 • int sum = 0; // 定义变量用于保存相加后的结果 • while (x <= 10) { • sum = sum + x; // while循环语句当变量满足 • • • • •
循环语句 1、while循环语句 2、do…while循环语句 3、for循环语句
while循环语句
while语句也称条件判断语句,它的循环方式为利用一个条件
来控制是否要继续反复执行这个语句,语法如下所示:
while(条件表达式) {
执行语句
}
当条件表达式的返回值为真时,则执行{}中的语句,当执行
值与表达式的值相同,则执行default后面的语句。default语
句为可选的,如果它不存在,而且switch语句中表达式的值 不与任何case的常量值相同,switch则不做任何处理。
• public class GetSwitch { // 创建类 • public static void main(String args[]) { // 主方法 • int week = 2; // 定义int型变量week • switch (week) { // 指定switch语句的表达式为变量week • case 1: // 定义case语句中的常量为1 • System.out.println("Monday"); // 输出信息 • break; • case 2: // 定义case语句中的常量为2 • System.out.println("Tuesday"); • break; • case 3: // 定义case语句中的常量为3 • System.out.println("Wednesday"); • break; • default: // default语句 • System.out.println("Sorry,I don't Know"); • } • } • }
java控制语句

switch 语句
• switch语句是实现多分支选择结构的另一个语 句: • switch(整数选择因子) { case 整数值1 : 语句; break; case 整数值2 : 语句; break; case 整数值3 : 语句; break; case 整数值4 : 语句; break; case 整数值5 : 语句; break; //.. default:语句; }
for循环 语句
• 说明: • Java里唯一用到逗号运算符的地方就是for循环的控制 表达式。 • • • • • • • public class CommaOperator { public static void main(String[] args) { for(int i = 1, j = i + 10; i < 5; i++, j = i * 2) { System.out.println("i= " + i + " j= " + j); } } }
case
1,2,3 : cout<<“hello”
//error
• 写出输出结果 int i = 9; switch (i) { default: System.out.println("default"); case 0: System.out.println("zero"); break; case 1: System.out.println("one"); case 2: System.out.println("two"); }
• •
• • • •
1)Compile time error variable b was not initialised 2) Compile time error the parameter to the if operator must evaluate to a boolean 3) Compile time error, cannot simultaneously create and assign value for boolean value 4) Compilation and run with output of false
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章控制语句学习目标•能够使用if和if…else选择语句来选择各种动作•能够使用for循环结构来重复地执行程序中的语句•能够使用do…while循环和while循环语句重复地执行程序中的语句•能够使用break和continue程序控制语句3.1 实验前检查在学完《Java语言程序设计》的第3章后,请回答以下问题。
这些问题旨在检验和巩固你对关键概念的理解。
既可以在实验课程之前,也可以在实验课程期间完成。
3.1.1 选择题:1.下列语句序列执行后,m 的值是( C )。
int a=10, b=3, m=5;if( a==b ) m+=a; else m=++a*m;A) 15 B) 50 C) 55 D) 52.下列语句序列执行后,k 的值是( B )。
int i=4,j=5,k=9,m=5;if(i>j||m<k) k++; else k--;A) 5 B) 10 C) 8 D) 93.下列语句序列执行后,k 的值是( C)。
int i=10, j=18, k=30;switch( j - i ){ case 8 : k++;case 9 : k+=2;case 10: k+=3;default : k/=j;}A) 31 B) 32 C) 2 D) 334.若a和b均是整型变量并已正确赋值,正确的switch语句是( D )。
A) switch(a+b); { ...... } B) switch( a+b*3.0 ) { ...... }C) switch a { ...... } D) switch ( a%b ) { ...... }5.下列语句序列执行后,j 的值是( A )。
int j=1;for( int i=5; i>0; i-=2 ) j*=i;A) 15 B) 1 C) 60 D) 06.以下for循环的执行次数是(B )。
for(int x=0;(x==0)&(x<4);x++);A)无限次B)一次C)执行4次D)执行3次7.下列语句序列执行后,j 的值是( D )。
int j=2;for( int i=7; i>0; i-=2 ) j*=2;A) 15 B) 1 C) 60 D) 328.下列语句序列执行后,k 的值是( B)。
int m=3, n=6, k=0;while( (m++) < ( -- n) ) ++k;A) 0 B) 1 C) 2 D) 39.下列语句序列执行后,i 的值是( C )。
int s=1,i=1;while( i<=4 ) {s*=i;i++;}A) 6 B) 4 C) 24 D) 510. 下列语句序列执行后,k 的值是( C )。
int m=3, n=6, k=0;while( m < n ) { ++k; m++; --n; }A) 0 B) 1 C) 2 D) 311.以下由do-while语句构成的循环执行的次数是(B)。
int m = 8;do { ++m; } while ( m < 8 );A)一次也不执行B)执行1次C)8次D)有语法错,不能执行12.下列语句序列执行后,i的值是( A )。
int i=10;do { i/=2; } while( i>1 );A) 1 B) 5 C) 2 D) 013.下列语句序列执行后,i的值是( D )。
int i=10;do { i/=2; } while( i--> 1 );A) 1 B) 5 C) 2 D) –114.下列循环中,执行break outer语句后,所列( B )语句将被执行。
outer:for(int i=1;i<10;i++){inner:for(int j=1;j<10;j++){if(i*j>50)break outer;System.out.println(i*j);}next:A)标号为inner的语句 B)标号为outer的语句C)标号为next的语句 D)以上都不是15.下列循环中,执行continue outer语句后,( B )说法正确。
outer:for(int i=1;i<10;i++){inner:for(int j=1;j<10;j++){if(i*j>50)continue outer;System.out.println(i*j);}}A)程序控制在外层循环中并且执行外层循环的下一迭代B)程序控制在内层循环中并且执行内层循环的下一迭代C)执行标号为next的语句D)以上都不是3.1.2 程序填空题1.下面是一个java应用程序(Application),它的功能是计算 s=1+2+3+...+10 ,请完成程序填空。
public __class_ Class1{public static void main( String args[] ){int s=0;for (int i=1;i<=10;i++){s+=__ i_;}System.out.println("s="+s);}}2.下面是一个java Application 的主类的定义,其功能是输出乘法口诀表第一列,请完成程序填空。
import java.io.*;public class MyClass{public static void main(String[] args){int j=1;for(int i=1; __i<=9_; i++){System.out.println(i+"*"+j+"="+__i*j_);}}}3.1.3 程序改错题下列程序片断有什么错误?如何改正?1.char ch;switch(ch) 标点格式{case ‘A’: System.out.println(“字母是A”);case ‘B’: System.out.println(“字母是B”);}2.i=10; INT I=10,SUM=0;while(i!=0);sum+=i;3.for(int i=10;i>100;i--) int SUM=0sum+=i;4.for(float i=0.0;i>-10.0;i-=1.0) DOUBLESystem.out.println(i);5.int i=10;do{System.out.println(i);i--;}while(i=1) WHILE(I==1);3.2 编程实验3.2.1 编程实验1:直角三角形本实验要求在封闭实验课中在教师指导下完成。
1. 实验目的本实验旨在巩固学生对《Java语言程序设计》中第3章内容的掌握。
在这个实验中学生将练习:•从控制台获取数据•使用IF语句进行判断2. 问题描述编写一个应用程序,读取用户任意输入的3个非零数值,判断它们是否可以作为三角形的3条边,如果可以,则打印打印这3条边,计算并显示这个三角形的面积。
三角形面积计算网站找找啊!!!3. 示例输出4. 程序模板public class Triangle {public static void main(String[] args) {int side1;int side2;int side3;System.out.println(“Enter length of side 1:”);side1 = MyInput.readDouble();System.out.println(“Enter length of side 2:”);side2 = MyInput.readDouble();System.out.pri ntln(“Enter length of side 3:”);side3 = MyInput.readDouble();int side1Square = side1*side1;int side2Square = side2*side2;int side3Square = side3*side3;if ((side1Square + side2Square) == side3Square)System.out.println(“Area is : ”+side1*side2/2);if ((side1Square + side3Square) == side2Square)System.out.println(“Area is : ”+side1*side3/2);if ((side2Square + side3Square) == side1Square)System.out.println(“Area is : ”+side2*side3/2);}}5. 解答提示1)使用教材中的MyInput类中的MyInput.readDouble()方法读入一个非零的双精度浮点数值。
代码中三次使用这个方法,依次从控制台获取三条边的值。
2)对直角三角形的判断依据定理:两条直角边的平方和等于斜边的平方。
依次对每条边判断该边是否为斜边,三次使用IF语句一次判断。
当任何一次判断都不成立时,不输出任何内容,表示该三边不能构成直角三角形。
否则利用直角三角形求面积的方法求出面积,并打印输出该值。
6. 强化练习(1)编写程序对三个整数排序,由键盘输入整数分别存入变量num1、num2和num3,对他们进行排序,使得num1<=num2<=num3。
3.2.2 编程实验2:水仙花数本实验要求在封闭实验课中在教师指导下完成。
1. 实验目的本实验旨在巩固学生对《Java语言程序设计》中第3章内容的掌握。
在这个实验中学生将练习:•水仙花数的概念•FOR语句与IF语句结合使用2. 问题描述水仙花数是指个位、十位和百位三个数的立方和等于这个三位数本身的数,编写程序求出所有的水仙花数。
3. 示例输出4. 程序模板public class Narcissus{public static void main(String args[]){int i, j, k;for(int num = 100; num <=999; num++){i = num % 10; //个位数j =num/ 10 % 10; //十位数k = num / 100; //百位数if(i * i * i + j * j * j + k * k * k == num)System.out.print(num + "\t");}}}5. 解答提示1)水仙花数涉及个位、十位、百位数字,所以水仙花数十个三位数,即100—999之间的数。