java入门基础语法--循环(超全)

 前言

Hello,大家好!很开心与你们在这里相遇,我是一个喜欢文字、喜欢有趣的灵魂、喜欢探索一切有趣事物的女孩,想与你们共同学习、探索关于IT的相关知识,希望我们可以一路陪伴~

1. if语句

1.1 格式一

 if (关系表达式) {
    语句体;    
}

  • 执行流程

        ①首先计算关系表达式的值

        ②如果关系表达式的值为true就执行语句体

        ③如果关系表达式的值为false就不执行语句体

        ④继续执行后面的语句内容

  • 代码示例:
public class IfDemo {
	public static void main(String[] args) {
		System.out.println("开始");	
		//定义两个变量
		int a = 10;
		int b = 20;	
		//需求:判断a和b的值是否相等,如果相等,就在控制台输出:a等于b
		if(a == b) {
			System.out.println("a等于b");
		}		
		//需求:判断a和c的值是否相等,如果相等,就在控制台输出:a等于c
		int c = 10;
		if(a == c) {
			System.out.println("a等于c");
		}		
		System.out.println("结束");
	}
}

1.2 格式二 

 if (关系表达式) {
    语句体1;    
} else {
    语句体2;    
}

  • 执行流程

        ①首先计算关系表达式的值

        ②如果关系表达式的值为true就执行语句体1

        ③如果关系表达式的值为false就执行语句体2

        ④继续执行后面的语句内容

  • 代码示例:
public class IfDemo02 {
	public static void main(String[] args) {
		System.out.println("开始");		
		//定义两个变量
		int a = 10;
		int b = 20;
		//需求:判断a是否大于b,如果是,在控制台输出:a的值大于b,否则,在控制台输出:a的值不大于b
		if(a > b) {
			System.out.println("a的值大于b");
		} else {
			System.out.println("a的值不大于b");
		}		
		System.out.println("结束");
	}
}

1.3 格式三

 if (关系表达式1) {
    语句体1;    
} else if (关系表达式2) {
    语句体2;    


else {
    语句体n+1;
}

  • 执行流程

        ①首先计算关系表达式1的值

        ②如果值为true就执行语句体1;如果值为false就计算关系表达式2的值

        ③如果值为true就执行语句体2;如果值为false就计算关系表达式3的值

        ④…

        ⑤如果没有任何关系表达式为true,就执行语句体n+1。

  • 代码示例:
import java.util.Scanner;
public class IfDemo03 {
	public static void main(String[] args) {
		System.out.println("开始");
		// 需求:键盘录入一个星期数(1,2,...7),输出对应的星期一,星期二,...星期日
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个星期数(1-7):");
		int week = sc.nextInt();
		if(week == 1) {
			System.out.println("星期一");
		} else if(week == 2) {
			System.out.println("星期二");
		} else if(week == 3) {
			System.out.println("星期三");
		} else if(week == 4) {
			System.out.println("星期四");
		} else if(week == 5) {
			System.out.println("星期五");
		} else if(week == 6) {
			System.out.println("星期六");
		} else if(week ==7){
			System.out.println("星期日");
		}else{
            System.out.println("你个二x,我们只有星期一到星期日,请回到地球!!!!");
        }	
		
	}
}

2. switch语句

  • 语句格式
switch (表达式|变量) { //整型(byte ,short ,int) 字符型(char)  1.7+ String 枚举        
    case 值1:
        语句体1;
        break;      //跳出,当前匹配项;
    case 值2:
        语句体2;
        break;
    ...
    default:
        语句体n+1;
        break;
}
注意:case 后面常量应该各不相同
    break 可以省略,如果省略穿透case运行,直到break才会结束switch
    default 可以省略,位置任意摆放, 没有匹配情形,才去执行default中代码
  • 执行流程
  • 首先计算出表达式的值

  • 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。

  • 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

案例--春夏秋冬

public class Demo1 {
    public static void main(String[] args) {
        //键盘录入月份数据,使用变量接收
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个月份:");
        int month = sc.nextInt();
        //case穿透  某些情形执行语句是一样的 
        switch(month) {
            case 1:
            case 2:
            case 12:
                System.out.println("冬季");
                break;
            case 3:
            case 4:
            case 5:
                System.out.println("春季");
                break;
            case 6:
            case 7:
            case 8:
                System.out.println("夏季");
                break;
            case 9:
            case 10:
            case 11:
                System.out.println("秋季");
                break;
            default:
                System.out.println("你输入的月份有误");
        }
    }
}

3. for循环

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

  •  for循环结构

for (初始化语句;条件判断语句;条件控制语句) {
    循环体语句; //重复执行的代码
}

格式解释:

  • 初始化语句: 用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样

  • 条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去

  • 循环体语句: 用于表示循环反复执行的内容,简单说就是循环反复执行的事情

  • 条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去

 

  • 执行流程

①执行初始化语句
②执行条件判断语句,看其结果是true还是false
       如果是false,循环结束
       如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续

  •  案例--偶数和
public class ForTest03 {
    public static void main(String[] args) {
		//求和的最终结果必须保存起来,需要定义一个变量,用于保存求和的结果,初始值为0
		int sum = 0;
		//对1-100的数据求和与1-5的数据求和几乎完全一样,仅仅是结束条件不同
		for(int i=1; i<=100; i++) {
			//对1-100的偶数求和,需要对求和操作添加限制条件,判断是否是偶数
			if(i%2 == 0) {
				sum += i;
			}
		}
		//当循环执行完毕时,将最终数据打印出来
		System.out.println("1-100之间的偶数和是:" + sum);
    }
}

 4. while循环

  • 语法结构

 初始化语句;
while (条件判断语句) {
    循环体语句;
    条件控制语句(循环变量更新);
}

  •  执行流程

①执行初始化语句
②执行条件判断语句,看其结果是true还是false
     如果是false,循环结束
     如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续

  •  案例实现

需求:世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度?

代码实现:

public class WhileTest {
    public static void main(String[] args) {
		//定义一个计数器,初始值为0
		int count = 0;        
		//定义纸张厚度
		double paper = 0.1;        
		//定义珠穆朗玛峰的高度
		int zf = 8844430;        
		//因为要反复折叠,所以要使用循环,但是不知道折叠多少次,这种情况下更适合使用while循环
		//折叠的过程中当纸张厚度大于珠峰就停止了,因此继续执行的要求是纸张厚度小于珠峰高度
		while(paper <= zf) {
			//循环的执行过程中每次纸张折叠,纸张的厚度要加倍
			paper *= 2;            
			//在循环中执行累加,对应折叠了多少次
			count++;
		}
		//打印计数器的值
		System.out.println("需要折叠:" + count + "次");
    }
}

 5. do...while循环

  • 语法结构

 初始化语句;
do {
    循环体语句;
    条件控制语句;
}while(条件判断语句); 

  • 执行流程

① 执行初始化语句
② 执行循环体语句
③ 执行条件控制语句
④ 执行条件判断语句,看其结果是true还是false
    如果是false,循环结束
    如果是true,继续执行
⑤ 回到②继续

  • 代码示例:
public class DoWhileDemo {
    public static void main(String[] args) {
        //需求:在控制台输出5次"HelloWorld"
        
		//do...while循环实现
		int j = 1;
		do {
			System.out.println("HelloWorld");
			j++;
		}while(j<=5);
    }
}

 6.三种循环区别

  • for、while和do...while区别
  • for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)。

  • do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)至少执行一次。

  • for循环与while的区别
  • 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了。

  • 条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用。

  • for循环一般用在确定一个范围的场景, while循环一种不确定的范围的场景。

中断语句--break

跳转控制语句--continue

跳转控制语句--return 

for(int x = 0; x < 10; x++){
    if(x == 3){
        //跳出当前(本次)循环,继续下次循环
        continue;
    }
    System.out.println(x);
}
//break之后这个句话是可以打印出来的
 System.out.println("over");
for(int x = 1; x < 7; x++){
    if(x == 3){       
        return;   //return 其实它的作用不是结束循环的,而是结束方法的。
    }
    System.out.println(x);
}
//return之后这个句话就不会直接输出的
 System.out.println("over");

7. 循环嵌套

循环嵌套,并不是新的保留字,而是一种结构 ( 其实就是把多个循环扣在一起... )。do... while、while、for循环均可作为内层或外层循环,建议两层,不要超过三层。

可以这么理解,内层循环作为外层循环的循环体。

  • 只有当内层循环执行完毕,才可以执行外层循环。

  • 案例--打印九九乘法表

  public class TestJJ{
  	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 + " = " + (i*j) +"\t");
  			}
  			System.out.println();
  		}
  	}
  }

 星星发亮是为了让每一个人有一天都能找到属于自己的星星~ 希望你今天很开心~

  • 26
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆呆不呆~

你的鼓励是我最开心的事情~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值