For循环
死循环概念
①没有循环结束的条件
②或者循环结束的条件永远不成立,或者说运行的条件永远不成立【不写更新变量】
死循环例题
for(int i = 0; ; i++){
System.out.println("asd");
}
for(int i = 0;i<10;) {
System.out.println("sad");
}
最简单的for死循环
for(;;) {
System.out.println("sdas");
}
练习:
判断一个数字是否为素数->质数只能被1和本身整除的数]
Scanner scanner =new Scanner(System.in);
int num = scanner.nextInt();
boolean flag = true;
for(int i = 2;i<=num-1;i++) {
if (num%i==0) {
flag = false;
break;
}
}
if (flag) {
System.out.println("T");
}else {
System.out.println("F");
}
找出2-100的质数
for(int i=3;i<=100;i++){
boolean flag = true;
for(int j=2;j<i;j++){
if(i%j==0){
flag=false;
break;
}
}
if(flag){
System.out.print(i+" ");
}
}
打印1-100,但是排除5的倍数
for(int i= 1;i<=100;i++) {
//反向if !真->非(真)->假
if (i%5 == 0) {
continue;
}
System.out.println(i);
}
循环中的continue ->继续:停止[跳过]本次循环,重新继续下次循环
练习, 使用continue,输出1-100的奇数
int a=0;
for(int i= 1;i<=100;i++) {
if (i%2==0) {
continue;
}
System.out.println(i);
a++;
if(a == 5 ) {
break;
}
}
案例6:鸡兔同笼问题: 50个头,120个脚 多少鸡?多少兔?
for(int ji=0;ji<=50;ji++) {
int tu = 50-ji;
if(ji*2 + tu*4 == 120) {
System.out.println(ji);
System.out.println(tu);
}
}
```
有一只猴子捕了一些桃子,摘下的第一天,立即吃掉一半,不过瘾然后又吃了一个,以后每天都是如此[第二天吃掉了剩下的一半,不过瘾,有多吃了一个],到了第十天发现只有一颗桃子,问猴子捕了多少个桃子
```java
int sum=1;
int i=9;
while(i>=1){
sum=2*(sum+1);
i--;
}
System.out.println(sum);*/
并且只有三次机会,每次失败提示还有几次
for 3次,每次失败时,提示剩有几次机会1-> 3-1 2->3-2 3->3-3系统已锁定
Scanner scanner = new Scanner(System.in);
for(int i =1;i<=3;i++) {
System.out.println("请输入用户名:");
String username = scanner.next();
System.out.println("请输入密码:");
int pwd = scanner.nextInt();
if ("a".equals(username)&&pwd ==123) {
System.out.println("密码正确");
break;
}else {
if(i==3) {
System.out.println("密码输入错误三次,账号已冻结");
}else {
System.out.println("密码错误,请重试!!");
}
}
}
do…while
格式 :
* 初始表达式
*
* do{
* 循环体; -> 1,循环逻辑 2,更新表达式
* }while(布尔表达式);
*
* 执行流程:
* 1,初始化变量
* 2,直接来执行循环体
* 3,循环体执行完毕,判断布尔表达式,如果布尔表达式为真,继续执行循环体
* 4,如果为假,退出 do while循环
例题
输出1-10
int i = 1;
do {
// 1,循环逻辑
System.out.println(i);
// 2, 更新变量
i++;
}while(i<=10);
while 和 do while的区别
int i = 11;
do {
System.out.println(i);
i++;
}while(i <= 10);
do while 特点
- 先不看条件 , 直接执行一次,然后再判断条件
- 即使条件不成立,也可以执行一次
- while -> 先判断 ,再执行
- do while -> 先执行 , 再判断
- while 如果条件不成立,一次也不执行
- do while 无论条件是否成立,至少执行一次