java循环(重点)
三目运算符语法格式:数据类型 变量名 = (表达式)条件1?:条件2
可以有多个表达式。
执行流程:表达式结果为true,则执行条件1,表达式为false,则执行条件2。
public class Demo4 {public static void main(String[] args) {int a = 30;int c;if (a > 0) {c=30;System.out.println(c);} else {c=23;System.out.println(c);}}
}
public class Demo4 {public static void main(String[] args) {int a = 23;String s1 = (a > 0)?"这个整数大于0":(a < 0)?"这个整数小于0":"这个整数等于0";System.out.println(s1);System.out.println("----------------------");int b = -1;if (b > 0) {System.out.println("这个整数大于0");} else if (b < 0){System.out.println("这个整数小于0");} else {System.out.println("这个整数等于0");}}
}
循环结构(重点)
生活中的循环:摩天轮就是循环一圈一圈的转。
马拉松的跑道是循环,一圈一圈的
风扇也是循环
java代码中的循环:也是一圈一圈的执行,如果为false的则停止
循环结构三个条件:初始化的条件 循环条件 终止条件
while(表达式){
语句体;
++;循环条件;
}执行流程:首先走到while关键字 判断括号里的表达式为true,则执行语句体,++,之后在返回while关键字判断表达式结果为true,则执行当前括号中的语句体,++,再次返回while关键字结果为false则循环结束,不再执行语句体。
public class Demo4 {public static void main(String[] args) {/*a1 =23 走到while关键字23 < 30 结果为true,则执行语句体 a1++24 < 30 true 则执行语句体 a1++25 < 30 true 执行语句体 a1++;26 < 30 true 执行语句体 a1++27 < 30 true 执行语句体 a1++28 < 30 true 则执行语句体 a1++29 < 30 true 执行语句体 a1++30 < 30 false 循环结束不再执行语句体。 */int a1 = 23;//初始化的条件while (a1 < 30) {//循环的终止条件System.out.println(a1+"你好呀");a1++;//循环条件}System.out.println("嘻嘻哒");}
}public class Demo4 {public static void main(String[] args) {/*a=1 1<=5 true 执行语句体1 a++a=2 2<=5 true 执行语句体2 a++ a=3 3<=5 true 执行语句体3 a++a=4 4<=5 true 则执行语句体4 a++a=5 5<=5 true 则执行语句体5 a++a=6 6<=5 false 则循环结束不在执行 */int a = 1;while (a <= 5) {System.out.println(a);a++;}System.out.println("哈哈大");}
}public class Demo4 {public static void main(String[] args) {/*a1=100 100>=97 true 则执行语句体100 a1--a1=99 99>=97 true 则执行语句体99 a1--a1=98 98>=97 true 则执行语句体98 a1--a1=97 97>=97 true 则执行语句体97 a1--a1=96 96>=97 false 则循环结束不再执行当前的语句体*/int a1 = 100;while (a1 >= 97){System.out.println(a1);a1--;}System.out.println("嘻嘻哒");}
}
public class Demo4 {public static void main(String[] args) {/*现有1-10位的数a1=1 1<=10 true 则进入if1%2==1 true 则输出语句体1 a1++a1=2 2<=10 2%2==1 false a1++a1=3 3<=10 true 3%2==1 true 则输出语句3 a1++a1=4 4<=10 true 4%2==1 false a1++a1=5 5<=10 true 5%2==1 true 则输出语句5 a1++a1=6 6<=10 true 6%2==1 false a1++a1=7 7<=10 true 7%2==1 true 则输出语句7 a1++a1=8 8<=10 true 8%2==1 false a1++a1=9 9<=10 true 9%2==1 true 则输出语句9 a1++a1=10 10<=10 true 10%2==1 false a1++a1=11 11<=10 false 则循环结束*/int a1 = 1;while (a1 <= 10) {if (a1 % 2 == 1) {System.out.println(a1);}a1++;}}
}
public class Demo4 {public static void main(String[] args) {/*a1=1 1<=10 true 输出语句1 1+=2a1=3 3<=10 true 输出语句3 1+=2a1=5 5<=10 true 输出语句5 1+=2a1=7 7<=10 true 输出语句7 7+=2a1=9 9<=10 true 输出语句9 9+=2;a1=11 11<=10 false 则不输出语句*/int a1= 1;while(a1 <=10){System.out.println(a1);a1+=2;}}
}
public class Demo4 {public static void main(String[] args) {/*a1=1 1<=100 true 1%7==0 false a1++a1=2 2<=100 true 2%7==0 false a1++a1=3 3<=100 true 3%7==0 false a1++a1=4 4<=100 true 4%7==0 false a1++a1=5 5<=7 true 5%7==0 false a1++a1=6 6<=100 true 6%7==0 false a1++a1=7 7<=100 true 7%7==0 true 则输出语句7 a1++a1=8 8<=100 true 8%7==0 false a1++a1=9 9<=100 treu 9%7==0 false a1++a1=10 10<=100 treu 10%7==0 fale a1++a1=11 11<=100 true 11%7==0 false a1++a1=12 12<=100 true 12%7==0 false a1++a1=13 13<=100 true 13%7==0 false a1++ a1=14 14<=100 true 14%7==0 true 组输出语句14 a1++ 以此类推*/int a1 = 1;while(a1 <= 100){if (a1 % 7 == 0){System.out.println(a1);}a1++;}}
}
do-while循环几乎不用
do{
语句体;
}while(表达式);
执行流程:首先走到do关键字,执行一次语句体,之后走到while关键字,判断括号里的表达式位true,则再次返回do则执行语句体,之后在到while关键字判断表达式为true,则到do打括号里执行语句体,再次判断while(括号里的结果为false)则循环结束。不再执行。
public class Demo4 {public static void main(String[] args) {/*a=1 执行语句体一次晚上加班 a++ 1<=10 a=2 执行第二个语句体晚上加班 a++ 2<=10a=3 执行第三个语句体晚上加班 a++ 3<=10a=4 执行第四给语句体晚上加班 a++ 4<=10a=5 执行第五个语句体晚上加班 a++ 5<=10 a=6 执行第六个语句体晚上加班 a++ 6<=10以此类推*/int a = 1;do{System.out.println(a+"晚上加班");a++;}while(a <= 10);}
}
重点:while循环和do while循环的区别
while循环:先判断 在执行
do=while:先执行一次语句体 在判断
for循环(重点)
循环的三个条件:初始化的条件 终止条件 循环条件
for循环语法格式:for(表达式1;表达式2;表达示3){
循环体;
}
表达式1:初始化的条件
表达示2:终止条件
表达示3:循环条件
执行流程:首先走到for关键字,先执行表达式1,在判断表达式2,结果为true,则执行语句体,在执行表达式3,之后在走到for关键字执行表达示1,在判断表达式2,结果为true则执行语句体,在执行表达式3,再次走到for关键字先执行表达式1,在次判断表达式结果为false,则循环结束。
public class Demo4 {public static void main(String[] args) {/*a=1 1<=3 true 则执行语句体云想衣裳花想容 a++a=2 2<=3 true 则执行语句体云想衣裳花想容 a++a=3 3<=3 true 则执行语句体云想衣裳花想容 a++a=4 4<=3 false 则循环结束*/for(int a = 1; a<=3;a++){System.out.println("云想衣裳花想容");}//案例1:打印1-10以内的奇数/*a1=1 1<=10 则进入if判断1%2==1 true 则执行语句体1 a1++a1=2 2<=10 则进入if判断2%2==1 false a1++a1=3 3<=10 true 则进入if判断3%2==1 true 则输出语句3 a1++a1=4 4<=10 true 则进入if判断4%2==1 false a1++a1=5 5<=10 true 则进入if判断5%2==1 true 则执行语句体5 a1++a1=6 6<=10 true 则进入if判断6%2==1 false a1++a1=7 7<=10 true 则进入ifp判断7%2==1 true 则执行语句7 a1++a1=8 8<=10 true 则进入if判断8%2==1 false a1++a1=9 9 <=10 true 则进入if判断9%2==1 true 则执行语句体9 a1++a1=10 10<=10 true 则进入if判断10%2==1 false 则循环结束*/for(int a1 = 1; a1<=10; a1++){if (a1 % 2 == 1){System.out.println(a1);}}}
}
public class Demo4 {public static void main(String[] args) {/*a=0 a<=100 true 则执行语句体0 a+=2a=2 2<=100 true 则执行语句体2 a+=2a=4 4<=100 true 则执行语句体4 a+=2a=6 7<=100 true 则执行语句体6 a+=2a=8 8<=100 true 则执行语句体8 a+=2a=10 10<=100true 则执行语句体10 a+=2a=12 12<=100 true 则执行语句体12 a+=2'a=14 14<=100 true 则执行语句体14 a+=2a=16 16<=100 true 则执行语句体16 a+=2a=18 18<=100 true 则执行语句体18 a+=2a=20 20<=100 true 则执行语句体20 a+=2a=22 22<=100 true 则执行语句体22 a+=2a=24 24<=100 true 则执行语句体24 a+=2以下也是这样执行*///打印100以内的偶数for(int a = 0; a<=100;a+=2){System.out.println(a);}//dayin100以内的奇数for(int a1 = 1; a1<=100;a1+=2){System.out.println(a1);}}
}
public class Demo4 {public static void main(String[] args) {//100以内的逢7过 凡是7的倍数和带7 的都要给我打印"过" 其他都是打印数字for (int a = 1; a<= 100;a++) {if (a % 7 == 0 || a /10 == 7 || a % 10 == 0){System.out.println("过");}else {System.out.println(a);}}}
}
public class Demo4 {public static void main(String[] args) {//0<=100 true j+=i 0+=0 i++//1<=100 true 0+=1 i++//2<=100 true 0+=1+2 i++//3<=100true 0+=1+2+3 i++//以此类推到99//99<=100 true 0=1+2+3+4+5+6+7+8...+99 i++//100<=100 true 0=0+1+2+3+4+5+6+7+8+9+10...+100//求1-100数的和int j = 0;for (int i = 0; i<=100; i++) {j+=i;}System.out.println(j);}
}
循环的嵌套
一个循环里面还有一个内层循环
秉承着一点内层循环结束之后,在回到外层循环执行。
public class Demo4 {public static void main(String[] args) {//*****//*****//*****/*i=1 1<=3 true 进入内层循环 i1=1 1<=4 true 则打印一颗星* i++i=2 2<=4 true 则打印两颗星星** i1++i1=3 3<=4 true 则打印三颗星星*** i1++i1=4 4<=4 true 则打印四颗星**** i1++i1=5 5<=4 false 则循环结束 换行 i++i=2 2<=3 true 则进入内层循环i1=1 1<=4 true 打印一颗星* i1++i1=2 2<=4 true 打印两颗行** i1++i1=3 3<=4 true 打印三颗星*** i1++i1=4 4《=4 true 打印四颗星星**** i1++i1=5 5<=4 false 则内层循环结束 i++以此类推*/for (int i = 1; i<=3; i++) {for(int i1 = 1; i1<=4;i1++){System.out.print("*");}System.out.println();}}
}
打印*
***
*****
*******
public class Demo4{public static void main(String[] args) {/***************** 判断四行 没有空格*//*i=1 1<=4 true 进入内层循环j=1 1<=1 true 打印一颗星* j++j=2 2<=1 false 循环结束 i++i=2 2<=4 true 进入内层循环j=1 1<=3 true 打印一颗星* j++j=2 2<=3 true 打印两颗星** j++j=3 3<=3 true 打印三颗星*** j++j=4 4<=3 false 则循环结束 i++i=3 3<=4 true 则进入内层循环 j=1 1<=5 true 打印一颗星* j++j=2 2<=5 true 打印两颗星** j++j=3 3<=5 true 打印三颗星*** j++j=4 4<=5 true 打印四颗星**** j++j=5 5<=5 true 打印五颗星***** j++j=6 6<=5 false 则循环结束 以此类推 */for (int i = 1; i<=4;i++) {for(int j = 1; j<=2*i-1;j++){System.out.print("*");}System.out.println();//换行}}
}
打印99乘法表
public class Demo4{public static void main(String[] args) {//打印99乘法表for (int i = 1; i<=9; i++){for(int j = 1; j<=i;j++){System.out.print(j+"*"+i+"="+i*j+"\t");}System.out.println();}}
}
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
作业:替换两个数中的值。
public class Demo4{public static void main(String[] args) {int a1 = 90;int a2 = 45;if (a1 > a2){int a3;a3=a1;a1=a2;a2=a3;System.out.println("a1="+a1);System.out.println("a2="+a2);} else {System.out.println("a1="+a1);System.out.println("a2="+a2);}}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
