Java基础-while循环语句、循环嵌套

Java基础-while循环语句、循环嵌套
Java基础-while循环语句、循环嵌套

1.使用while循环,求1+11+111+1111+11111+111111。

public class Test {

public static void main(String[] args) {

int i = 0;

double n = 0;

double sum = 0;

while(i<6){

n = n+Math.pow(10,i);

sum =sum+n;

i++;

}

System.out.println("1+11+111+1111+11111+111111="+sum);

}

}

2.求10的阶乘1x2x3x4…x10.

public class Test {

public static void main(String[] args) {

int result = 1;

for(int i = 10;i > 0;i--){

result *= i;

}

System.out.println("10!="+result);

}

}

3.求1+2+3……+1000的和,把和输出,计算每步结果中有多少个最后以8结尾的。

public class Test {

public static void main(String[] args) {

int sum = 0;

int n = 0;

for (int i = 1; i <= 1000; i++) {

sum += i;

if(sum%10 == 8){

n++;

}

}

System.out.println("1+2+3……+1000="+sum);

System.out.println("每步结果中以8结尾有"+n+"个.");

}

}

4.计算1+2+3……,直到和大于500,程序退出,输出结果。

public class Test {

public static void main(String[] args) {

int sum = 0;

boolean bol = true;

for (int i = 1; i <= 1000; i++) {

while (bol) {

sum += i;

if (sum > 500) {

bol = false;

}

}

}

System.out.println("1+2+3……和大于500,结果=" + sum);

}

}

5. 输出下列图案

1

1 2

1 2 3

1 2 3 4

1 2 3 4 5

1 2 3 4 5 6

…………………

1 (10)

public class Test {

public static void main(String[] args) {

for(int i = 1;i <= 10;i++){

for(int j = 1;j <= i;j++){

System.out.print(" "+j);

}

System.out.println();

}

}

}

6. 某人工资为6000/月,工资月增长率为0.5%,工作20年,共得到多少工资。public class Test {

public static void main(String[] args) {

double allMoney = 6000;

double monthWages = 6000;

for(int i = 2;i <= 20*12;i++){

monthWages = monthWages+monthWages*Math.pow(0.005, i-1);

allMoney += monthWages;

}

System.out.println("工作20年工资="+allMoney);

}

}

7. 100到200之间,所有能被5或6整除,但不能同时整除的数,每行显示10个。

public class Test {

public static void main(String[] args) {

int j = 1;

for (int i = 100; i <= 200; i++) {

if (i % 5 == 0 || i % 6 == 0) {

if (i % 30 != 0) {

if (j < 10) {

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

j++;

} else {

System.out.println(i);

j = 1;

}

}

}

}

}

}

8. 打印乘法口诀表。

public class Test {

public static void main(String[] args) {

for (int i = 1; i <= 9; i++) {

for(int j = 1;j <= i;j++){

System.out.print(j+"*"+i+"="+i*j+" ");

}

System.out.println();

}

}

}

java_循环语句

Java 的循环语句有for,while 和 do-while 。这些语句创造了我们通常所称的循环(loops)。你可能知道,一个循环重复执行同一套指令直到一个结束条件出现。你将看到,Java 有 Java 的循环语句有for,while 和 do-while 。这些语句创造了我们通常所称的循环(loops)。你可能知道,一个循环重复执行同一套指令直到一个结束条件出现。你将看到,Java 有适合任何编程所需要的循环结构。 5.2.1 while 语句 while 语句是Java 最基本的循环语句。当它的控制表达式是真时,while 语句重复执行一个语句或语句块。它的通用格式如下: while(condition) { // body of loop } 条件condition 可以是任何布尔表达式。只要条件表达式为真,循环体就被执行。当条件condition 为假时,程序控制就传递到循环后面紧跟的语句行。如果只有单个语句需要重复,大括号是不必要的。 下面的while 循环从10开始进行减计数,打印出10行“tick”。 // Demonstrate the while loop. class While { public static void main(String args[]) { int n = 10; while(n > 0) { System.out.println("tick " + n); n--; } } } 当你运行这个程序,它将“tick”10次: tick 10 tick 9 tick 8 tick 7 tick 6

tick 5 tick 4 tick 3 tick 2 tick 1 因为while 语句在循环一开始就计算条件表达式,若开始时条件为假,则循环体一次也不会执行。例如,下面的程序中,对println( ) 的调用从未被执行过: int a = 10, b = 20; while(a > b) System.out.println("This will not be displayed"); while 循环(或Java 的其他任何循环)的循环体可以为空。这是因为一个空语句(null statement) (仅由一个分号组成的语句)在Java 的语法上是合法的。例如,下面的程序: // The target of a loop can be empty. class NoBody { public static void main(String args[]) { int i, j; i = 100; j = 200; // find midpoint between i and j while(++i < --j) ; // no body in this loop System.out.println("Midpoint is " + i); } } 该程序找出变量i和变量j的中间点。它产生的输出如下: Midpoint is 150 该程序中的while 循环是这样执行的。值i自增,而值j自减,然后比较这两个值。如果新的值i仍比新的值j小,则进行循环。如果i等于或大于j,则循环停止。在退出循环前,i

while循环

while 循环 语法形式: while(条件) { 需要循环执行的语句; } while 是“当”的意思。 请首先和if语句作一个比较: if(条件) { 条件成立时执行的语句; } 二者除了关键字不一样以外,结构完全一样。但一定要注意,在条件成立时,if语句仅仅执行一遍,而while语句则将反复执行,直到条件不再成立。 请看while循环的流程图: 程序从“前面的语句”开始执行,然后进行条件判断,如果条件成立,则执行一次“每次循环执行 的语句”,再后请特别注意红色部分,这是我们碰上的,第一次会往后走流程:红线就像汽车拐弯, 掉头到条件处(并不包括前面的语句),然后再进行下一次的条件判断……直到某一次判断时条件不 成立了,程序“继续后面的语句”。

我们用while的语法套用生活中的实际例子,可以直观地看出while的用法。 假设有一个爱哭的小娃娃,有一天她要求父母给买一条小红裙,可惜父母不同意,于是她就开始一个循环: while ( 父母不给买小红裙) { 我哭; } 这段“代码”的意思是:当“父母不给买小红裙”,那么,小女孩就一遍一遍地哭。 这就是我们和循环流程的第一个遭遇战。所举的例子看似直观:“小孩一遍遍地哭,直到父母给买裙”,但真正要用程序的语言来正确地表达出来,需要很多方面要考虑到,必竟,程序是严谨的。 首先,一个合适的判断是否继续的条件相当重要。小女孩要继续哭,仅仅“父母不给买小红裙”,这显示不符合事实,想想我们小时候,再会哭,最终也有累的时候,所以,要想继续哭,我们的条件有两个:“父母不给买小红裙”并且“我还没有哭累”。 while ( 父母不给买小红裙&& 我还没有哭累) { 我哭; } 其次,大多数情况下,条件需要被恰当地改变。小女孩在不停地哭,那么她如何知道父母是否买了红裙呢?所以,她不能只顾哭,还得在哭的间隙观察大人是否同意买裙。至于是否哭累,我们假设小女孩有一个疲劳度,每哭一次疲劳度加1,当疲劳度到达200时,可怜的小女孩累了…… while(父母不给买小红裙&& 疲劳度< 200) { 我哭; 我偷看爸妈是否同意买裙; 疲劳度++; } 例一:用while 语句实现求从1到100的累加和。 求1+2的和,我们可以写a = 1 + 2;求1加到100,我们当然可以这样写a = 1 + 2 + 3 + ... 100.不过这样写显然太累人了,要从1写到100啊!所以聪明如高斯的你,当然也知道这样写:a = (1+100) * 50;这确实是个在任何时候都值得称赞的,又快又简的方法,只是今天我们想让计算机累一点,老老实实地从1加到100。首先用我们先学的while式的循环。 请同学们打开CB,然后新建一空白的控制台程序,在main()函数体加入下面黑体部分代码。然后按F9运行。查看运行结果以加深印象。 //--------------------------------------------------------------------------- #include #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[])

作业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) 5 2.下列语句序列执行后,k 的值是( B )。 int i=4,j=5,k=9,m=5; if(i>j||m0; i-=2 ) j*=i; A) 15 B) 1 C) 60 D) 0 6.以下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;

java循环结构while基础入门

1 while循环的基本格式 /* while循环的基本格式: while(判断条件语句) { 循环体语句; } 扩展格式: 初始化语句; while(判断条件语句) { 循环体语句; 控制条件语句; } 通过这个格式,我们就可以看到其实和for循环是差不多的。 for(初始化语句;判断条件语句;控制条件语句) { 循环体语句; } */ class WhileDemo { public static void main(String[] args) { //输出10次"HelloWorld" //for语句版 for(int x=0; x<10; x++) {

System.out.println("HelloWorld"); } System.out.println("--------------"); //while语句版 int x=0; while(x<10) { System.out.println("HelloWorld"); x++; } } } 2 while循环的实现 /* 练习:用while循环实现 左边:求出1-100之和 右边:统计水仙花数有多少个 初始化语句; while(判断条件语句) { 循环体语句; 控制条件语句; } for(初始化语句;判断条件语句;控制条件语句) {

循环体语句; } */ class WhileDemo2 { public static void main(String[] args) { //求出1-100之和 //for语句版本 int sum = 0; for(int x=1; x<=100; x++) { sum+=x; } System.out.println("sum:"+sum); System.out.println("--------"); //while语句版本 int sum2 = 0; int y=1; while(y<=100) { sum2+=y; y++; } System.out.println("sum2:"+sum2); System.out.println("--------"); } }

实验一 Java基本数据类型与控制语句

实验一 Java基本数据类型与控制语句 【目的】 ①掌握char型数据和int型数据之间的相互转换,同时了解unicode字符表; ②掌握使用if…else if多分支语句; ③使用if…else分支和while循环语句解决问题。 【内容】 1.猜数字游戏。 ?实验要求: 编写一个Java应用程序,实现下列功能: 1)程序随机分配给客户一个1—100之间的整数 2)用户在输入对话框中输入自己的猜测 3)程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”和“猜对 了”。 4)用户可根据提示信息再次输入猜测,直到提示信息是“猜对了”。 ?程序运行效果 ? ? ?程序模板: GuessNumber.java import javax.swing.JOptionPane; public class GuessNumber

{ public static void main (String args[ ]) { System.out.println("给你一个1至100之间的整数,请猜测这个数"); int realNumber=(int)(Math.random()*100)+1; int yourGuess=0; String str=JOptionPane.showInputDialog("输入您的猜测:"); yourGuess=Integer.parseInt(str); while(【代码1】) //循环条件 { if(【代码2】) //条件代码 { str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:"); yourGuess=Integer.parseInt(str); } else if(【代码3】) //条件代码 { str=JOptionPane.showInputDialog("猜小了,再输入你的猜测:"); yourGuess=Integer.parseInt(str); } } System.out.println("猜对了!"); } } 添加代码后的程序: import javax.swing.JOptionPane; public class GuessNumber { public static void main (String args[ ]) { System.out.println("给你一个1至100之间的整数,请猜测这个数"); int realNumber=(int)(Math.random()*100)+1; int yourGuess=0; String str=JOptionPane.showInputDialog("输入您的猜测:"); yourGuess=Integer.parseInt(str); while(yourGuess<=100) //循环条件 { if(yourGuess> realNumber) //条件代码 { str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:"); yourGuess=Integer.parseInt(str); } else if(yourGuess< realNumber) //条件代码

while循环结构例题

引子 #include "stdio.h" main() { int i=1; for(i=1;i<=10000;i++) printf(“%d\t”,i); } 题型1 输入输出多个数据 eg1、输出1~10000之间所有的整数#include "stdio.h" main() { int i=1; while(i<=1000) {printf(“%d\t”,i); i++;} } 拓展:1、换成所有的奇数 2、换成所有的偶数 题型2 有限个数连加和连乘

eg2.1、求1+2+3+4+………+100的值 #include "stdio.h" main() { int i=1,s=0; while(i<=100) {s=s+i; i++;} printf(“%d\n”,s); } 拓展:1、求1+2+3+4+………+n的值 2、求12+22+32+………+n2的值 3、求1+1/2+1/3+………+1/n的值eg2.2、求n!的值 #include "stdio.h" main() { int i=1,n,p=1; scanf(“%d”,&n); while(i<=n) {p=p*i; i++;} printf(“%d\n”,p); }

拓展:求1!+2!+3!+………+n!的值 #include "stdio.h" main() { int i=1,n,p=1,s; scanf(“%d”,&n); while(i<=n) {p=p*i; s=s+p; i++;} printf(“%d\n”,s); } 题型3 无限个数连加 eg3、求1-1/3+1/5-1/7+………的近似值,要求精度要达到10-4 #include "stdio.h" #include "math.h" main() { float n=1,s=0,f=1,t=1; while(fabs(t)>=1e-4) {t=f/(2*n-1); s=s+t;

实验 2 Java基本数据类型与控制语句

实验 2 Java基本数据类型与控制语句 一、实验目的 1.了解Java 的数据类型 2.掌握各种变量的声明方式。 3.理解运算符的优先级。 4.掌握Java 基本数据类型、运算符与表达式。 5.理解Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。 6.通过以上内容,掌握Java 语言的编程规则。 二、实验要求 1. 编写一个声明Java 不同数据类型变量的程序。 2. 编写一个使用运算符、表达式、变量的程序。 3. 编写一个使用Java 数组的的程序。 4. 编写表达式语句、复合语句的程序。 5. 编写使用不同选择结构的程序。 6. 编写使用不同循环结构结构的程序。 三、实验内容 (一)声明不同数据类型的变量 1.编写声明不同数据类型变量的程序文件KY2_1.java,源代码如下。 public class KY2_1 { public static void main(String args[]) { byte b=0x55; short s=0x55ff; int i=1000000; long l=0xffffL; char c='a'; float f=0.23F; double d=0.7E-3; boolean B=true; String S="这是字符串类数据类型"; System.out.println("字节型变量b = "+b); System.out.println("短整型变量s = "+s);

System.out.println(" 整型变量i = "+i); System.out.println("长整型变量l = "+l); System.out.println("字符型变量c = "+c); System.out.println("浮点型变量f = "+f); System.out.println("双精度变量d = "+d); System.out.println("布尔型变量B = "+B); System.out.println("字符串类对象S = "+S); } } 2.编译并运行该程序 (二)了解变量的使用范围 1.建立KY2_2.java 文件,通过本程序了解变量的使用范围,源代码如下。 public class KY2_2 { static int i=10; public static void main(String args[]) { { int k=10; System.out.println("i="+i); System.out.println("k="+k); } System.out.println("i="+i); System.out.println("k="+k); //编译时将出错,已出k 的使用范围 } } 2.编译KY2_2.java 此时会出现错误提示。因为变量k 在方法块中声明,在方法块之外它是不存在的,所以编译时会出错。 3.修改上面的程序。 4.成功运行该程序。 思考:KY2_2.java 程序说明了什么问题? (三)使用关系运算符和逻辑运算符 1.建立使用关系运算符和逻辑运算符的程序文件,源代码如下。 class KY2_3 { public static void main(String args[]) { int a=25, b=20, e=3, f=0; boolean d=a

while循环练习

一、选择题 1.设有程序段 int k=10; while(k=0)k=k-1; 这下面描述中正确的是_________. a)while循环执行10次 b)循环是无限循环 c)循环体语句以此也不执行 d)循环体语句执行一次 a)E==0 b)E!=1 c)E!=0 d)E==1 2.语句while(!E);中的表达式!E等价于________. 3.下面程序段的运行结果是__________. int n=0; while(n++<=2);printf("%d",n); a)2 b)3 c)4 d)有语法错 4.下面程序的运行结果是____. #include main() { int num=0; while(num<=2) { num++; printf("%d\n",num); } } a)1 b)1 c)1 d)1 2 2 2 3 3 4 二、编程计算 1、求1~100中所有偶数的和。 2、下面程序的功能是输出1至100之间每位数的乘积大于每位数的和的数。 3、计算并输出1-3+5-7+……-99+101的值。

三、写一个小型计算器。 界面如下: 要求: 1.有简单运算选择界面 2.采用循环实现菜单显示 3.采用switch结构实现菜单的选择 4.运算对象为两个操作数,从键盘输入 5.运算结果输出 1、计算下列式子的值: (1)1+3+……+99 (2)1+2+4+8+……+128+256 2、输入一个整数,计算它各位上数字的和。(注意:是任意位的整数) 3、输入一整数A,判断它是否质数。(提示:若从2到A的平方根的范围内,没有一个数能整除A,则A是质数。) 4、求两个数的最小公倍数和最大公约数。(提示:公约数一定小于等于两数中的小数,且能整除两数中的大数。公倍数一定大于等于两数中的大数,且是大数的倍数,又能给两数中的小数整除。) 5、编写一个译码程序,把一个英语句子译成数字代码。译码规则是以数字1代替字母A,数字2代替字母B,……,26代替字母Z,如遇空格则打印一个星号…*?,英文句子以….…结束。 6、求水仙花数。所谓水仙花数,是指一个三位数abc,如果满足a^3+b^3+c^3=abc,则abc 是水仙花数。 7、“百钱买百鸡”是我国古代的著名数学题。题目这样描述:3文钱可以买1只公鸡,2文钱可以买一只母鸡,1文钱可以买3只小鸡。用100文钱买100只鸡,那么各有公鸡、母鸡、小鸡多少只?与之相似,有"鸡兔同笼"问题。

while语句的一般形式为

while语句的一般形式为: while(表达式)语句,其中表达式是循环条件,语句为循环体。 while语句的语义是:计算表达式的值,当值为真(非0)时。执行循环体语句。当值为假(等于0)时,跳出循环体。 while语句格式为: while(表达式) 语句;/*循环体*/ 这里的表达式是循环能否继续下去的条件,而语句是循环体。只要表达式为真,则执行循环体内语句。否则终止循环,执行循环体外语句 while常用于循环次数未知, for常用于已知循环次数 for循环语句 1.1 for表达式 表达式1:一般为赋值表达式,给控制变量赋初值; 表达式2:关系表达式或逻辑表达式,循环控制条件; 表达式3:一般为赋值表达式,给控制变量增量或减量。 语句:循环体,当有多条语句时,必须使用复合语句。 1.2 for语句格式为: for(表达式1;表达式2;表达式3) 循环语句:/*循环体*/ 1.3 for语句执行过程如下: ①先对表达式1赋初值; ②判别表达式2是否满足给定条件,若其值为真,满足循环条件,则执行循环体内语句,然后执行表达式3,进入第二次循环,再判别表达式2……;否则判断表达式2的值为假,不满足条件,就终止for循环,执行循环体外语句。 在c语言中开关语句switch中case是什么意思 switch(表达式) { case 常量表达式1: 语句1;

break; case 常量表达式2: 语句2; break; …… case 常量表达式n: 语句n; break; default: 语句n+1; break; } (资料素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)

FOR循环语句的翻译程序设计(简单优先法、三地址码)JAVA资料

学号:0121210340527 课内实践报告 课程名称编译原理 题目FOR循环语句的翻译程序设计(简 单优先法、输出三地址码) 学院计算机科学与技术 专业计算机科学与技术 班级1201 姓名李潇颖 指导教师林泓 2014 年12 月9 日

课内实践任务书 学生姓名:李潇颖专业班级:计算机1201班 指导教师:林泓工作单位:计算机科学与技术学院 题目: FOR循环语句的翻译程序设计(简单优先法、输出三地址码)初始条件: 理论:学完编译课程,掌握一种计算机高级语言的使用。 实践:计算机实验室提供计算机及软件环境。如果自己有计算机可以在其上进行设计。 要求完成的主要任务:(包括课内实践工作量及其技术要求,以及说明书撰写等具体 要求) (1)写出符合给定的语法分析方法的文法及属性文法。 (2)完成题目要求的中间代码三地址码的描述。 (3)写出给定的语法分析方法的思想,完成语法分析和语义分析程序设计。 (4)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。 (5)设计报告格式按附件要求书写。课内实践报告书正文的内容应包括: 1 系统描述(问题域描述); 2 文法及属性文法的描述; 3 语法分析方法描述及语法分析表设计; 4 按给定的题目给出中间代码形式的描述及中间代码序列的结构设计; 5 编译系统的概要设计; 6 详细的算法描述(流程图或伪代码); 7 软件的测试方法和测试结果; 8 研制报告(研制过程,本设计的评价、特点、不足、收获与体会等); 9 参考文献(按公开发表的规范书写)。 时间安排: 设计安排一周:周1、周2:完成系统分析及设计。 周3、周4:完成程序调试及测试。 周5:撰写课内实践报告。 设计验收安排:设计周的星期五第1节课开始到实验室进行上机验收。 设计报告书收取时间:设计周的次周星期一上午10点。 指导教师签名:年月日 系主任(或责任教师)签名:

Java流程控制语句

实验二 Java流程控制语句 一、实验时间和地点 时间:2010年10月18日 地点:电信北楼320判断某年是否为闰年 二、实验内容 1、判断某年月是否为闰年; 2、判断某年月有多少天; 3、有if~else结构对五个数排序; 4、求100~1000内的所有非素数。 三、实验步骤、源程序及实验结果 1、判断某年月是否为闰年 源程序: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class LeapYear { public static void main(String[] args) throws NumberFormatException, IOException { int year; InputStreamReader reader=new InputStreamReader(System.in); BufferedReader input=new BufferedReader(reader); System.out.println("请输入年份:"); year=Integer.parseInt(input.readLine()); if((year%4==0)&&(year%100==0)||(year%400==0)) System.out.println("是闰年!"); else System.out.println("不是闰年!"); } } 运行结果: 2、判断某年月有多少天 源程序: import java.io.BufferedReader; import java.io.IOException;

WHILE循环语句的翻译程序设计课设报告

1.题目:将WHILE语句转换成四元式的程序实现 设计内容及要求:设计一个语法制导翻译器,将WHILE语句翻译成四元式。要求:先确定一个定义WHILE语句的文法,为其设计一个语法分析程序,为每条产生式配备一个语义子程序,按照一遍扫描的语法制导翻译方法,实现翻译程序。对用户输入的任意一个正确的WHILE语句,程序将其转换成四元式输出(可按一定格式输出到指定文件中)。 1、系统描述 通过设计、编制、调试一个WHILE循环语句的语法及语义分析程序,加深对语法 及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。用语法 制导完成语义分析,并将形成的中间代码以四元式的形式输出。 2 、文法及属性文法的描述 2.1 文法的描述 该文法的产生式如下所示: (1)S->while(B){E} (2)E->AE (3)E->A (4)A->iPA (5)A->i (6)B->iTi (7)B->i 其中while、( 、) 、{ 、} 、P、T 、;和i均为终结符,而S、A、B、E这些大写字母均为非终结符。T表示比较运算符,P表示算术运算符,i表示合法标识符。 2.2 属性文法的描述 对该文法的属性文法描述如下: (1) S->while(B){E}prinf(if B goto E else goto next) (2) E->AE print(E.val = A.val·E.val) (3) E->A print(E.val = A.val) (4) A->i P A print(A= i.Val P A.Val) (5) A->i; A.Val = i;

(7) B->i B.Val = i 3 、语法分析方法描述及语法分析表设计3.1 语法分析表设计 3.1.1 文法的DFA

JAVA循环语句练习(后面有答案及代码,请在自己答题后再查阅答案)

一、选择题 1.下列语句序列执行后,m的值是() int a=10,b=3,m=5; if(a==b) m+=a; else m=++a*m; A)15 B)50 C)55 D)5 2.下列语句序列执行后,k的值是() int i=4,j=5,k=9,m=5; if(i>j||m

4.若a和b均是整型变量并已正确赋值,正确的switch语句是() A)switch(a+b);{......} B)switch(a+b*3.0){......} C)switch a{......} D)switch(a%b){......} 5.下列语句序列执行后,r的值是() Char ch='8'; int r=10; switch(ch+1){ case '7': r=r+3; case '8': r=r+5; case '9': r=r+6; break; default: r =r+8; } A)13 B)15 C)16 D)18 6.设int型变量a、b,float型变量x、y,char型变量ch均已正确定义并赋值,正确的switch语句是() A)switch(x+y){......} B)switch(ch+1){......}

C)switch ch{......} D)switch(a+b);{......} 7.下列语句序列执行后,k的值是() Int x=6,y=10,k=5; switch(x%y){ case 0:k=x*y; case 6:k=x/y; case 12:k=x-y; default:k=x*y-x; } A)60 B)5 C)0 D)54 8.下列语句序列执行后,r的值是() Char ch='A'; int r=6; switch(ch+5){ case 'A':r=r+3; case 'B':r=r+5; case 'C':r-=6; break; default:r/=2; } A)11B)3 C)2 D)9

Java实验 控制流语句

实验二 Java流程控制语句 1.实验时间和地点 2.实验内容 2.1判断某年是否为闰年,具体年份通过键盘录入; 2.2判断某年某月有多少天,具体年份和月份通过键盘录入; 2.3将五个整数按照顺序排列,不允许用循环结构,数据由键盘录入; 2.4求100-1000范围内所有的非素数; 2.5 设计程序,验证break、continue和return的中断功能。 3.实验源程序 3.1源程序如下: //runnianfou.java //判断某年是否为闰年,具体年份通过键盘录入 import java.util.Scanner; public class runnianfou { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入年份:"); long year=sc.nextLong();//接收用户输入 if ((year % 4 == 0) && (year % 100 != 0) || (year % 400) == 0){ System.out.println(year+"年是闰年"); } else{ System.out.print(year+"年不是闰年"); } } }

3.2源程序如下: //monthdays.java //判断某年某月有多少天,具体年份和月份通过键盘录入 import java.util.Scanner; public class monthdays { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入年份:"); long year=sc.nextLong(); System.out.println("请输入月份:"); int month=sc.nextInt(); int days=0; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: days = 31; break; case 4: case 6: case 9: case 11: days = 30; break; case 2: if ((year % 4 == 0) && (year % 100 != 0) || (year % 400) == 0)

Java 程序循环语句学习源代码 (2)

1.计算1-10之间的1+2+3…+10的和 public class Demo1 { public static void main(String[] args) { int i,s=0;//定义整数类型//注意自增变量i步数,不仅仅是整数,也可以是小数 for(i=0;i<=10;i=i+1) { s=s+i; } System.out.print("s="+s); } } 2.计算0-1 之间0.1+0.2+...0.9+1.0的和 public class Demo1 { public static void main(String[] args) { double i,s=0;//定义小数类型计算 0.1+0.2+0.3+0.4+....1.0 for(i=0;i<=1.0;i=i+0.1) { s=s+i;//1.s=0+0 2.s=0+0.1 3.s=0.1+0.2 } System.out.print("s="+s); } } 3.定义小数类型计算0.5+1.0+1.5+2.0+2.5+....5.0 public class Demo1 { public static void main(String[] args) { double i,s=0;//自增变量i步数,不仅仅是整数,也可以是小数 for(i=0;i<=5;i=i+0.5) { s=s+i;//1.s=0+0 2.s=0+0.5 3.s=0.5+1 } System.out.print("s="+s); } } 4.使用循环打印一行9个*

public class Demo1 { void main(String[] args) { int i//控制变量改变,自增变量(计数变量) for(i<=9;i++) { System.out.print("*");//注意打印的时候有没有换行 } } } 5.使用循环打印9行*(每行一个*) public class Demo1 { public static void main(String[] args) { int i,s=0;//控制变量改变,自增变量(计数变量) for(i=1;i<=9;i++) { System.out.print("*");//注意打印的时候有没有换行 System.out.print("\n"); } } } 6.使用循环求1+3+5+ (99) public class Demo1 { public static void main(String[] args) { int i,sum=0;//i,j控制变量改变,自增变量(计数变量)1+3+5+ (99) for(i=1;i<=100;i=i+2) { sum=sum+i;//sum=0+1;2.sum=1+3; } System.out.print("sum="+sum); } } 7.使用循环求1-100之间所有被5整除的所有的和 public class Demo1 { public static void main(String[] args) { int i,sum=0;//i,j控制变量改变,自增变量(计数变量)//1+5+10+15+20+。。。。。100(被5整除的所有的和) for(i=5;i<=100;i=i+5)

While 循环 例子

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace while循环 { class Program { static void Main(string[] args) { int i =0; while(i<10) { i++; Console.WriteLine(i); } // i) 计算1到100之间整数的和 int i=0; int sum =0; while(i<=100) { sum = sum + i; i++; } Console.WriteLine("0-100所有整数和为{0}",sum); // ii) 要求用户输入用户名和密码,只要不是admin 888888 就一直提示重新输入。 string username ="admin"; string pwd ="888888"; string input_username; string input_pwd; do { Console.WriteLine("请输入用户名:"); input_username = Console.ReadLine(); Console.WriteLine("请输入密码:"); input_pwd = Console.ReadLine(); if(username != input_username || pwd != input_pwd) { Console.WriteLine("错误!请重新输入!"); }

else { Console.WriteLine("恭喜!输入正确!"); } }while(username != input_username || pwd != input_pwd); // iii) 不断要求用户输入一个数字,然后打印这个数字的2倍,当用户输入q 的时候,程序退出。 while(true) { Console.WriteLine("请输入一个数字:"); string s1 = Console.ReadLine(); if(s1=="q") { return; } else { int i1 = Convert.ToInt32(s1); Console.WriteLine("这个数的2倍是:{0}", i1 *2); } } // iv) 不断要求用户输入一个数字,当用户输入end时显示刚才输入数字的最大值。 int max =0; while(true) { Console.WriteLine("请输入一个数字:(结束请输入end)"); string s1 = Console.ReadLine(); if(s1 =="end") { Console.WriteLine("你输入的数字中,最大的数是:{0}",max); Console.ReadLine(); return; } int num = Convert.ToInt32(s1); if(num>max) {

Java基础-while循环语句、循环嵌套

1.使用while循环,求1+11+111+1111+11111+111111。 public class Test { public static void main(String[] args) { int i = 0; double n = 0; double sum = 0; while(i<6){ n = n+Math.pow(10,i); sum =sum+n; i++; } System.out.println("1+11+111+1111+11111+111111="+sum); } } 2.求10的阶乘1x2x3x4…x10. public class Test { public static void main(String[] args) { int result = 1; for(int i = 10;i > 0;i--){ result *= i; } System.out.println("10!="+result); } } 3.求1+2+3……+1000的和,把和输出,计算每步结果中有多少个最后以8结尾的。 public class Test { public static void main(String[] args) { int sum = 0; int n = 0; for (int i = 1; i <= 1000; i++) { sum += i; if(sum%10 == 8){ n++; } } System.out.println("1+2+3……+1000="+sum); System.out.println("每步结果中以8结尾有"+n+"个."); } }

相关文档
最新文档