欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java流程控制 练习

程序员文章站 2024-03-05 12:50:54
...

选择

1、请看下面的程序代码,运行结果为:D
Java流程控制 练习
A. 2
B. 3
C. 4
D. 编译出错,无结果

2、当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是 B
Java流程控制 练习
A. 1
B. 2
C. 3
D. 6

3、关于switch结构,以下说法正确的是? D
A. default语句在switch结构中是必需的
B. break语句在switch结构中是必需的
C. default语句后的语句总是会被执行
D. switch()小括号中的表达式可以是字符串类型

4、关于选择结构下列哪个说法是正确的? B
A. if语句和else语句必须成对出现
B. if语句可以没有else语句对应
C. switch结构中每个case语句中必须用break语句
D. switch结构中必须有default语句

5、下面代码的运行结果为 C
Java流程控制 练习
A. 3
B. 7
C. 3 7
D. 7 3

6、下列语句序列执行后,k 的值是?C
Java流程控制 练习
A. 0
B. 1
C. 2
D. 3

7、下面关于这段程序的描述正确的是 C
Java流程控制 练习
A. while循环执行10次
B. 循环是无限循环
C. 循环体语句一次也不执行
D. 循环体语句值执行一次

8、下面这段代码循环体执行()次 B
Java流程控制 练习
A. 1
B. 5
C. 6
D. 无限次

9、下列语句序列执行后,j 的值是? D
Java流程控制 练习
A. 3
B. 4
C. 5
D. 6

10、以下正确的描述是 B
A. continue语句的作用是结束整个循环的执行
B. 只能在循环体内和switch语句体内使用break语句
C. 在循环体内使用break语句或continue语句的作用相同
D. break语句是结束当前循环,但是继续进行下一次循环

编程

1、根据下面数学函数,编写程序根据x的值,计算y的值,最后输出x和y的值。(使用多重if-else结构完成)
Java流程控制 练习
效果图:
Java流程控制 练习

public class Test1 {
	public static void main(String[] args) {
		//定义整型变量x并初始化为-5
		int x = -5;
		//定义整型变量y并初始化0
		int y = 0;
		//根据所给条件,使用多重if-else结构求y的值
		if (x < 0) {
			y = -1;
		} else if (x == 0) {
			y = 0;
		} else {
			y = 1;
		}
		//输出x和y的值
		System.out.println("x=" + x + ",y=" + y);
	}
}

2、给定一个字符变量,判断该变量是否为元音字母并输出。
任务:
(1)定义一个字符变量ch并初始化
(2)使用switch结构判断是否为元音字母,如果是元音字母则输出如效果图所示的内容,如果不是元音字母则输出:不是元音字母
提示:元音字母为a、e、i、o、u

public class Test2 {
	public static void main(String[] args) {
		//定义一个字符变量并初始化
		char ch = 'a';
		//使用switch结构判断是否为元音字母,并输出对应的信息
		switch (ch) {
			case 'a' :
			case 'e' :
			case 'i' :
			case 'o' :
			case 'u' : {
				System.out.println(ch + "是元音字母");
				break;
			}
			default : {
				System.out.println(ch + "不是元音字母");
				break;
			}
		}
	}
}

3、使用while循环求1到5的平方和。

public class Test3 {
	public static void main(String[] args) {
		//定义整型变量n作为循环变量,并初始化
		int n = 1;
		//定义整型变量sum存放和,并初始化
		int sum = 0;
		//使用while循环求1到5的平方和
		while (n <= 5){
			sum += Math.pow(n, 2);
			n++;
		}
		//输出平方和
		System.out.println(sum);
	}
}

4、编写一个程序,求出200到300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。
任务:
(1)循环遍历200到300之间的整数
(2)分别取出个位、十位和百位上的数
(3)求三个数字的和与积
(4)判断三个数字的积是否为42,三个数字的和是否为12,如果满足条件则输出该数

public class Test4 {
	public static void main(String[] args) {
		//定义变量ge、shi、bai,用于存放个位、十位、百位上的数字
		int ge, shi, bai;
		//使用for循环
		for (int i = 200; i <= 300; i++) {
			//取出百位数
			bai = i / 100;
			//取出十位数
			shi = i % 100 / 10;
			//取出个位数
			ge = i % 10;
			//计算三个数字之积
			int product = bai * shi * ge;
			//计算三个数字之和
			int sum = bai + shi + ge;
			//如果积等于42并且和为12,则将满足条件的数输出
			if (product == 42 && sum == 12) {
				System.out.println(i);//237 273
			}
		}
	}
}