Java 笔记(2)流程控制语句

顺序结构
“顺序结构”代表“先执行a,再执行b”的逻辑。
选择结构
“选择结构”代表“如果…,则…”的逻辑。比如,如果看到红灯,则停车;
  • if 单选择结构
if(条件){
	执行语句块
	}
  • if - else 双选择结构
if(条件){
	执行语句块1
	}else{
	执行语句块2
	}
  • if - else if - else 多选择结构
public class Test{
	public static void main(String[] args) {
        int result = (int) (100 * Math.random());  //随机生成一百以内的数
        System.out.print("成绩是" + result + ", 等级为");
        if (result < 60) {
            System.out.println("D");
        } else if (result < 70) {
            System.out.println("C");
        } else if (result < 90) {
            System.out.println("B");
        } else {
            System.out.println("A");
        }
    }
}
  • switch结构
public class Test{
	public static void main(String[] args) {
        int result = (int) (100 * Math.random());
        System.out.print("成绩是" + result + ", 等级为");
        switch(result/10){
       		case 1:
       		case 2:
       		case 3:
       		case 4:
       		case 5:
       			System.out.println("D");
       			break;
       		case 6:
       		case 7:
       			System.out.println("C");
       			break;
       		case 8:
       			System.out.println("B");
       			break;
       		case 9:
       		case 10:
       			System.out.println("A");
   				break;
		}
    }
}
循环结构
“循环结构”代表“如果…,则再继续…”的逻辑。比如,如果没找到喜欢的人,则再继续找。
  • for
for (初始表达式; 布尔表达式; 迭代因子) {
      循环体;
}
  • while 当条件表达式为True时反复执行{}内语句,直到不满足条件
while(布尔表达式){
	...
	}
  • do - while 先执行一遍语句再判断条件
do {
	...
     } while(布尔表达式) ;

while与do-while的区别,在布尔表达式的值为false时while的循环体一次也不执行,而do-while至少执行一次

public class Test {
    public static void main(String args[]) {
		//for嵌套循环实现九九乘法表
        for (int i = 1; i < 10; i++) { // i是一个乘数
            for (int j = 1; j <= i; j++) { // j是另一个乘数
                System.out.print(j + "*" + i + "=" + (i * j < 10 ? (" " + i * j) : i * j) + "  ");
            }
            System.out.println();
        }
    }
}

运行图片描述

break 和 continue
  • break 结束循环
  • continue 跳过当前循环,执行下一循环
递归
  • 基本思想:“自己调用自己”
  • 优点:简单的程序解决复杂问题
  • 缺点:既耗时间又号内存
  • 递归结构
    • 递归头——递归结束的条件,无则陷入死循环
    • 递归体——什么时候需要调用自身方法
/*递归:计算n!*/
public class Test {
    public static void main(String[] args) {
        long d1 = System.currentTimeMillis(); 		 //记录递归前时间
        System.out.printf("%d阶乘的结果:%s%n", 10, factorial(10));
        long d2 = System.currentTimeMillis(); 		 //记录递归后时间
        System.out.printf("递归费时:%s%n", d2-d1);  //计算耗时
    }
    /** 求阶乘的方法*/
    static long  factorial(int n){
        if(n==1){//递归头
            return 1;
        }else{//递归体
            return n*factorial(n-1);//n! = n * (n-1)!
        }
    }
}

深入了解递归点击跳转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值