Java开发必备点03"/>
Java开发必备点03
### 循环的概念```Java
概念:通过某个条件的控制,使代码重复有规律的执行
对于循环的理解
4000从第一圈开始 -------------------循环变量的初始化
每跑完一圈(循环体) 加一计数---------------循环变量的改变
第十圈 结束 ----------循环条件的判断
循环的结构
while
语法:循环变量的初始化;while(循环条件的判断){循环体;循环变量的改变;}
流程:见图示
循环体执行次数是 0---n
死循环的写法:while(true){}
案例:
public class Demo{public static void main(String[] args) {int i=1;while (true) {System.out.println("是德国和健康的发给我舒服"+i);i++;}}}但是循环条件判断不能直接写成false 但是循环条件结果可以是false
案例:
public class Demo{public static void main(String[] args) {//定义一个循环变量int i = 1;while (i<=10000) {//循环体System.out.println("hello world"+i);//循环变量改变i++;//i=i+1; i+=1}}}练习:
用while循环实现跑圈的案例
public class Demo{public static void main(String[] args) {//定义循环变量int i = 1;while (i<=10) {System.out.println("我现在跑的是第"+i+"圈");i++;}}}练习: 计算 1+2+3+4+...+100 的和
思路:将循环变量的值加起来 单独定义一个变量存放和
代码:
public class Demo{public static void main(String[] args) {//定义一个变量存放和 sumint sum = 0;int i = 1;while (i<=100) {//累加sum = sum+i;//sum+=i;i++;}System.out.println("和是:"+sum);}}练习: 计算 1+3+5+7+。。。+99的和
代码:
public class Demo{public static void main(String[] args) {int sum = 0;int i = 1;while (i<=99) {sum+=i;i+=2;//i=i+2}System.out.println(sum);}
}public class Demo{public static void main(String[] args) {int sum = 0;int i = 1;while (i<=100) {if (i%2!=0) {sum+=i;} i++;}System.out.println(sum);}}
do…while
语法:
循环变量的初始化;do{循环体;循环条件的改变;
}while(循环条件的判断);执行流程:
循环体执行的次数 1---n
死循环:
do{}while(true);
循环条件的判断可以直接是false
1.循环变量的初始化
2.循环体
3.循环条件的改变
4.循环条件的判断如果为true ----->2循环体---->3---->4false ---->结束循环
案例:
public class Demo{public static void main(String[] args) {int i = 1;//1/*do {//2System.out.println("hello world"+i);i++;} while (false);*/while(true) {System.out.println("hello world");i++;}}}练习: 计算 1+3+5+7+。。。+99的和
public class Demo{public static void main(String[] args) {int sum = 0;int i = 1;do {sum+=i;i+=2; } while (i<=99);System.out.println(sum);}}练习:
跑圈案例
for
语法:
for(循环变量的初始化; 循环条件的判断 ;循环变量的改变 ){循环体;
}
注意:循环变量的初始化语句只执行一次 见图示
循环体执行的次数:0--n
案例:
public class Demo{public static void main(String[] args) {for(int i = 1 ;i<=10 ;i++ ){System.out.println("hello world"+i);}}}案例:
public class Demo{public static void main(String[] args) {for(int i=1 ;i<=10 ;i++ ){System.out.println("hello world"+i);}System.out.println(i);//错误的}}案例:
public class Demo{public static void main(String[] args) {for(int i = 1 ;i<=10; ){System.out.println("hello world"+i);i++;}}}案例:死循环
循环条件的判断不写true默认也是true
public class Demo{public static void main(String[] args) {for( ;true; ){System.out.println("hello world");}}}案例: 计算 10 的阶乘(1*2*3...*10)
public class Demo{public static void main(String[] args) {//定义一个变量int ji = 1;for(int i = 2;i<=10;i++){ji*=i;//ji = ji*i;}System.out.println(ji);}}
总结
应用上:
while循环更适用 未知循环次数的场景
for适用已知循环次数的场景
do while 不常用
循环控制语句
break:结束整个循环
案例:
public class Demo{public static void main(String[] args) {for(int i = 1;i<=10;i++){if (i==3) {break;} System.out.println("160 学的还行");}}}continue:结束本次循环 继续下次循环
案例:
public class Demo{public static void main(String[] args) {for(int i = 1;i<=10;i++){if (i==3) {continue;} System.out.println("160 学的还行"+i);}}}
循环的嵌套
概念:在一个循环中循环体是另外一个循环语法:双重循环 for
for(int i = 1;i<=10;i++){for(int j =1;j<=10;j++){}
}执行的流程:
案例:
public class Demo{public static void main(String[] args) {for(int i = 1;i<=5;i++){for(int j = 1;j<=4;j++){System.out.print("i:"+i+"---"+"j:"+j+"\t");}System.out.println();}}}练习:
打印如图所示的图形
****
****
****
public class Demo{public static void main(String[] args) {for(int i = 1;i<=3;i++){for(int j = 1;j<=4;j++){System.out.print("*");}System.out.println();}}}案例
*
**
***
****
代码:
public class Demo{public static void main(String[] args) {for(int i = 1;i<=4;i++){for(int j = 1;j<=i;j++){System.out.print("*");}System.out.println();}}}j=1 k=1
案例: j<=i-1 k<=5-i;**** i=1 0个空格 4个* *** i=2 1个空格 3个*** i=3 2个空格 2个** i=4 3个空格 1个*
思路:
外层循环 int i = 1; i<= 4;i++代码:
public class Demo{public static void main(String[] args) {for(int i = 1;i<=4;i++){//空格for(int j = 1;j<=i-1;j++){System.out.print(" ");}//*for(int k = 1;k<=5-i;k++){System.out.print("*");}System.out.println();}}}练习:
打印 99乘法表 i<=9 1*1 = 1 i = 1
1*2 = 2 2*2 = 4 i = 2
1*3 = 3 2*3 = 6 3*3 = 9 i = 3
案例:
public class Demo{public static void main(String[] args) {for(int i = 1;i<=9;i++){//空格for(int j = 1;j<=i;j++){System.out.print(j+"*"+i+"="+j*i+"\t");}System.out.println(); } }
}
随机数
语法:
Math.random() 就是一个数 这个数 是在0----1之间的一个小数 包括0 但是不包括1
游戏
猜数字游戏:
1.系统随机的产生一个0---99的一个整数 Math.random()
2.游戏有十次机会
3.当猜中屏幕输出 “你中奖了 可以娶媳妇了” 同时结束游戏
4.当猜错 输出 你是个菜鸡 你还有几次机会
5.当机会用完 输出 请投币 再来
6.当用户输入数据为小数的时候 输出 你脑子有泡
代码:
import java.util.*;
public class Demo{public static void main(String[] args) {//1.系统随机产生一个整数int daAn = (int)(Math.random()*100);System.out.println("答案是:"+daAn);//3.获取键盘输入的数据Scanner s = new Scanner(System.in);//2.十次机会for(int i = 1;i<=10;i++){double guess = s.nextDouble();//判断是否是整数 (int)12.5 12 ==12.5 if ((int)guess==guess) {//猜//如果相等就输出 猜对了 同时系统退出、if (guess==daAn) {System.out.println("恭喜中奖了 可以娶媳妇了");break;} //反之 输出猜错了 还有几次机会else{System.out.println("菜鸡 你还有"+(10-i)+"次机会");}if (i==10) {System.out.println("请投币 欢迎再来");} } else {System.out.println("非法数据 你脑子有泡");}}}}
更多推荐
Java开发必备点03
发布评论