目录
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("程序结束");
}
}