入门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();//换行}}
}