当前位置: 首页 > news >正文

入门Java编程的知识点—>程序结构(day04)

  • 重点掌握程序结构之顺序结构是什么?如何使用以及特点?
  • 重点掌握程序结构之分支结构是什么?分别有哪些?如何使用以及特点?
  • 重点掌握程序结构之循环结构是什么?分别有哪些?如何使用以及特点?

实现程序代码时,任何的复杂业务逻辑都可以用这三种结构来实现。

顺序结构:代码逐语句顺序执行,每句代码都执行。

分支结构:有条件执行某个语句,并非代码都执行。

循环结构:有条件循环某个语句,并非代码都循环。


程序结构之分支结构
例如:						购物满500 打 8折  ----- 条件:购物满500  -----满足才能打8折  		 --- 单路分支购物满500 打 8折 不满打9折 ------条件:购物满500  -----满足打8折		--- 双路分支-----不满足打9折
1.单路分支:当有一个条件,条件满足 就执行对应的逻辑代码时.
/*** 单路分支的使用演示类:*/
public class IfDemo {public static void main(String[] args) {/** 单路分支的语法结构:*  if(boolean){*      //当前boolean为true时,执行的代码块*  }*  执行过程:*      程序遇到if 首先 判断if小括号中的条件是否成立*      若成立 则执行 成立所执行的代码块*      若不成立 程序跳过代码块 继续向下执行....*///购物金额 满 500 打 8折Scanner s = new Scanner(System.in);System.out.println("请输入购物金额,回车即可");double price = s.nextDouble();//金额 s.nextDouble(); 接收用户输入的double类型的数据if (price >= 500) { //if直译 如果的意思, 如果金额 大于等于 500price *= 0.8; //打8折System.out.println("打完8折后,应付:" + price);}System.out.println("已付款金额:" + price);}}
2.双路分支:当有一个条件,条件满足 就执行满足对应的逻辑代码,条件不满足 走不满足的逻辑时.
/*** 双路分支的使用演示类:*/
public class IfElseDemo {public static void main(String[] args) {/** 双路分支的语法结构:*  if(boolean){*      条件成立所执行的代码块*  }else{       //否则*      条件不成立所执行的代码块*  }* 执行过程:*         程序遇到if 选去判断 小括号中的条件是否成立*         若成立 则执行 条件成立所执行的代码块*         若不成立 则执行 条件不成立的代码块*         程序继续向下执行.....*///购物金额 满 500 打8折  不满  打9折double price = 400;if (price >= 500) {//如果price 大于等于 500price *= 0.8;System.out.println("打完8折后,应付:" + price);} else { //否则 上述条件不成立所执行...price *= 0.9;System.out.println("打完9折后,应付:" + price);}System.out.println("已付款:" + price);}
}
3.多路分支:当对一份数据有多种的判定条件时,使用多路分支。
/*** 多路分支的使用演示类:*/
public class IfElseIfDemo {public static void main(String[] args) {/** 多路分支的语法结构:*  if(条件1){*      条件1 成立所执行的代码块*  }else if(条件2){*      条件2 成立所执行的代码块*  }else if(条件3){*      条件3 成立所执行的代码块*  } .......*   执行过程:*      先去判断执行第一个if 判断条件1 ,若成立则执行条件1所对应的代码块*      若条件1不成立  程序才判断条件2 ,若成立则执行条件2所对应的代码块*      若条件2不成立  程序才判断条件3 ,若成立则执行条件3所对应的代码块*      .........*///当对一份数据有多种的判定条件时,使用多路分支。/**需求:根据用户输入的分数,来判断用户的成绩等级。*    A. 分数 大于等于 90       输出成绩优秀*    B. 分数 小于90并且大于等于80  输出成绩良好*    C. 分数 小于80并且大于等于70  输出成绩一般*    D. 分数 小于70并且大于等于60  输出成绩及格*    E. 分数  小于60          输出不合格*/Scanner s = new Scanner(System.in);System.out.println("请输入分数成绩将判断成绩等级");int score = s.nextInt();//接收用户输入的整数类型的分数 赋值给 score变量if (score > 100 || score < 0) { //分数不合法的判断 如果分数大于100 或者分数小于0System.out.println("输入分数有误....程序不再进行判断");} else if (score >= 90) {//如果分数大于等于90的话System.out.println("优秀");} else if (score >= 80) {//如果分数大于等于80的话System.out.println("良好");} else if (score >= 70) {//如果分数大于等于70的话System.out.println("一般");} else if(score >= 60){//如果分数大于等于60的话System.out.println("及格");}else{ //否则  执行到这里一定不及格System.out.println("不及格,进厂上班!!");}System.out.println("继续执行代码....");}
}
程序结构之循环结构

循环:字面意思指的就是重复某段逻辑代码, 反复执行的过程称之为循环。

循环三要素:1.循环变量的初始化 2.基于循环变量的一个条件 3.循环变量改变(朝着目标去改变)

Java循环最常用的则是for循环.
for循环(最常用)

关键字: continue 若程序遇到continue 则跳过当次循环 ,直接执行下次的循环.

关键字: break 在循环中若遇到break 则退出循环.

 /*** for 循环的使用演示类:*/public class ForDemo {public static void main(String[] args) {/** for 循环的语法演示:* 三要素:①循环变量的初始化 ②基于循环变量的一个条件  ③循环变量改变*          ①       ②      ③*  for(int i = 0; i < 3 ; i++){*      ④ 循环体*  }*  执行过程:*          先做  ①       ②(若满足)     ④*          再做  ③       ②(若满足)     ④ ...... ③       ②(若满足)     ④*          如果执行到②(不满足)  循环结束。*///        for (int i = 0; i < 3; i++) {//            System.out.println("666");//        }// 关键字: continue  若程序遇到continue  则跳过当次循环 ,直接执行下次的循环。for (int i = 1; i <= 10; i++) {if (i % 2 == 0) { //如果i除以2的余数 为 0System.out.println(i + " :是偶数");continue;//若执行到这一行 直接跳过下面代码 进入下次循环}System.out.println(i + " :是奇数");}// 关键字: break  在循环中若遇到break 则退出循环for (int i = 1; i <= 10; i++) {if (i > 5) {System.out.println("达成同学跑不动了....不能再继续跑了...");break; //若执行到这一行 则退出循环}System.out.println("达成同学跑了第" + i + "圈了.....");}System.out.println("让孩子歇歇把....");}}

双重for循环(for循环嵌套)

外层for 用于控制轮数 也可以称控制 行数
内层for 用于控制次数 也可以称控制 列数
package day04;/*** 双重for循环的使用演示类:* 九九乘法表实现*/
public class ForDemo02 {public static void main(String[] args) {for (int number = 1; number <= 9; number++) {//外层for循环   控制轮数for (int i = 1; i <= number; i++) {//内层for循环         控制次数  //tab键System.out.print(i + " * " + number + " = " + (i * number) + "\t");}System.out.println();//换行}}
}

http://www.mrgr.cn/news/6989.html

相关文章:

  • 代码随想录day52 101孤岛的总面积 102沉没孤岛 103水流问题 104建造最大岛屿
  • CentOS7发送邮件如何配置SMTP服务器发信?
  • Ubuntu 22安装和配置PyCharm详细教程(图文详解)
  • UE5打包iOS运行查看Crash日志
  • AI副业:别只顾刷黑神话悟空!AI做神话账号,商单月入过万(附教程)
  • 适用于应用程序安全的 11 大 DevSecOps 工具
  • 大语言模型 (LLM)是什么_
  • 【设计模式】单例模式、工厂模式、策略模式、观察者模式、装饰器模式
  • 异步交互技术Ajax-Axios
  • LeetCode面试题Day16|LC56 合并区间、LC57 插入区间
  • Lodash 使用详解:提升 JavaScript 开发效率的利器
  • 【解压即玩】使命召唤 系列合集17-1,经典收藏
  • 芯片后端之 PT 使用 report_timing 产生报告 之 -include_hierarchical_pins 选项
  • CLion调试ROS(包括launch启动的ROS)
  • Debian系列和Red Hat系列常用命令
  • 直播App遭受抓包后的DDoS与CC攻击防御策略
  • Vsol2802RH修改GPON SN和MAC
  • 鸿蒙(API 12 Beta3版)【使用ImageEffect编辑图片】图片开发指导
  • 【Linux】管道
  • 中介者模式解析:打造无缝通信的设计策略!