目录
WHILE循环语句
-
while循环的语法结构:
while(布尔表达式){ 循环体; }
-
while循环的执行原理:
先判断布尔表达式的结果: *true -执行循环体 *判断布尔表达式的结果: *true -执行循环体 *判断布尔表达式结果 *true —执行循环体 *判断布尔表达式结果: ······· *flase —循环结束 *flase -循环结束 *false -循环结束
-
while循环的循环次数:
0~~~N次
注意:while循环的循环体可能执行次数为0。也可能执行N多次。
-
死循环的注意事项
public class WhileText01 { public static void main(String[] args){ /* while(true){//编译器可以识别false或true System.out.println("死循环"); } //编译错误 编译器检测到该输出语句永远都无法被执行,所以报错 //System.out.println("Hello World"); */ /* int i=10,j=3; while(i>j){ System.out.println("hehe"); } System.out.println("Hello World"); //编译通过,因为编译器只检查语法,i是否大于j只有运行了才知道 */ /* while(10>3){ System.out.println("hehe"); } System.out.println("Hello World"); //编译报错 编译器虽然只检查语法,但是可以判断10和3哪个大,所以报错 */ } }
-
在循环中使用++与–
public class WhileText02 { public static void main(String[] args){ int i=1; while(i<=10){ System.out.println(i);//1 2 3 4 5 6 7 8 9 10 i++;//10++后是11,11>10,循环结束 } System.out.println("end--->"+i);//10 System.out.println("================================================"); int j=10; while(j>0){ System.out.println(j--);//先赋值后运算 10 9 8 7 6 5 4 3 2 1 System.out.println("-->"+j);//9 8 7 6 5 4 3 2 1 0 } System.out.println("end--j-->"+j); System.out.println("================================================"); int k=10; while(k>=0){ System.out.println(--k);//先运算后赋值 9 8 7 6 5 4 3 2 1 0 -1 } } }
do…while
-
do…while循环的语法结构:
do{ 循环体; }while(布尔表达式);
-
do…while循环的执行原理:
先执行循环体 *判断布尔表达式的结果: *true -执行循环体 *判断布尔表达式的结果: ······· *false -循环结束
-
do…while循环的执行次数:
循环体代码片段执行次数是:1~N次,至少执行一次
-
do…while循环的注意事项:
do…while循环语句结尾有一个分号 ; 别丢了
-
while与do…while的区别
public class DowhileText01 { public static void main(String[] args){ int i= 10; do{ System.out.println(i);//输出10 }while(i>100); while(i>100){ System.out.println("i-->"+i);//不输出 } int k=1; do{ System.out.println(k);//1 2 3 4 5 6 7 8 9 10 k++; }while(k<=10); } }
-
闰年的判定
import java.util.Scanner; public class Work05201 { public static void main(String[] args) { Scanner input=new Scanner(System.in); int year= 1; while(year!=0) { System.out.print("输入年份,输入0结束: "); year = input.nextInt(); if(year!=0) { if(year%4==0&&year%100!=0||year%400==0){ System.out.println(year+"年是闰年"); } else{ System.out.println(year+"年是平年"); } }else { year =0; System.out.println("结束!"); } } } }
-
奇数偶数的和
public class Work0521 { public static void main(String[] args) { int i=0,m=0,n=0; while(i<=100) { if(i%2==0) { m=m+i; }else { n=n+i; } i++; } System.out.println("所有偶数的和:"+m); System.out.println("所有奇数的和:"+n); } }
-
x、y所在象限判定
import java.util.Scanner; public class Work05231 { public static void main(String[] args) { Scanner input=new Scanner(System.in);//接受从键盘输入的数据 double x,y; String s; do{ System.out.print("请输入x:"); x=input.nextDouble(); System.out.print("请输入y:"); y=input.nextDouble(); if(x>0&&y>0){ System.out.println(x+"."+y+"在第一象限"); }else if(x<0 && y>0){ System.out.println(x+"."+y+"在第二象限"); }else if(x<0 && y<0){ System.out.println(x+"."+y+"在第三象限"); }else if(x>0 && y<0){ System.out.println(x+"."+y+"在第四象限"); } System.out.print("是否继续?(是/否)"); s=input.next(); }while(s.equals("是")); System.out.print("程序结束"); } }