流程控制语句
顺序结构
- //范例:
- public class Test {
- public static void main(String[] args) {
- System.out.println("努力做主人喜欢的事");
- System.out.println("大小姐驾到!通通闪开!");
- System.out.println("凌冬已至,故乡的梅花开了吗");
- System.out.println("心怀不惧,方能翱翔于天际");
- }
- }
复制代码 顺序结构语句是Java步伐默认的执行流程,按照代码的先后顺序,从上到下依次执行
分支结构
If语句
If语句在步伐中是用来判断的
第一种格式(单条件判断)
格式:举例:- if (酒量 > 2) {
- System.out.println("小伙子,不错!");
- }
复制代码 执行流程:
- 起首计算关系表达式的值
- 如果关系表达式的值为true就执行语句体
- 如果关系表达式的值为false就不执行语句体
- 继续执行后面的其他语句
练习--老丈人选半子
需求:键盘录入半子酒量,如果大于2斤,老丈人给出回应,反之不回应- import java.util.Scanner;
- public class IfDemo1 {
- public static void main(String[] args) {
- //需求:键盘录入女婿酒量,如果大于2斤,老丈人给出回应,反之不回应
- //分析:
- //1.键盘录入女婿的酒量
- Scanner sc = new Scanner(System.in);
- System.out.println("请输入女婿的酒量");
- int wine = sc.nextInt();
- //2.对酒量进行判断
- if (wine > 2) {
- System.out.println("小伙子,不错呦!!");
- }
- }
- }
复制代码 if的注意点:
- 大括号的开头可以另起一行书写,但是建议写在第一行的末端
- 在语句体中,如果只有一句代码,大括号可以省略不写。(个人建议,大括号还是不要省略的)
- 如果对一个布尔类型的变量进行判断,建议不要用号(因为可能会把写成=),直接把变量写在小括号即可
练习--考试奖励
小红:如果你这次考试全班第一,我就做你女朋友。- public class Test1 {
- public static void main(String[] args) {
- //小红:如果你这次考试全班第一,我就做你女朋友。
- //分析:
- //1.定义变量记录小明的名次
- int ranking = 1;
- //2.对小明的名次进行判断
- if(ranking == 1){
- System.out.println("小红成为了小明的女朋友");
- }
- }
- }
复制代码 练习--主动驾驶
需求:红灯停,绿灯行,黄灯请你等一等- public class Test2 {
- public static void main(String[] args) {
- //需求:红灯停,绿灯行,黄灯请你等一等
- //1.定义三个变量表示灯的状态
- //true 亮 false 灭
- boolean isLightGreen = false;
- boolean isLightYellow = false;
- boolean isLightRed = true;
- //2.判断
- //红灯亮,就停止
- //黄灯亮,就减速
- //绿灯亮,就行驶
- if(isLightGreen){
- System.out.println("Go!");
- }
- if(isLightYellow){
- System.out.println("slow!");
- }
- if(isLightRed){
- System.out.println("stop!");
- }
- }
- }
复制代码 第二种格式(双条件判断)
格式:- if (关系表达式) {
- 语句体1;
- } else {
- 语句体2;
- }
复制代码 执行流程:
- 起首计算关系表达式的值
- 如果关系表达式的值为true就执行语句体1
- 如果关系表达式的值为false就执行语句体2
- 继续执行后面的其他语句
练习--用饭
需求:
键盘录入一个整数,表示身上的钱。
如果大于等于100块,就吃网红餐厅。
否则,就吃经济实惠的沙县小吃。- import java.util.Scanner;
- public class Test3 {
- public static void main(String[] args) {
- /*需求:键盘录入一个整数,表示身上的钱。
- 如果大于等于100块,就吃网红餐厅。
- 否则,就吃经济实惠的沙县小吃。*/
- //分析:
- //1.键盘录入一个整数,表示身上的钱。
- Scanner sc = new Scanner(System.in);
- System.out.println("请录入身上的钱");
- int money = sc.nextInt();
- //2.对钱进行判断(二选一)
- if(money >= 100){
- System.out.println("吃网红餐厅");
- }else{
- System.out.println("吃经济实惠的沙县小吃");
- }
- }
- }
复制代码 练习--商品付款
需求:
假设,用户在超市实际购买,商品总价为:600元。
键盘录入一个整数表示用户实际支付的钱。
如果付款大于等于600,表示付款乐成。否则付款失败。- import java.util.Scanner;
- public class Test4 {
- public static void main(String[] args) {
- /*需求:
- 假设,用户在超市实际购买,商品总价为:600元。
- 键盘录入一个整数表示用户实际支付的钱。
- 如果付款大于等于600,表示付款成功。否则付款失败。
- */
- //分析:
- //1.键盘录入一个整数表示用户实际支付的钱。
- Scanner sc = new Scanner(System.in);
- System.out.println("请录入一个整数表示实际支付的钱");
- int money = sc.nextInt();
- //2.判断
- if(money >= 600){
- System.out.println("支付成功");
- }else{
- System.out.println("支付失败");
- }
- }
- }
复制代码 练习--影院选座
需求:
假设某影院收买了100张票,跑的序号为1~100。
其中奇数票号坐左侧,偶数票号坐右侧。
键盘录入一个整数表示电影票的票号。
根据不怜悯况,给出不同的提示:
如果票号为奇数,那么打印坐左边
如果票号为偶数,那么打印坐右边。- import java.util.Scanner;
- public class Test5 {
- public static void main(String[] args) {
- /*假设某影院收买了100张票,跑的序号为1~100。
- 其中奇数票号坐左侧,偶数票号坐右侧。
- 键盘录入一个整数表示电影票的票号。
- 根据不同情况,给出不同的提示:
- 如果票号为奇数,那么打印坐左边
- 如果票号为偶数,那么打印坐右边。
- */
- //分析:
- //1.键盘录入一个整数表示电影票的票号。
- Scanner sc = new Scanner(System.in);
- System.out.println("请录入一个票号");
- int ticket = sc.nextInt();
- //只有当ticket在0~100之间,才是真是有效的票
- //if的嵌套
- if(ticket >= 0 && ticket <= 100){
- //2.判断票号是奇数还是偶数
- if (ticket % 2 == 1) {
- System.out.println("坐左边");
- } else {
- System.out.println("坐右边");
- }
- }
- }
- }
复制代码 (大括号内如果只有一行代码,可以去掉大括号。)
</ul>switch和if第三种格式各自的使用场景
- if的第三种格式:一般用于对范围的判断
- switch:把有限个数据一列举出来,让我们任选其一
</ul>练习--休息日和工作日
需求:键盘录入星期数,输出工作日、休息日。
(1-5)工作日,(6-7)休息日。- if (关系表达式1) {
- 语句体1;
- } else if (关系表达式2) {
- 语句体2;
- }
- ...
- else {
- 语句体 n + 1;
- }
复制代码 练习--用户选择
在实际开发中,如果我们需要在多种情况下选择其中一个,就可以使用switch语句。
当我们拨打了某些服务电话时,一般都会有按键选择。
假设现在我们拨打了逐一个机票预定电话。
电话中语音提示:
1机票查询
2机票预订
3机票改签
4退出服务
其他按键也是退出服务。请使用switch模拟该业务逻辑。- import java.util.Scanner;
- public class Test6 {
- public static void main(String[] args) {
- /*
- 根据不同的分数送不同的礼物。
- 95~100分,送一辆自行车
- 90~94分,游乐场玩一天
- 80~89分,送一个变形金刚
- 80分一下,揍一顿。
- */
- //分析:
- //1.键盘录入小明的成绩
- Scanner sc = new Scanner(System.in);
- System.out.println("请录入一个整数表示小明的成绩");
- int score = sc.nextInt();
- //2.根据不同的成绩,给出不同的奖励
- if(score >= 0 && score <= 100) {
- if (score >= 95 && score <= 100) {
- System.out.println("送一辆自行车");
- } else if (score >= 90 && score <= 94) {
- System.out.println("游乐场玩一天");
- } else if (score >= 80 && score <= 89) {
- System.out.println("送一个变形金刚");
- } else {
- System.out.println("揍一顿");
- }
- }else {
- System.out.println("当前录入的成绩不合法");
- }
- }
- }
复制代码 循环结构
循环的分类
for循环
格式:
- import java.util.Scanner;
- public class Test7 {
- public static void main(String[] args) {
- /*
- 需求:
- 商场都会有VIP的会员制,根据不同的会员会有不同的折扣。
- 假设商品总价为1000。
- 键盘录入会员级别,并计算出实际支付的钱。
- 会员1级:打9折。
- 会员2级:打8折。
- 会员3级:打7折。
- 非会员:不打折。
- */
- //分析:
- //1.定义变量记录总价
- int price = 1000;
- //2.键盘录入会员的级别
- Scanner sc = new Scanner(System.in);
- System.out.println("请录入会员的级别");
- int vip = sc.nextInt();
- //3.根据级别来计算实际要支付的钱
- if(vip == 1){
- System.out.println("实际支付的钱为" + (price * 0.9));
- }else if(vip == 2){
- System.out.println("实际支付的钱为" + (price * 0.8));
- }else if(vip == 3){
- System.out.println("实际支付的钱为" + (price * 0.7));
- }else{
- System.out.println("实际支付的钱为" + price);
- }
- }
- }
复制代码 范例:
[code]for (int i == 1;i |