Java的基础知识(三)

继续学习吧!今天会讲解选择结构和分支结构。

其实整体上来说循环结构还是很简单的。

一、程序的执行结构。

 顺序结构:是指按照程序的语句从前往后逐条执行。

 条件结构:根据逻辑条件选择执行不同的分支代码。

 循环结构:根据逻辑条件,反复执行一段代码。

二、条件结构

概念:根据已知条件进行逻辑判断,满足条件后执行相应操作。 分支选择结构实现方式有两类:

(1)if的选择结构

(2)switch的分支结构

(1)if 单分支结构

if(布尔条件)
{
    //代码块
}

   执行流程:

   对布尔进行判断,为真 ,先执行代码块 。为假 ,跳过代码块执行。

  就是if语句判断完内容之后,为真, 先执行代码块。 为假 ,跳过代码块执行。就是后面的语句也执行。

(2)if-else 双分支 

这与if 就不一样了
if else选择结构
if else 就是 不是if执行内语句,就是执行else后面语句。
if(布尔表达式)
{
//代码块1
}
else
{
//代码块2
}
结束之后再走后续代码

    执行流程:

    对条件表达式进行判断

    结果为true,则执行语句块1后,再执行后续代码

    结果为 false ,则执行语句块 2 后,再执行后续代码

(3)多重if选择结构

if(条件1)
{
代码块1
}
else if (条件2)
{
代码块2
}
else if (条件3)
{
代码块3
}
.........
else 
{
代码块4
}

    看条件1是否为真,是真,走代码块1,退出结构

    看条件1是否为真,是假,判断条件2是否为真, 为真 退出结构

    看条件1是否为真,是假,判断条件2是否为真, 为假 最后走else  最后,退出结构

    若条件都是假 ,直接执行else 后,退出结构。

(4) 嵌套if选择结构

if(外层条件){
if(内层条件){
//内层语句块1
}else{
//内层语句块2
}
}else{
//外层语句块
}
    执行流程:
    当外层条件满足时,再判断内层条件

(5)switch 分支

switch(表达式){
case 常量值1:
     语句体1;
     break;
case 常量值2:
     语句体2;
     break;
    .......
default:
     语句体n;
     break; 
}

   执行流程:

(1)如果变量的值与值1相等,则执行语句块1 。

(2)如果变量的值与值2相等,则执行语句块2 。

(3)如果变量的值与值3相等,则执行语句块3 。

(4)如果变量的值与所有值都不匹配,则执行default

   语法格式说明:

   变量或表达式可判断的类型:byte short int char String (JDK7.0+) 。

   当匹配的case执行后,不会自动跳出switch结构,而是会继续往下判断执行。

   break可以在匹配的case执行后,跳出整个switch结构适用于等值判断。

   default缺省分支可以省略,default 无论你写在哪里 一定是最后执行。

 (5.1)  switch的穿透效果
switch(week){
case1:
case2:
case3:
case4:
 System.out.println("工作日")
break;

   swtich  适合断点的等值比较,不适合区间范围的值比较(if适用)。这算是很省事的方法。

   差不多啦,让我们做一点点练习题吧

(1):如果核酸做了13轮就可以解封了。

public class Demo01_if {
public static void main(String[] args) {
//创建Scanner变量
Scanner sc = new Scanner(System.in);
//根据输入的做核酸次数,决定是否解封 13
System.out.print("请输入你做核酸次数:");
int count = sc.nextInt();
//判断count>=13
if(count >= 13){
System.out.println("恭喜,解放了!!!");
}
System.out.println("if语句后面的代码。。。。。");
}
}

(2)输入一个整数,判断是偶数还是奇数。偶数:能被2整除 num%2==0

public class Demo01_if_else {
public static void main(String[] args) {
//创建Scanner变量
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个整数:");
int num = sc.nextInt();
//判断条件
if(num%2==0){
System.out.println(num+"是偶数");
}else{
System.out.println(num+"是奇数");
}
}
}

(3)从键盘输入一个年份,判断是闰年还是平年。

        闰年的判断条件是 :能被4整除但不能被100整除,或者能被400整除就是

        year % 4==0 && year % 100 !=0 || year % 400 == 0

package com.qianfeng;
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个年份:");
int year = sc.nextInt();
if ((year % 4==0 && year % 100 !=0) || year % 400 == 0){
System.out.println(year+"是闰年");
}else{
System.out.println(year+"是平年");
}
}
}

(4)输入考试成绩,根据五级打分制显示级别。90以上为A80以上为B70以上为C

60以上为D,否则为E
package com.qianfeng;
import java.util.Scanner;
/*
* 多重if结构
* */
public class Demo05_if_elseif {
public static void main(String[] args) {
//创建Scanner变量
Scanner sc = new Scanner(System.in);
System.out.print("请输入你的考试成绩 :");
int score = sc.nextInt();
//五级打分制判断
if (score >= 90){
System.out.println("A");
}else if(score >= 80){
System.out.println("B");
}else if(score >= 70){
System.out.println("C");
}else if(score >= 60){
System.out.println("D");
}else{
System.out.println("E");
}
}
}

(5)从键盘选择今天的天气情况,有三种 1.太阳天 2.下雨天 3.常温天,根据天气情况决定是否带

伞,以及带什么伞。如果是太阳天则带遮阳伞,如果下雨天则带雨伞,否则不 需要带伞。

package com.qianfeng;
import java.util.Scanner;
/*
* 多重if结构
* */
public class Demo06 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("1.太阳天\t2.下雨天\t3.正常天");
System.out.print("请选择今天的天气情况:");
int choose = sc.nextInt();
//判断天气情况,根据选择的不同,输出不同语句
if(choose == 1){
System.out.println("今天是太阳天,请带好遮阳伞");
}else if(choose == 2){
System.out.println("今天是下雨天,请带好雨伞");
}else if(choose == 3){
System.out.println("今天天气正常,可以不用带伞");
}else{
System.out.println("您的输入有误,请重新输入");
}
}
}

(6)从键盘输入银行的缩写,根据缩写显示银行全称。

         中国银行:PBC

         工商银行:ICBC

         建设银行:CCB

         交通银行: BC
package com.qianfeng;
import java.util.Scanner;
/*
* switch结构
* 1.如果不需要实现穿透效果,每个case执行完逻辑语句后一定要加break关键字
* 2.case和default没有先后顺序要求
* */
public class Demo11 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入银行缩写:");
String str = sc.next();
switch (str){
case "PBC":
System.out.println("中国银行");
break;
case "ICBC":
System.out.println("工商银行");
break;
case "CCB":
System.out.println("建设银行");
break;
default:
System.out.println("输入有误");
break;
}
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值