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

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

程序员文章站 2022-05-28 18:36:16
...

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



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

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

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


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("亲,命令错误");
			}
		}
	}
}

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

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


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(布尔表达式);