java学习笔记2

这篇博客详细介绍了Java中的选择结构,包括if、if-else、if-else-if和switch,以及流程图的使用。同时,讲解了循环结构,如while、do-while和for循环,并给出了多个实际编程需求的示例。
摘要由CSDN通过智能技术生成

3 选择结构

3.1 if选择结构

3.1.1 基本if结构
  • 语法
if(条件){
	// 代码块
}
  • 执行流程

    当if条件为真,执行代码块,否则不执行代码块。

  • 代码

public class Demo1 {
   
  public static void main(String[] args) {
   
    // 需求: 张浩的考试成绩>90分,奖励一部Iphone6s
    Scanner sc = new Scanner(System.in);
    System.out.println("输入张浩的成绩:");
    double score = sc.nextDouble();
    if (score > 90) {
   
      System.out.println("奖励一部Iphone6s");
    }
    System.out.println("程序运行结束!");
  }
}
3.1.2 复杂条件的if
public class Demo2 {
   
	// 复杂条件的if语句
  public static void main(String[] args) {
   
    // 张浩Java成绩大于90分,并且音乐成绩大于80分时,或者Java成绩等于100分,
	// 音乐成绩大于70分时,老师奖励他,该怎么做呢
    Scanner sc = new Scanner(System.in);
    System.out.println("输入java成绩:");
    double scoreJava = sc.nextDouble();
    System.out.println("输入音乐成绩:");
    double scoreMusic = sc.nextDouble();
    boolean flag = (scoreJava>90&&scoreMusic>80)||(scoreJava==100&&scoreMusic>70);
    if (flag) {
   
      System.out.println("奖励iphone6s");
    }
    System.out.println("程序结束");
  }
}

3.2 流程图

  • 流程图是算法的图形化表示方法
  • 常用的流程图

3.2.1 顺序流程
  • 程序按照从上到下执行,形成的流程

3.2.2 选择流程
  • 通过条件判断形成的分支结构流程

3.2.3 if条件流程图
  • 代码

    public class Demo1 {
         
      public static void main(String[] args) {
         
        Scanner sc = new Scanner(System.in);
        System.out.println("输入张浩的成绩:");
        double score = sc.nextDouble();
        if (score > 90) {
         
          System.out.println("奖励一部Iphone6s");
        }
        System.out.println("程序运行结束!");
      }
    }
    
  • 流程图

3.3 if-else结构

  • 语法
if(条件){
	// if语句块
}else{
	// else语句块
}
  • 执行流程

    当条件为真时,执行if语句块;否则执行else语句块。

  • 代码

public class Demo3 {
   
  public static void main(String[] args) {
   
    // 输入java成绩,大于90分奖励iphone6s 否则蹲马步5分钟
    Scanner sc = new Scanner(System.in);
    System.out.println("Input your java score: ");
    double scoreJava = sc.nextDouble();
    if (scoreJava > 90) {
   
      System.out.println("搞的不错,奖励一部iphone6s!");
    } else {
   
      System.out.println("先蹲马步5分钟,继续努力!");
    }
    // String res = scoreJava > 90 ? "搞的不错,奖励一部iphone6s!" : "先蹲马步5分钟,继续努力!";
    // System.out.println(res);
  }
}
  • 流程图

3.4 if-else-if结构

  • 语法
if(条件1){
	// 语句1
}else if(条件2){
	// 语句2
}else if(条件3){
	// 语句3
}
...
else if(条件n){
	// 语句n
}else{
	// else语句
}
  • 执行流程

    当条件1为真,执行语句1,否则判断条件2

    当条件2为真,执行语句2,否则判断条件3

    当条件3为真,执行语句3,否则判断条件n

    当条件n为真,执行语句n,否则执行else语句

  • 代码

public class Demo4 {
   
  public static void main(String[] args) {
   
    Scanner sc = new Scanner(System.in);
    System.out.println("输入你的考试成绩:");
    double score = sc.nextDouble();
    if (score >= 80) {
   
      System.out.println("优秀");
    } else if (score >= 70) {
   
      System.out.println("良好");
    } else if (score >= 60) {
   
      System.out.println("中等");
    } else {
   
      System.out.println("差");
    }
  }
}

多重if的短路效应: 当某个条件为真时,其它的条件都不会再判断,哪怕其它的条件也为真

上面的代码中,如果score=90,score>=80为真,输出 ‘优秀’,其它条件即使为真不会执行。

  • 流程图

3.5 if嵌套

  • 在一个条件判断中还有其它的条件判断,这种结构称条件嵌套,条件可以在if或else中,可以无限层嵌套

  • 语法

    if(条件1) {
      if(条件2) {
        // 代码块1
      } else {
        // 代码块2
      }
    } else {
      // 代码块3
    }
    
  • 执行流程

    当条件1为假时,

    ​ 执行代码块3

    当条件1为真时,

    ​ 判断条件2,

    ​ 当条件2为真时,执行代码块1,否则执行代码块2

  • 代码

public class Demo5 {
   
  public static void main(String[] args) {
   
    // if条件嵌套,可以有多层,可以在if中,也可以在else
    Scanner sc = new Scanner(System.in);
    // score<10s 入围决赛,否则淘汰
    System.out.println("输入跑步成绩:");
    double score = sc.nextDouble();
    if (score >= 10) {
   
      // 淘汰
      System.out.println(score + "s成绩被淘汰");
    } else {
   
      // 进入决赛
      System.out.println(score + "s,恭喜进入决赛!");
      // 输入性别判断进入男子 还是 女子决赛
      System.out.println("输入性别(男/女):");
      String gender = sc.next();
      if (gender.equals("男")) {
   
        System.out.println(score + "s,恭喜进入男子组决赛!");
      } else if (gender.equals("女")) {
   
        System.out.println(score + "s,恭喜进入女子组决赛!");
      } else {
   
        System.out.println("把妖赶出去!");
      }
    }
  }
}

3.6 switch结构

  • switch结构主要是做等值判断的分支结构

  • 语法

    switch(表达式){
      case 常量1:{
        语句1;
        break;
      }
      case 常量2:{
        语句2;
        break;
      }
      ...
      case 常量n:{
        语句n;
        break;
      }
      default:{
        默认语句;
        break;
      }
    }
    case 常量的数据类型可以是: int short byte  char 枚举 String
    ca
  • 28
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值