Java流程控制学后练习

 

 

练习

一、选择

  1. 请看下面的程序代码,运行结果为:                                                                                                                 
    A. 2  B. 3 C. 4 D. 编译出错,无结果
    
  2. 当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是()    B
    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. 下面代码的运行结果为()                                                                                       
    A. 3  B. 7  C. 3 7  D. 7 3
    
  6. 下列语句序列执行后,k 的值是?  C                                                                                                               
    A. 0  B. 1  C. 2  D. 3
    
  7. 下面关于这段程序的描述正确的是()                                                                                                                              
    A. while循环执行10次
    B. 循环是无限循环
    C. 循环体语句一次也不执行
    D. 循环体语句值执行一次
    
  8. 下面这段代码循环体执行()次       B                                                                                                                          
    A. 1  B. 5  C. 6  D. 无限次
    
  9. 下列语句序列执行后,j 的值是?                                                                                                
    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结构完成)

    效果图:
public class IfElseDemo {
    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 + "," + y);	
    }
}
  1. 给定一个字符变量,判断该变量是否为元音字母并输出。
    任务:
    1. 定义一个字符变量ch并初始化
    2. 使用switch结构判断是否为元音字母,如果是元音字母则输出如效果图所示的内容,如果不是元音字母则输出:不是元音字母
      提示:
      元音字母为a、e、i、o、u
    public class CharDemo {
        public static void main(String[] args) {
    		//定义一个字符变量并初始化
    		char ch = 'a';
    		//使用switch结构判断是否为元音字母,并输出对应的信息
    		switch (ch) {
    		case 'a':{
    			System.out.println("元音字母为" + ch );
    			break;
    		}
    		case 'e':{
    			System.out.println("元音字母为" + ch );
    			break;
    		}
    		case 'i':{
    			System.out.println("元音字母为" + ch );
    			break;
    		}
    		case 'o':{
    			System.out.println("元音字母为" + ch );
    			break;
    		}
    		case 'u':{
    			System.out.println("元音字母为" + ch );
    			break;
    		}
    		default: {
    			System.out.println("不是元音字母");
    			break;
    		}
    		}
    	}
    }
  2. 使用while循环求1到5的平方和。
    public class LoopDemo {
        public static void main(String[] args) {
    		//定义整型变量n作为循环变量,并初始化
        	int n = 0;
            //定义整型变量sum存放和,并初始化
        	int sum = 0;
            //使用while循环求1到5的平方和
            while (n < 5){
            	n++;
            	//sum += n*n;
            	sum += Math.pow(n, 2);
            }
            //输出平方和
            System.out.println(sum);//55
        }
    }
  3. 编写一个程序,求出200到300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。
    任务:
    1. 循环遍历200到300之间的整数
    2. 分别取出个位、十位和百位上的数
    3. 求三个数字的和与积
    4. 判断三个数字的积是否为42,三个数字的和是否为12,如果满足条件则输出该数
    public class Loop {
        public static void main(String[] args) {
    		//定义变量ge、shi、bai,用于存放个位、十位、百位上的数字
            int ge,shi,bai;
    		//使用for循环
            for (int num = 200; num <= 300; num++){
            	//取出百位数
            	bai = num / 100;
            	//取出十位数
            	shi = (num % 100) / 10;
            	//取出个位数
            	ge = num % 10;
            	//计算三个数字之积
            	int ji = bai * shi * ge;
            	//计算三个数字之和
            	int he = bai + shi + ge;
            	//如果积等于42并且和为12,则将满足条件的数输出
            	if (ji == 42 && he ==12){
            		System.out.println(num);//237,273
            	}
            }
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值