Java学习笔记(7)-循环语句




package day03;
/*
 * 实现
 * sum = 1+2+3+...+100
 */
public class Demo17 {
	public static void main(String[] args) {
		int sum = 0;
		for(int i=1;i<=100;i++){
			sum = sum + i;
//			sum += i;
		}
		System.out.println(sum);
	}
}

package day03;
/*
 * for循环语句
 * 1->(2->3->4)->(2->3->4)->(2->3->4)->(2->3->4)->2->5
 */
public class Demo16 {
	public static void main(String[] args) {
		//i i<4
		//0 true
		//1 true
		//2 true
		//3 true
		//4 false
		for(int i=0/*1*/;i<4/*2*/;i++/*4*/){
			System.out.println(i);/*3*/
		}
		System.out.println("bye");/*5*/
	}
}
package day03;
/**PI**/
public class Demo18 {
	public static void main(String[] args) {
		double sum = 0;
		for(int i=3;i<10000;i+=4){
			sum += 1.0/i-1.0/(i+2);
		}
		double pi = 4*sum;
		System.out.println(pi);
	}
}
package day04;
/*
 * for语句中3个表达式可以适当的省略不写
 */
public class Demo05 {
	public static void main(String[] args) {
		//变量的作用域,越小越好!尽量在循环内部定义变量
		//i变量的作用域,在for内部有效
		for(int i=1;i<=10;i++){
			System.out.println(i);
		}
		//i变量的作用域,是main方法中有效
		int i=1;
		for(;i<=10;i++){
			System.out.println(i);
		}
		System.out.println(i);//11 循环是在不满足条件时候结束的!
	}
}
package day04;
/*
 * for循环与while循环
 * for循环可以与while循环互换使用。达到相同的目的
 */
public class Demo06 {
	public static void main(String[] args) {
		int i=1;//此时就相当于while循环
		for(;i<=10;){
			System.out.println(i++);
		}
		System.out.println(i);
		
		
		i = 1;
		while(i<=10){
			System.out.println(i++);
		}
		System.out.println(i);
	}
}



package day04;
/*
 * sum = 0 9 + 99 + 999+...
 * num = 9 99 999
 * i = 1 2 3 4
 * num = 0 9 99 999
 * num = num*10 + 9
 */
public class Demo07 {
	public static void main(String[] args) {
		long sum=0;//和
		int i = 1;//index的缩写,序号
		long num=0;//number缩写
//		for(;i<=11;){//等价
		while(i<=11){
			num = 10*num+9;
			System.out.println(num);//跟踪语句
			sum+=num;
			i++;//运行结束i为12
		}
		System.out.println(i);
		System.out.println(sum);
	}
}
package day04;

import java.util.Scanner;

/*
 * 注意:比较字符串是否相等必须使用equals方法!不能使用==
 * "1".equals(cmd)比cmd.equals("1")要好
 */
public class Demo08 {
	public static void main(String[] args) {
		Scanner console = new Scanner(System.in);
		while (true) {//死循环 for(;;)与while(true)等价!
			System.out.println("选择功能: \n1.查看全部 \n2.删除" + "\n3添加  \n0退出 \n请选择:");
			String cmd = console.nextLine();
			if("1".equals(cmd)){
				System.out.println("查看全部");
			}else if("0".equals(cmd)){
				System.out.println("亲,bye");
				break;//break:打断!结束当前循环
			}else{
				System.out.println("亲,命令错误");
			}
		}
	}
}



package day04;
import java.util.Scanner;
/*
 * do-while语句
 */
public class Demo13 {
	public static void main(String[] args) {
		Scanner console = new Scanner(System.in);
		char c;//变量作用域问题,需在外面声明变量
		String str;
		do{
			System.out.println("输入一个数: ");
			str = console.nextLine();
			c = str.charAt(0);//这个字符串索引0的字符
		}while(c<'0'||c>'9');
		System.out.println(str);//输出字符串
		int n = Integer.parseInt(str);//将"56"->int 56
		System.out.println(n);
	}

}

循环控制

    for 最常用,甚至只用这一个可以解决任何循环问题

    for最常用在与次数有关的循环处理

while

    很常用,用在循环时候要先检查循环条件再处理循环体

    用在与次数无关的情况。

    如果不能明确结束条件时候,先使用while(true),在适当条件使用break结束循环。

while(true){

    //...

    //...

    if(是否结束){

    break;

}

}


do while在循环最后判断是否结束的循环

    如:使用while(true)实现循环时候,结束条件break在while循环体的最后,就可以使用do while。

    do while的结束条件经常是“否定逻辑条件”,不便于思考业务逻辑。使用时候要注意。可以利用while(true)+break替换

循环的替换

    while(布尔表达式){}等价for(;布尔表达式;){}

    while(true){}等价for(;;)

    while(true){}+break 替换 do{}while(布尔表达式);

    for(;;)+break替换do{}while(布尔表达式);





猜你喜欢

转载自blog.csdn.net/qq_38826019/article/details/80384805