栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java基础知识【第4期】--程序逻辑结构

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java基础知识【第4期】--程序逻辑结构

导读:

本篇是JAVA基础系列的第四篇,主要总结了程序的逻辑结构,也就是顺序结构、分支结构和循环结构。这三种结构在日常代码编写过程中是离不开的。而一个程序猿是否是老手,从逻辑结构的运用上就可以直观的看出来。

1.程序的逻辑结构

程序开发语言中,一般都包含顺序、分支、循环三种结构。这三种结构构成了程序的逻辑框架。(所有编程语言中都适用)

2.顺序结构
  • JAVA的基本结构就是顺序结构,除非特别指明,否则就安装顺序一句一句执行。

  • 顺序结构是最简单的算法结构

  • 语句与语句之间,框与框之间是从上到下的顺序进行,它是由若干个依次执行的处理步骤组成的,是任何一个算法都离不开的一种基本算法结构。

3.分支结构(选择结构)

程序在运行中,根据不同的条件执行不同的语句。

分支结构又可以分为两种:

  1. if分支结构

  2. switch分支结构

4.if分支结构

if分支结构有三种情况:

  • if单选择结构:满足条件时执行语句,不满足则不执行(1个分支)

  • if..else结构:满足条件执行语句,不满足则执行另外的语句(两个分支)

  • if..else if结构:多个条件,满足不同条件执行不同语句(多个分支)

5.if单选择结构

语法:

 if(条件表达式){
   语句块;
 }

图示:

很多时候需要去判断一个东西是否可行,然后才会去执行,这样的过程在程序中 用if语句来表示。

示例代码:

 //判断一个数子是否是偶数
 public class Test {
     public static void main(String[] args){
         int a = 4;
         if(a%2==0){
             System.out.println(a+"是偶数");
        }
         System.out.println("结束");
    }
 }

6.if双选择结构(if..else结构)

语法:

 if(条件表达式){
     语句块1;
 }else{
     语句块2;
 }

图示:

判断一个条件是否可行,可行就执行语句1的内容,否则执行语句2的内容

示例代码:

 //判断一个整数是不是偶数,并输出结果
 public class Test {
     public static void main(String[] args){
         int a = 4;
         if(a%2==0){
             System.out.println(a+"是偶数");
        }else{
             System.out.println(a+"不是偶数");
        }
         System.out.println("结束");
    }
 
 }
7.if多选择结构(if...else if结构)

语法:

 if(条件表达式1){
     语句块1;
 }else if(条件表达式2){
     语句块2;
 }else if(条件表达式3){
     语句块3;
 }

图示:

条件判断时存在多种备选情况

示例代码:

 //判断一个数是正数、负数或是0并输出结果
 public class Test {
     public static void main(String[] args){
         int a = 4;
         if(a>0){
             System.out.println(a+"是正数");
        }else if(a<0){
             System.out.println(a+"是负数");
        }else if(a==0){
             System.out.println(a+"是0");
        }
         System.out.println("结束");
    }
 }
8.switch分支

一种特殊的分支结构,switch case 语句判断一个变量与一系列值中某个值是否相等(等值判断),每个值称为一个分支。效率比if多选择结构要高。

语法:

 switch(判断整数){
     case 1:
         语句块1;
         break;
     case 2:
         语句块2;
         break;
     case 3:
         语句块3;
         break;
     default: //当所有条件都不满足的时候
         语句块4;
         break;
 }
  1. 注意和break配合使用,执行完相应的语句后则退出switch块,不执行下面的语句

  2. 如果不加break,则会在满足条件后,将该条件下面的其他条件的语句块一起按顺序输出,直到遇到break或}停止

  3. default选项可以不写,也不是必须放在后一个(建议放最后),默认匹配完所有条件后不匹配的情况下才会执行default语句,default可以不写break。

witch语句中的变量类型可以是:

  • byte 、 short 、 int 、 char。

  • 从1.7开始,switch支持字符串String类型。

  • 同时case标签必须为字符串常量或者字面量。

示例代码:

 //轮流值日
 public class Test {
     public static void main(String[] args){
         int num = 1;
         switch(num){
             case 1:
                 System.out.println("星期1:小明值日!");
                 break;
             case 2:
                 System.out.println("星期2:小红值日!");
                 break;
             case 3:
                 System.out.println("星期3:小旭值日!");
                 break;
             case 4:
                 System.out.println("星期4:小爱值日!");
                 break;
             case 5:
                 System.out.println("星期5:小晴值日!");
                 break;
             default:
                 System.out.println("双休期间不值日!");
                 break;//default中的break可以不加
        }
    }
 }
 public class Test1 {
     public static void main(String[] args){
         int num = 1;
         switch(num){
             //1、2、3时都执行星期3:小旭值日!注意前三个case没有break
             case 1:
             case 2:
             case 3:
                 System.out.println("星期3:小旭值日!");
                 break;
             case 4:
                 System.out.println("星期4:小爱值日!");
                 break;
             case 5:
                 System.out.println("星期5:小晴值日!");
                 break;
             default:
                 System.out.println("双休期间不值日!");
                 break;//default中的break可以不加
        }
    }
 }
9.循环结构

循环结构指在满足循环条件的情况下,一直执行,直到循环条件不满足为止,循环条件大致可分为三种:

  1. while循环

  2. do-while循环

  3. for循环

循环结构中有循环变量、循环条件、循环体。

10.while循环

语法:

 循环变量声明;
 while(循环条件) {
     循环语句;
     循环变量改变;
 }

当循环条件为真的时候,执行循环语句,否则跳出循环,注:循环条件只能是布尔表达式

示例代码:

 //打印1到5的数字
 public class Test {
     public static void main(String[] args) {
         int a = 1;//声明循环变量
         while(a<=5) {//判断循环条件
             System.out.println(a);
             a++;//循环变量改变 一般是++或-- 步长是1
        }
    }
 }
  • 只要循环条件为true,循环就会一致执行下去。

  • 大多数情况是会让循环停止下来,我们需要一个让表达式失效的方式来结束循环

  • 少部分情况需要循环一直执行

  • 循环条件一直为true就会造成无限循环(死循环),正常业务编程中应该 尽量避免死循环,会影响程序性能或者造成程序卡死崩溃

11.do-while循环

语法:

 循环变量声明;
 do {
     循环语句;
     循环变量改变;
 }while(循环条件)//先执行一次循环语句,再判定循环条件

示例代码:

 //求1-10数字之和
 public class Test {
     public static void main(String[] args) {
         int sum = 0;
         int num = 1;
         do {
             sum+=num;
             num++;
        } while (num <= 10);
    }
 }
  • 对于while语句而言,如果不满足条件,则不能进入循环。但是有时候即使不满足条件,也至少执行一次的程序。

  • do..while循环和while循环相似,不同的是,do..while循环至少会执行一次。

  • while和do..while的区别:

    • while先判断后执行,do..while是先执行后判断

    • do..while总是保证循环会被至少执行一次。

12.for循环

语法:

 for(表达式1;表达式2;表达式3) {
 循环体;
 }

执行顺序:先执行表达式1,且只执行一次,也叫做循环的初始条件,然后判断表达式2是否为真,然后再循环体,第四步,执行表达式3;一直循环,直到为假。

表达式1代表循环变量声明

表达式2代表循环条件

表达式3代表循环变量改变

示例代码:

 //打印1到10之间的数字
 public class Test {
     public static void main(String[] args) {
         for (int i = 1; i <= 10; i++) { //i可以定义到外部,i++也可以放到下面
             System.out.println(i);
        }
    }
 }

在Java5中引入了一种主要用于数组或集合的增强型for循环。

示例代码:

 int[] nums = {1,2,3,4};
 //对数组或者集合可以使用增强for循环
 //int num 声明新的局部变量,该变量必须和数组元素的类型匹配,其作用域限定在循环语句块
 for(int num:nums){
      System.out.println(num);
 }
13.跳出循环结束循环

在循环执行过程中如果想结束循环或者跳出循环可以使用break关键字或者continue关键字

  1. break

    break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强制退出循环,不执行循环中剩余的语句,(break也可以在switch循环中使用)

  2. continue

    continue语句用在循环语句体中,用于终止某次循环过程,即是跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/886137.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号