循环与分支结构

百知教育学习 - 胡鑫喆 - 循环与分支结构

一、if选择结构与分支结构

  • if
    • 语法
      if布尔表达式) {
      代码块
      }
    • 在java中if的条件中只能写布尔表达 式,不能写整数表达式
    • 代码
      package day3;
      import java.util.Scanner;
      public class TestIf{
       public static void main(String[] args){
        //用户请输入一个整数
        System.out.print("请输入一个整数,谢谢:");
        Scanner s = new Scanner(System.in);
        int n = s.nextInt();
        if(n % 2 == 0){
         System.out.println("偶数");
        }
       }
      }
  • if esle
    • 语法
      if(布尔表达式){
      //代码块1
      }else{
      //代码块2
      }
      后续代码…
    • 代码
      package day3;
      import java.util.Scanner;
      public class TestIfElse{
       public static void main(String[] args){
        //用户请输入一个整数
        System.out.print("请输入一个整数,谢谢:");
        Scanner s = new Scanner(System.in);
        int a = s.nextInt();
        if(n<0){
         System.out.println("数据错误")
        }
        if(n>=0 && n<=2){
         System.out.println("婴儿");
        }
        else if(n<=12){
         System.out.println("儿童");
        }
        else if(n<=40){
         System.out.println("青年");
        }
        else if(n<=60){
         System.out.println("中年");
        }
        else{
         System.out.println("老年");
        }
       }
      }
    • 多重if选择结构:
      if , else if ,else.
  • 嵌套if选择结构:
    与C语言类似。

二、switch分支结构

  • 语法
  • switch(int表达式){
    case 值1:代码块1
    case 值2:代码块2
    default: 代码块
    }
  • 注意:int表达式需自动提升为int类型:可以为byte,short,int,char。 又新增了String类型
  • 代码
    package day3;
    public class TestSwitch{
     public static void main(String[] args) {
      System.out.print("请输入一个整数:");
      java.util.Scanner s = new java.util.Scanner(System.in);
      int a = s.nextInt();
      switch(a) {
       case 0:
       case 1:System.out.println(1);break;
       case 2:System.out.println(2);break;
       case 3:System.out.println(3);break;
       default:System.out.println("Others");
      }
     } 
    }

三、while循环

  • 语法
  • while(布尔表达式){
    //逻辑代码(循环操作)
    }
  • 代码
    package day3;
    public class TestLoop{
     public static void main(String[] args) {
      int i = 1;
      int result = 0;
      while(i <= 100) {
       result += i;
       i++;
      }
      System.out.println(result);
     }
    }

四、do while循环

  • 语法
  • do{
    //逻辑代码 (循环操作)
    }while(布尔表达式);
  • 代码
    package day3;
    public class TestLoop{
     public static void main(String[] args) {
      int i = 1;
      int result = 0;
      do {
       result += i;
       i++;
      }while(i<=100);
      System.out.println(result);
     }
    }

五、for循环

  • 语法
    • for(初始部分;循环条件;迭代部分){
      //循环操作
      }
  • 注意
    • 先执行初始部分——循环中只执行一次;再判断条件是否满足;若满足, 执行循环操作;最后执行迭代部分
    • 不写循环条件时:默认为true,为死循环。
    • while, do while 不确定循环for 确定循环 —— 不知道或知道循环次数
  • 代码
    package day3;
    public class TestLoop{
     public static void main(String[] args){
      int result = 0;
      for(int i = 1; i <= 100; i++){
       result += i;
      }
      System.out.println(result);
     }
    }

六、continue、break

  • 语法
    • loop: for(int i=0;i<10;i++){
      for(int j=0;j<5;j++){
      //循环操作
      break loop;
      }
      }
    • 可以在for 循环 前面 起名 字(java特有),以方便for循环中continue 和 break 使用
  • 代码
    package day3;
    public class TestBreakContinue{
     public static void main(String[] args) {
      /*
      for(int i = 1 ; i <= 10 ; i++) {
       if (i == 9) continue;
       System.out.println("Hello World "+i);
      }*/
      
      loop:for(int i = 1; i <= 5; i++) {
       for(int j = 1; j <=4; j++) {
        if(i == 4 && j == 3) break loop;
        System.out.print("i="+i+"  j="+j+"\t");
       }
       System.out.println();
      }
     }
    }

七、局部变量

  • 概念
    • 声明在函数内部的变量,必须先赋值再使用。
  • 注意
    • 命名冲突

八、循环的思想方法

  1. 穷举
    实例: 百钱买百鸡——公鸡三元一只,母鸡两元一只,小鸡一元三只。用一百元买了一百只鸡,问各多少只?
  2. 代码优化
    实例: 百钱买百鸡
  • 代码
    package day3;
    public class Exc1{
     public static void main(String[] args) {
      for(int a = 0; a <= 33; a++) {  // a表示公鸡的数量
       int maxb = (100-3*a)/2;
       for(int b = 0; b <= maxb; b++) {  // b表示母鸡的数量
        int c = 100 - a - b;  //   c表示小鸡的数量
        if(c % 3 != 0) continue;
        int m = a * 3 + b * 2 + c / 3;
        if(m == 100)
         System.out.println(a + "   " + b + "   " + c);
       }
      }
     }
    }

八、输出几何形状

  • 先找出规律,再写代码
  • 代码:输出等腰三角形
    package day3;
    import java.util.*;
    public class Exc2{
     public static void main(String[] args) {
      Scanner s = new Scanner(System.in);
      int n = s.nextInt();
      for(int i = 1; i <= n; i++) {
       //打印n-1个空格
       for(int j = 0; j < n-i; j++) {
        System.out.print(' ');
       }
       //打印2*i-1个*
       for(int j = 0; j < 2*i-1; j++) {
        System.out.print('*');
       }
       //换行
       System.out.println();
      }
     }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值