Java流程控制 练习

选择

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

2、当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是 B
Java流程控制 练习_第2张图片
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流程控制 练习_第3张图片
A. 3
B. 7
C. 3 7
D. 7 3

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

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

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

9、下列语句序列执行后,j 的值是? D
Java流程控制 练习_第7张图片
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流程控制 练习_第8张图片
效果图:
在这里插入图片描述

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
			}
		}
	}
}

你可能感兴趣的:(Java软件开发工程,java)