逻辑控制

逻辑控制

1.顺序结构

代码的执行顺序和书写顺序是一致的,如果代码的书写顺序改变,则执行顺序也发生变化。

2.分支结构

2.1 if else语句

2.1.1
if(表达式){
语句块1
}else{
语句块2
}
如或表达式为真,则执行语句块1 ,否则,执行语句块2
2.1.2
if(表达式){
语句块1;
}
如果表达式为真,则执行语句块1
2.1.3
if(表达式1){
语句块1;
}else if(表达式2){
语句块2;
}else{
语句块3;
},
如果表达式1为真,执行语句块1,如果表达式2为真,执行表达式2,其他情况执行语句块3
表达式均为布尔表达式
在这里插入图片描述

2.2 switch语句

switch一定不能忘记break
不能做switch的参数类型:float double long boolean
能做参数的特殊类型:枚举,字符串
switch不能表达复杂的条件
switch虽然支持嵌套,但是很丑
局限性较大
在这里插入图片描述

3.循环结构

3.1 while循环

while(布尔表达式){
语句块;
}
如果表达式为真,那么就执行语句块

public class TestDemo {
    //求n的阶乘的和5!+4!=3!=2!=1!
    public static void main(String[] args) {
        int j = 1;
        int n = 5;
        int sum = 0;
        while (j < n) {
            int i = 1;
            int ret = 1;
            while (i <= j) {
                ret = ret * i;
                i++;
            }
            sum = sum + ret;
            j++;
        }
        System.out.println(sum);
    }
    public static void main3(String[] args) {
        //5! = 5*4*3*2*1
        //n!
        int i = 1;
        int n = 5;
        int ret = 1;
        while(i<=n){
            ret =ret *i;
            i++;
        }
        System.out.println(ret);
    }
    public static void main2(String[] args) {     //1-100加和
        int i = 1;
        int sum = 0;
        while (i<100){
            sum = sum+i;
            i++;
        }
        System.out.println("总数:"+sum);
        i = 1;
        int sumOdd = 0;
        while (i<= 100){
            sumOdd = sumOdd+i;
            i +=2;
        }
        System.out.println("奇数:"+sumOdd);
        i = 2;
        int sumEVE = 0;
        while (i <=100){
            sumEVE = sumEVE+i;
            i += 2;
        }
        System.out.println("偶数:"+sumEVE);

    }
    public static void main1(String[] args) {  //打印1-10的数字
        int i = 1;          //循环初始条件
        while(i <=10){      //判断条件不能永远为真就会死循环
            System.out.println(i);
            i = i+1;        //循环改变条件
        }
    }
}

3.2 break

break的功能是让循环提前结束
结束所有循环

//找到1-10第一个3的倍数
    public static void main5(String[] args) {
        int i = 1;
        while (i <= 10) {
            if (i % 3 == 0) {
                System.out.println(i);
                break;
            }
            i++;
        }
    }

3.3 continue

结束本趟循环

public class TestDemo {
    //找到1-100之间 既能被3整除,又能被5整除的数字
    public static void main(String[] args) {
        int i =1;
        while (i <= 100){
            if(i % 15 != 0){
                i++;    //不能省略 否则死循环
                continue;
            }
            System.out.println(i);
            i++;    //不能省略
        }
    }

3.4 for循环

for(表达式1;表达式2;表达式3{
}
表达式2必须为布尔表达式
执行顺序:表达式1;表达式2;语句块;表达式3

public class TestDemo {
    // 1-10的加和
    public static void main(String[] args) {
        int sum = 0;
        for(int i = 1;i <= 10;i++){
            sum +=i;
        }
        System.out.println(sum);
    }
//求5!
    public static void main(String[] args) {
        int ret = 1;
        for(int i = 1;i <= 5 ;i++){
            ret = ret*i;
        }
        System.out.println(ret);
    }

for循环嵌套

//求5!+4!+3!+2!+1!
    public static void main(String[] args) {
        int sum = 0;
        for (int j =1;j <= 5;j++) {
            int ret = 1;
            for (int i = 1; i <= j; i++) {
                ret = ret * i;
            }
            sum += ret;
        }
        System.out.println(sum);
    }

3.5 do while循环

do{
语句块;
}while();
至少会执行一次

4.输入输出结构

System.out.println(“换行”);
System.out.print(“不换行”);
System.out.printf("%d\n",10);

4.1输出到控制台

4.2从键盘输入

import java.util.Scanner;

public class TestDemo {
    public static void main(String[] args) {
         Scanner scan =new Scanner(System.in);
         //ctr+d
        while (scan.hasNextInt()){
            int n = scan.nextInt();
            System.out.println(n);
        }
    }
   

ctr+d结束循环

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值