3章Word文档下载推荐.docx

上传人:b****5 文档编号:19063224 上传时间:2023-01-03 格式:DOCX 页数:12 大小:23.28KB
下载 相关 举报
3章Word文档下载推荐.docx_第1页
第1页 / 共12页
3章Word文档下载推荐.docx_第2页
第2页 / 共12页
3章Word文档下载推荐.docx_第3页
第3页 / 共12页
3章Word文档下载推荐.docx_第4页
第4页 / 共12页
3章Word文档下载推荐.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

3章Word文档下载推荐.docx

《3章Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《3章Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。

3章Word文档下载推荐.docx

”组成的语句称为空语句

如:

for(inti=1;

i<

11;

System.out.println(i),i++)

;

//空语句

if语句(条件语句)实现2路分支结构,switch语句(多路分支语句)实现多路分支结构。

if语句的一般形式是:

if(<

布尔表达式>

语句块1>

[else<

语句块2>

]

例31找出3个整数中的最大值和最小值(P40,例3-1)。

publicclassCh3Ex1

{staticintmax,min,a=1,b=2,c=3;

publicstaticvoidmain(Stringargs[])

{if(a>

b)max=a;

elsemax=b;

if(c>

max)max=c;

System.out.println("

max="

+max);

min=a<

b?

a:

b;

min=c<

min?

c:

min;

min="

+min);

}

注意3点:

(1)布尔表达式可以是关系表达式、逻辑表达式,但不能是整数表达式。

intx=0;

if(x)...//非法

(2)if语句必须有then子句,但可以没有else子句。

(3)if语句可嵌套。

if(a<

b)

if(b<

c)min=a;

switch语句的一般形式为:

switch(<

{

case<

常量1>

break;

常量2>

……

常量n>

break;

[default:

语句n+1>

注意:

switch后的表达式必须是byte、short、char、int或enum型。

下面是2个例子。

例3-2编写一个Application程序,接受用户输入的一个1-12之间的整数(如果输入的数据不满足这个条件,则要求用户重新输入),利用switch语句输出对应月份的天数。

importjava.io.*;

publicclassCh3Ex2

{staticinti=0;

publicstaticvoidmain(Stringargs[])

{do

{System.out.println("

请输入1~12之间的一个整数:

"

);

BufferedReaderbr=

newBufferedReader(newInputStreamReader(System.in));

try

{Strings=br.readLine();

i=Integer.parseInt(s);

catch(IOExceptionioe)

{System.err.println(ioe.toString());

System.exit(0);

catch(NumberFormatExceptionnfe)

{System.out.println("

输入格式错误。

i=-1;

}while(i<

1||i>

12);

switch(i)

{case1:

System.out.println("

1月份有31天。

break;

case2:

2月份有28或29天。

break;

case3:

3月份有31天。

case4:

4月份有30天。

case5:

5月份有31天。

case6:

6月份有30天。

case7:

7月份有31天。

case8:

8月份有31天。

case9:

9月份有30天。

case10:

10月份有31天。

case11:

11月份有30天。

default:

12月份有31天。

}//endofmainmethod

}//endofclass

//用Scanner读整数,重写上述程序

importjava.util.*;

{publicstaticvoidmain(Stringargs[])

{inti=0;

Scannerbr=newScanner(System.in);

do

try

{i=br.nextInt();

catch(InputMismatchExceptione)

{br.nextLine();

System.out.print("

输入格式错误!

"

i=-1;

}while(i<

br.close();

switch(i)

{case1:

case2:

case3:

case4:

case5:

case6:

case7:

case8:

case9:

}

例3-3利用随机数发生器产生0~9之间的整数并输出(P44)。

classCh3Ex3

{publicstaticvoidmain(Stringargs[])

{intx=(int)(Math.random()*10);

//0.0≤Math.random()<

1.0

随机数x放大10倍后的整数值:

+x);

switch(x)

{case0:

case0:

case1:

case2:

case3:

case4:

case5:

case6:

case7:

case8:

//break;

Java的循环语句有三种:

(1)while语句

(2)dowhile语句

(3)for语句

它的一般格式为:

while(<

){

循环体>

例3-4计算Fibonacci数列前20项的值(P46)。

Fibonacci序列的数学定义如下:

publicclassCh3Ex4{

staticfinalintMAX=20;

publicstaticvoidmain(Stringargs[]){

intf1=0,f2=1,k=0;

Fibonacci数列前20项是:

while(k<

MAX){//循环10次

System.out.print("

+f1+"

+f2);

f1=f1+f2;

f2=f1+f2;

k+=2;

if(k%4==0)System.out.println();

//一行4个数

System.out.println();

do{

}while(<

例3-5输入字符,显示其Unicode码,输入#程序结束(P49例3-10)。

publicclassCh3Ex5

{staticcharc;

publicstaticvoidmain(String[]args)

{try

{do

输入1个字符并按回车,按#结束"

c=(char)System.in.read();

System.in.skip

(2);

//忽略回车及换行符

System.out.println(c+"

的Unicode的值为:

+(short)c);

while(c!

='

#'

catch(IOExceptione)

读错误!

);

程序运行结果如下:

输入字符并按回车,按#结束

a↙

a的Unicode的值为:

97

B↙

B的Unicode的值为:

66

#↙

#的Unicode的值为:

35

for循环的通用格式如下:

for(<

初始化部分>

修正表达式>

{

若循环次数可确定,一般用for语句,当循环次数不能确定一般用do语句或dowhile语句。

例3-6把按升序排列的int型数组元素按降序排列。

//Ch3Ex6.java

publicclassCh3Ex6

{inta[]={1,2,3,4,5,6,7,8,9},b;

for(inti=0,j=a.length-1;

i<

j;

i++,j--)

{b=a[i];

a[i]=a[j];

a[j]=b;

}//循环4次

System.out.println(“ReducedSorting:

”);

for(inti=0;

a.length-1;

i++)

System.out.print(a[i]+””);

该程序的运行结果为:

ReducedSorting:

987654321

在遍历数组或java.util.Collection<

E>

时,一般用增强的for循环。

一般形式:

for(SomeTypeinst:

instArr){<

其中,instArr可以是SomeType数组和各种泛型容器(列表、集合、队列等),

inst是任意的标识符

SomeType是元素的类型

采用增强的for循环(enhancedforloop)来改写上述例程。

{staticinta[]={1,2,3,4,5,6,7,8,9},b;

{for(inti=0,j=a.length-1;

i++,j--)

for(intelement:

a)//JDK1.5上才支持

System.out.print(element+””);

System.out.println();

例3-7编写Application程序找出所有的水仙花数并输出。

水仙花数是三位数,它的各位数字的立方和等于这个三位数本身。

例如371=33+73+13,371就是一个水仙花数。

publicclassCh3Ex7/Ch3Ex7.java有4个水仙花数

{publicstaticvoidmain(String[]args)

{inti,j,k,m=1;

for(intn=100;

n<

1000;

n++)//循环900次

{i=n/100;

//百位数

k=n%10;

//个位数

j=(n-i*100)/10;

//十位数

if(Math.pow(i,3)+Math.pow(j,3)+Math.pow(k,3)==n)

找到第"

+m+++"

个水仙花数:

+n);

找到第1个水仙花数:

153

找到第2个水仙花数:

370

找到第3个水仙花数:

371

找到第4个水仙花数:

407

break语句、continue语句、return语句等。

Java语言不支持goto语句。

1.break语句

(1)不带标号的break语句

//用于退出当前的循环语句或switch语句。

(2)带标号的break语句

其一般形式为:

break<

标号名>

//语句块的标号

带标号的break语句表示跳出标号注明的那个语句块,进入后面的语句。

for(.......)

{lable1:

for(......)

{for(......)

{..........

breaklable1;

......//该语句序列不被执行

.......//该语句序列不被执行

.......//该语句序列被执行

2.continue语句

(1)不带标号的continue语句

continue;

//结束本次循环,进入下一轮循环。

(2)带标号的continue语句

continue标号名;

//外层循环语句开始处的标号

带标号的continue语句使程序执行流程直接转入标号标明循环的下一轮循环。

下面是一个求1到100之间的所有素数(prime)的程序段,使用了带标号的continue语句。

完整的源代码见教材P57。

firstLoop:

for(inti=1;

100;

{for(intj=2;

j<

i;

j++)

{if(i%j==0)continuefirstLoop;

System.out.print(i+””);

3.return语句

使程序执行流程跳转到调用方法处。

它的格式如下:

return<

表达式的值就是被调用方法返回给调用者的值。

3.6异常处理控制语句(第6章)

语句序列>

catch(<

异常类型1>

参数1>

语句序列1>

...

异常类型n>

参数n>

语句序列n>

[finally

}]

下次课交U盘:

编写一个字符界面的Application程序,接受用户从键盘输入的10个整数,比较并输出其中的最大值和最小值。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 建筑土木

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1