我是靠谱客的博主 细腻刺猬,最近开发中收集的这篇文章主要介绍学习 尚硅谷_宋红康_第2章_Java基本语法(下):程序流程控制超详细课件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

    • 程序流程控制
    • 练习题
    • 笔试题
    • 彩票
    • 结婚判断
    • switch-case结构的基本使用
      • 练习题

程序流程控制

流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组
合成能完成一定功能的小逻辑模块。
• 其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:
顺序结构
分支结构
循环结构

顺序结构 程序从上到下逐行地执行,中间没有任何判断和跳转。
分支结构 根据条件,选择性地执行某段代码。 有if…else和switch-case两种分支语句。
循环结构 根据循环条件,重复性的执行某段代码。 有while、do…while、for三种循环语句。 注:JDK1.5提供了foreach循环,方便的遍历集合、数组元素
顺序结构 Java中定义成员变量时采用合法的前向引用。如: public class Test{ int num1 = 12; int num2 = num1 + 2; } 错误形式: public class Test{ int num2 = num1 + 2; int num1 = 12; } 执行语句1 执行语句2 执行语句n … …
2.5.1 程序流程控制:顺序结构
2-5-2 分支语句1: if-else结构
if语句三种格式:

  1. if(条件表达式){ 执行代码块; }
  2. if(条件表达式){ 执行代码块1; } else{ 执行代码块2; }
    条件表达式
    执行代码块
    true
    false 条件表达式
    执行代码块1 执行代码块2
    true false
    2.5.2 程序流程控制:if-else结构
  3. if(条件表达式1){ 执行代码块1; } else if (条件表达式2){ 执行代码块2; } …… else{ 执行代码块n; }
    条件表达式1
    执行代码块1 true 条件表达式2
    执行代码块2
    true
    false
    false
    … … 执行代码块n false
    2.5.2 程序流程控制:if-else结构
     条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量  语句块只有一条执行语句时,一对{}可以省略,但建议保留  if-else语句结构,根据需要可以嵌套使用  当if-else结构是“多选一”时,最后的else是可选的,根据需要可以省略  当多个条件是“互斥”关系时,条件判断语句及执行语句间顺序无所谓 当多个条件是“包含”关系时,“小上大下 / 子上父下”
    2.5.2 程序流程控制:if-else结构
    分支结构:if-else使用说明
    if-else语句应用举例
    public class AgeTest{ public static void main(String args[]){ int age = 75; if (age< 0) { System.out.println(“不可能!”); } else if (age>250) { System.out.println(“是个妖怪!”); } else { System.out.println(“人家芳龄 " + age +" ,马马乎乎啦!"); } } }

练习题

/*
岳小鹏参加Java考试,他和父亲岳不群达成承诺:
如果:
成绩为100分时,奖励一辆BMW;
成绩为(80,99]时,奖励一台iphone xs max;
当成绩为[60,80]时,奖励一个 iPad;
其它时,什么奖励也没有。
请从键盘输入岳小鹏的期末成绩,并加以判断

说明:

  1. else 结构是可选的。

  2. 针对于条件表达式:

    如果多个条件表达式之间是“互斥”关系(或没有交集的关系),哪个判断和执行语句声明在上面还是下面,无所谓。
    如果多个条件表达式之间有交集的关系,需要根据实际情况,考虑清楚应该将哪个结构声明在上面。
    如果多个条件表达式之间有包含的关系,通常情况下,需要将范围小的声明在范围大的上面。否则,范围小的就没机会执行了。
    */

import java.util.Scanner;
class IfTest {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);

  System.out.println("请输入岳小鹏期末成绩:(0-100)");
  int score = scan.nextInt();

  if(score == 100){
  	System.out.println("奖励一辆BMW");//be my wife!  BMW <---> MSN
  }else if(score > 80 &&  score <= 99){
  	System.out.println("奖励一台iphone xs max");
  }else if(score >= 60 && score <= 80){
  	System.out.println("奖励一个 iPad");
  }else{
  	System.out.println("什么奖励也没有");
  }

}

}

/*
编写程序:由键盘输入三个整数分别存入变量num1、num2、num3,
对它们进行排序(使用 if-else if-else),并且从小到大输出。

说明:

  1. if-else结构是可以相互嵌套的。

  2. 如果if-else结构中的执行语句只有一行时,对应的一对{}可以省略的。但是,不建议大家省略。
    */
    import java.util.Scanner;
    class IfTest2 {
    public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    System.out.println(“请输入第一个整数:”);
    int num1 = scanner.nextInt();
    System.out.println(“请输入第二个整数:”);
    int num2 = scanner.nextInt();
    System.out.println(“请输入第三个整数:”);
    int num3 = scanner.nextInt();

    if(num1 >= num2) //1>2
    if(num3 >= num1)//2 1 3
    System.out.println(num2 + “,” + num1 + “,” + num3);
    else if(num3 <= num2) //321
    System.out.println(num3 + “,” + num2 + “,” + num1);
    else
    System.out.println(num2 + “,” + num3 + “,” + num1);//231

    }else{
    if(num3 >= num2)//123
    System.out.println(num1 + “,” + num2 + “,” + num3);
    else if(num3 <= num1)//312
    System.out.println(num3 + “,” + num1 + “,” + num2);
    else
    System.out.println(num1 + “,” + num3 + “,” + num2);//

    }

    }
    }

笔试题

class IfExer {
public static void main(String[] args) {
int x = 4;
int y = 1;
if (x > 2)
if (y > 2)
System.out.println(x + y);
//System.out.println(“atguigu”);
else //就近原则
System.out.println("x is " + x);

  //课后练习3:测算狗的年龄
  int dogAge = 6;
  if(dogAge >= 0 && dogAge <= 2){
  	System.out.println("相当于人的年龄:" + dogAge * 10.5);
  }else if( dogAge > 2){
  	System.out.println("相当于人的年龄:" + (2 * 10.5 + (dogAge - 2) * 4));
  }else{
  	System.out.println("狗狗还没出生呢!");
  }

  //课后练习4:如何获取一个随机数:10 - 99
  int value = (int)(Math.random() * 90 + 10);// [0.0,1.0) --> [0.0,90.0) --->[10.0, 100.0) -->[10,99]
  System.out.println(value);
  //公式:[a,b]  :  (int)(Math.random() * (b - a + 1) )+ a

}

}

我家的狗5岁了,5岁的狗相当于人类多大呢?其实,狗的前两年每 一年相当于人类的10.5岁,之后每增加一年就增加四岁。那么5岁的狗 相当于人类多少年龄呢?应该是:10.5 + 10.5 + 4 + 4 + 4 = 33岁。

package work.com.cn.entity;

import java.util.Scanner;

public class IfExer {
 public static void main(String[] args) {
     System.out.println("请输入狗狗的年龄(0~100):");
     Scanner scanner = new Scanner(System.in);
     int dogAge = scanner.nextInt();
     if(dogAge <= 2){//狗的前两年每 一年相当于人类的10.5岁
         System.out.println("相当于人类年龄:"+dogAge*10.5);
     }else if(dogAge > 2){//之后每增加一年就增加四岁。那么5岁的狗 相当于人类多少年龄呢?
         System.out.println("相当于男的年龄"+(2*10.5+(dogAge-2)*4));
     }else {
         System.out.println("可爱的狗狗还没有降生呢?");
     }
 }

}

彩票


结婚判断

/*
大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件:
高:180cm以上;富:财富1千万以上;帅:是。
如果这三个条件同时满足,则:“我一定要嫁给他!!!”
如果三个条件有为真的情况,则:“嫁吧,比上不足,比下有余。”
如果三个条件都不满足,则:“不嫁!”

*/

import java.util.Scanner;

class Marry {
	public static void main(String[] args) {
		
		Scanner scan = new Scanner(System.in);
		
		System.out.println("请输入你的身高:(cm)");
		int height = scan.nextInt();
		System.out.println("请输入你的财富:(千万)");
		double wealth = scan.nextDouble();

		/*
		方式一:
		System.out.println("请输入你是否帅:(true/false)");
		boolean isHandsome = scan.nextBoolean();

		if(height >= 180 && wealth >= 1 && isHandsome){
			System.out.println("我一定要嫁给他!!!");
		}else if(height >= 180 || wealth >= 1 || isHandsome){
			System.out.println("嫁吧,比上不足,比下有余。");
		}else{
			System.out.println("不嫁!");
		}
		*/

		//方式二:
		System.out.println("请输入你是否帅:(是/否)");
		String isHandsome = scan.next();

		
		if(height >= 180 && wealth >= 1 && isHandsome.equals("是")){
			System.out.println("我一定要嫁给他!!!");
		}else if(height >= 180 || wealth >= 1 || isHandsome.equals("是")){
			System.out.println("嫁吧,比上不足,比下有余。");
		}else{
			System.out.println("不嫁!");
		}
	}
}

switch-case结构的基本使用

switch(表达式){

case 常量1:

语句1

; // break;

case 常量2:

语句2;

// break; … …

case 常量N:

语句N; //

break;

default: 语句;

// break;

}

package work.com.cn.entity;
/*
分支结构之二:switch-case

1.格式
switch(表达式){
case 常量1:
	执行语句1;
	//break;

case 常量2:
	执行语句2;
	//break;

...
default:
	执行语句n;
	//break;

}
2.说明:
① 根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应case结构中,调用其执行语句。
当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构
末尾结束为止。

② break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构

③ switch结构中的表达式,只能是如下的6种数据类型之一:
byte 、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)

④ case 之后只能声明常量。不能声明范围。

⑤ break关键字是可选的。

⑥ default:相当于if-else结构中的else.
default结构是可选的,而且位置是灵活的。
*/
public class SwitchCase {
 public static void main(String[] args) {
     int number =1;
     switch(number){
         case 0:
             System.out.println("zero");
         case 1:
             System.out.println("one");
             break;
         case 2:
             System.out.println("two");
             break;
         case 3 :
             System.out.println("third");
             break;
         default:
     }
 }
}

练习题

1.使用 switch 把小写类型的 char型转为大写。只转换 a, b, c, d, e. 其它的输 出 “other”

package work.com.cn.entity;

import java.util.Scanner;
//1.使用 switch 把小写类型的 char型转为大写。只转换 a, b, c, d, e. 其它的输 出 “other”。
public class SwitchChar {
    public static void main(String[] args) {
        System.out.println("请输入值你想要的值");
        Scanner scanner = new Scanner(System.in);
        //键盘上不能输入char类型的数据,只能通过输入字符串的形式,截取第一个字符来实现
        char charValue = scanner.next().charAt(0);
        switch (charValue) {
            case 'a':
                System.out.println("A");
                break;
            case 'b':
                System.out.println("B");
                break;
            case 'c':
                System.out.println('C');
                break;
            case 'd':
                System.out.println("D");
                break;
            case 'e':
                System.out.println('E');
                break;
            default:
                System.out.println("other");
                break;

        }
    }
}
/*
例题:对学生成绩大于60分的,输出“合格”。低于60分的,输出“不合格”。

说明:如果switch-case结构中的多个case的执行语句相同,则可以考虑进行合并。
*/
class SwitchCaseTest1 {
	public static void main(String[] args) {
		
		/*
		int score = 78;
		switch(score){
		case 0:

		case 1:

		case 2:

			...
		case 100:
		
		}
		*/

		/*
		int score = 78;
		if(score >= 60){
		
		}else{
		
		}
		*/
		
		int score = 78;
		switch(score / 10){
		case 0:
		case 1:
		case 2:
		case 3:
		case 4:
		case 5:
			System.out.println("不及格");
			break;
		case 6:
		case 7:
		case 8:
		case 9:
		case 10:
			System.out.println("及格");
			break;

		}
		
		//更优的解决方案:
		switch(score / 60){
		case 0:
			System.out.println("不及格");
			break;
		case 1:
			System.out.println("及格");
			break;
		}
	
	}
}

最后

以上就是细腻刺猬为你收集整理的学习 尚硅谷_宋红康_第2章_Java基本语法(下):程序流程控制超详细课件的全部内容,希望文章能够帮你解决学习 尚硅谷_宋红康_第2章_Java基本语法(下):程序流程控制超详细课件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部