第五章 循环结构Ⅱ

for循环

    for( 表达式1; 表达式2; 表达式3){

            循环体

    }

    表达式1是循环结构的初始化部分,通常用于定义循环变量并赋初始值;

    表达式2是循序条件,必须返回boolean类型的值;

    表达式3是循环体的迭代部分,通常用于修改循环变量的值,表达式之间用分号分割,大括号中是循环体

 

循环的执行顺序

    1.执行初始化部分

    2.进行循环条件判断

    3.根据循环条件判断结果,决定是否执行循环体

    4.执行迭代部分,改变循环变量的值

    5.重复2、3、4步,知道循环条件不成立

/*
 * 循环输出1到100之间所有能被3或能被4整除的数
 * */
public class W1 {
	public static void main(String[] args) {
		int i;
		for (i = 1; i < 100; i++) {
			if (i % 3 == 0 || i % 4 == 0) {
				System.out.println(i);
			}
		}
	}
}

注:for循环的表达式1、表达式2、表达式3都可省略,但要注意语法与逻辑,避免语法错误或死循环,表达式之间的分号不可省略

 

break:改变程序控制流

    用于do-while、while、for和switch时,可跳出循环而执行循环后面的语句或退出switch

    一般在if中使用,但终止的是外部的循环

    在多层循环中,break只能终止最里面包裹它的那个循环

/*
 * 找到10-20之间第一个可以被3整除的数字
 */
public class D2 {
	public static void main(String[] args) {
		int i ;
		for(i = 10 ;i<=20 ;i++){
			// 如果能被3整除,终止整个循环
			if(i%3==0){
				break ;
			}
		}
		System.out.println("10-20之间第一个可以被3整除的数字:"+i);
	}
}

 

continue :只能用在循环里

     跳过循环体中剩余的语句而执行下一次循环

    一般在if中使用,但跳过的是外部的循环

    在多层循环中,continue只能跳过最里面包裹它的那个循环

 

/*
 * 求1-100之间不能被3整除的数之和
 * */
public class D3 {
	public static void main(String[] args) {
		int sum = 0;
		for (int i = 0; i < 100; i++) {
//			// 第一种
//			if (i % 3 != 0) {
//				sum += i; // 不能被3整除进行加和
//			 }
			
			// 第二种
			if (i % 3 == 0) {
				continue;
			}
			sum += i; // 能被3整除就跳过,不加和
		}
		System.out.println("1-100之间不能被3整除的数之和:" + sum);
	}
}

 

return

      结束当前方法的执行并退出,返回到调用该方法的语句处

 

嵌套循环

// 输出乘法表
public class December {
	public static void main(String[] args) {
		// 外层循环控制行数
		for(int i=1 ; i<=9 ;i++){
			// 内层循环控制列数
			for(int j=1 ;j<=i ;j++){
				// 输出乘法
				System.out.print(j+"x"+i+"="+(i*j)+"\t");
			}
			System.out.println(); // 控制换行
		}
	}
}

 

随机数

public class November {
	public static void main(String[] args) {
		int i;
		/**************************方法一**********************************/
		// 输出1-10之间的随机数
//		for (i = 0; i < 10; i++) { // 调用静态数学对象类的方法
//			double num = Math.random() * 10; // 获取0-10之间double类型的随机浮点数,*10 赋值给num 
//			int ran = (int) (num + 1);  // num加一之后变成1-11之间的随机浮点数,强制类型将其赋值给num,舍弃小数部分
//			System.out.println(ran);
//		}	
		
		/**************************方法二**********************************/
//		Random ran = new Random() ; // 创建随机对象类
//		for(i = 0 ;i < 10 ;i++){
//			int num = ran.nextInt(10) + 1; // 调用带参数的类方法,生成随机0-10之间的随机整数(不包含10,但包含0)
//			System.out.println(num);
//		}
		
		/**************************布尔值**********************************/
		// 随机生成布尔值
//		Random ran = new Random() ;
//		boolean flag = ran.nextBoolean();
//		System.out.println(flag);

		}
}

 

猜你喜欢

转载自blog.csdn.net/Mythology_px/article/details/81434687