欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java学习day04

程序员文章站 2022-09-17 09:01:52
选择结构与分支选择结构,根据已知条件进行逻辑判断,满足条件后执行相应的操作。If选择结构语法:if(布尔表达式){ // 代码块 }执行流程:对布尔表达式进行判断结果为true,则先执行代码块,在执行后续代码结果为false,则跳过代码块,直接执行后续代码。If else选择结构语法:if(布尔表达式){ // 代码块1} else { // 代码块2 }执行流程:布尔表达式进行判断结果为true,则先执行代码块1,再退出整个结构,执行后续代码结果为fals.....

选择结构与分支

选择结构,根据已知条件进行逻辑判断,满足条件后执行相应的操作。

  1. If选择结构

语法:if(布尔表达式){ // 代码块  }

执行流程:

  1. 对布尔表达式进行判断
  2. 结果为true,则先执行代码块,在执行后续代码
  3. 结果为false,则跳过代码块,直接执行后续代码。
  1. If else选择结构

语法:if(布尔表达式){ // 代码块1} else {  // 代码块2 }

执行流程:

  1. 布尔表达式进行判断
  2. 结果为true,则先执行代码块1,再退出整个结构,执行后续代码
  3. 结果为false,则先执行代码块2,再退出整个结构,执行后续代码。

int a1 = 10;

         if(a1 == 20){

         System.out.println(a1);

         } else {

         System.out.println("a1是不满足条件的");

         }

  1. 多重if选择结构

语法:if(布尔表达式1) { // 代码块1 } else if(布尔表达式2) { //代码块2 } else if(布尔表达式3) { // 代码块3} else { // 代码块4}

执行流程:

  1. 表达式1为true,则执行代码块1,再退出整个结构
  2. 表达式2为true,则执行代码块2,再退出整个结构
  3. 表达式3为true,则执行代码块3,再退出整个结构
  4. 以上表达式为false,则执行代码块4,再退出整个结构

注意:相互排斥,有一个为true,其他均不再执行,适用区间判断,弹药保证条件顺序(从大到小,从小到大)。

特点:一定有一个语句被执行,即一定有一个结果被输出!

//多重if条件语句

        int score = 30;

        if(score == 100){

        System.out.println("恭喜,满分");

        } else if(score >= 90) {

        System.out.println("优秀");

        }else if(score >= 70) {

        System.out.println("良");

        }else if(score >= 60) {

        System.out.println("合格");

        }else {

        System.out.println("很遗憾,不及格");

        }

  1. 嵌套if选择结构

语法:if(外层表达式) { if (内层表达式) { // 内层代码块 } else { // 内层代码块2 } else { // 外层代码块 }

执行流程:当外层条件满足时,在判断内层条件。

注意:一个选择结构中,可嵌套另外一个选择结构;嵌套格式正确的情况下,支持任意组合。

//嵌套if条件语句

        int a1 = 10;

        if(a1 != 20){

               if(a1 == 10){

                      System.out.println("a1是目标对象");

               }

        } else {

               System.out.println("a1是不满足条件的");

        }

  1. 分支结构

语法:switch(变量 | 表达式 ){case 值1: 逻辑代码1; case  值2: 逻辑代码2;  case  值n:  逻辑代码n;  default: 未满足时的逻辑代码; }

!!!!支持数值类型数据

执行流程:

  1. 如果变量的值等于值1,则执行逻辑代码1
  2. 如果变量的值等于值2,则执行逻辑代码2
  3. 如果变量的值等于值n,则执行逻辑代码n
  4. 如果变量的值没有匹配的case值,则执行default中的逻辑代码

int a1 = 9;

        switch(a1){

               case 1:

                      System.out.println();

                      break; // 跳出代码块

               case 9:

                      System.out.println("命中");

                      break;

               default:

                      System.out.println("无法选中");

        }

break

关键字作用:跳出当前代码块

注意:break代码下面不能写代码

变量

局部变量

概念:针对与当前代码块中有效变量,也就是说在代码块中定义的变量,都是局部变量,仅仅针对于当前的代码时有效的。

作用域:当前类文件(父级代码块的局部变量子级代码块中可以使用,而子级中代码块声明变量父类代码块)

成员变量

概念:是针对与这个文件都是有效的

作用域:当前整个文件

循环结构

while循环

语法:while(布尔表达式){ // 逻辑代码(循环操作) }

        int a1 = 10;

        while(a1 <= 15){

               System.out.println("a1");

               a1++;

              }

特点:首次即有入口条件,先判断、再执行,适用于循环数次明确的情况。

do while循环

语法:do { // 逻辑代码 } while (布尔表达式) ;

int a1 = 10;

        do{

               System.out.println("a1:"+a1);

               a1++;

        }while(a1 <= 15);

特点: 首次没有入口条件,先执行,再判断。适用于循环次数不明确的情况。

for循环

for(初始部分 ; 循环条件 ;迭代部分) { // 循环操作 }

 

特点:首次既有入口条件,先判断、再执行,适用于循环次数明确的情况。

 

嵌套循环

For ( ) { for ( ) { } }  外层控制行数,内层控制列数

Break关键字是用来跳出当前的循环体,continue关键字是跳过当前循环

 

案例1:在控制台输入一个n,计算n的阶乘,在控制台录入5名同学的分数,并计算平均分。

import java.util.Scanner;

public class TestScanner {

   public static void main(String[] args) {

      Scanner input = new Scanner(System.in);

      int n = input.nextInt();

      int avg = 1;

      int avg1 = 1;

      int sum = 0;

      for (int i = 1; i <= n; i++) {

          avg *= i;

      }

      for (int j = 1; j <= 5; j++) {

          System.out.println("请输入第" + j + "位同学的分数");

          int scort = input.nextInt();

          sum += scort;

      }

      avg1 = sum / 5;

      System.out.println(n + "阶乘" + avg);

      System.out.println("五位同学平均分:" + avg1);

   }

}

案例2:打印一个等腰三角形

Java学习day04

import java.util.Scanner;

public class TestTriangleUpSimple {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);
        int i = input.nextInt();
        for (int j = 0; j < i; j++) { // 外层控制循环几层
            // 打印左侧空白三角形
            for (int j2 = j; j2 < i-1; j2++) { // 控制循环每层打印的次数
                System.out.print(" ");
            }
            // 打印右侧*号
            for (int j2 = 0; j2 < 2 * j + 1; j2++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }

}
 

本文地址:https://blog.csdn.net/weixin_42704812/article/details/107700679