首页 > 编程语言 >java控制结构1之if else和嵌套分支

java控制结构1之if else和嵌套分支

时间:2023-02-07 18:37:54浏览次数:46  
标签:java Scanner System 控制结构 else println public out

1. 程序流程控制介绍

在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句。

1) 顺序控制

2) 分支控制

3) 循环控制

2.顺序结构

2.1不做解释顺序控制比较简单看图解

java控制结构1之if else和嵌套分支_java

3.分支控制if-else

3.1分支控制 if-else 介绍

让程序有选择的的执行,分支控制有三种

1)  单分支 if

2) 双分支 if-else

2)  多分支 if-else if -....-else

3.2 单分支if 105

java控制结构1之if else和嵌套分支_if else_02

//单分支if-else语句
import java.util.Scanner;
public class Test10
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("请输入年龄");
int age = input.nextInt();
if(age>18)
{
System.out.println("你的年龄大于18岁,要对自己的行为负责,否则送入监狱");
}
System.out.println("程序继续执行……");
}
}

3.3 双分支if-else 106

java控制结构1之if else和嵌套分支_if else_03

//双分支if-else  106
import java.util.Scanner;
public class Test10
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("请输入年龄");
int age = input.nextInt();
if(age>18)
{
System.out.println("你的年龄大于18岁,要对自己的行为负责,否则送入监狱");
}
else
{
System.out.println("你的年龄不大这次放过你");
}
System.out.println("程序继续执行……");
}
}

3.4 多分支if-else if -....-else 110

多分支可以没有else,如果所有的条件表达式都不成立,则一个执行入口都没有

如果有else如果所有的条件表达式都不成立,则默认执行else代码块

java控制结构1之if else和嵌套分支_if else_04

//输入保国同志的芝麻信用分: 
//如果: 1) 信用分为 100 分时,输出 信用极好;
// 2) 信用分为(80,99]时,输出 信用优秀;
// 3) 信用分为[60,80]时,输出 信用一般;
// 4) 其它情况 ,输出 信用 不及格
// 5) 请从键盘输入保国的芝麻信用分,并加以判断
import java.util.Scanner;
public class Test10
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("请输入信用分");
int grade = input.nextInt();
if(grade>1 && grade<=100)//判断信用分的有效性
{
if(grade==100)
{
System.out.println("信用极好");
}
else if(grade>80 && grade<=99)
{
System.out.println("信用优秀");
}
else if(grade>=60 && grade<=80)
{
System.out.println("信用一般");
}
else
{
System.out.println("信用不及格");
}
}
else
{
System.out.println("信用分需要在1-100,请重新输入");
}
}
}

4.单双分支练习 108

例1

public class Test10
{
public static void main(String[] args)
{
int x=7;
int y=4;
if(x>5)
{
if(y>5)
{
System.out.println("haha");
}
System.out.println("世界");
}
else
{
System.out.println("你好");
}
}
}

例2

编写程序,声明 2 个 double 型变量并赋值。判断第一个数大于 10.0,且第 2 个数小于 20.0,打印两数之和。

public class Test10
{
public static void main(String[] args)
{
double d1=34.5;
double d2=2.6;
if(d1>10.0 && d2<20.0)
{
System.out.println(d1+d2);
}
}
}

例3

定义两个变量 int,判断二者的和,是否能被 3 又能被 5 整除,打印提示信息

public class Test10
{
public static void main(String[] args)
{
int a=10;
int b=5;
int sum=a+b;
if(sum%3==0 && sum%5==0)
{
System.out.println("和可以被3和5整除");
}
else
{
System.out.println("不可以被3和5整除");
}
}
}

例4

判断一个年份是否是闰年,闰年的条件是符合下面二者之一:(1)年份能被 4 整除,但不能被 100 整除;(2)能被 400 整除

import java.util.Scanner;
public class Test10
{
public static void main(String[] args)
{
Scanner year = new Scanner(System.in);
System.out.println("是否查询闰年");
String s = year.next();
int i=0;
System.out.println("请输入一个年份\n");
int year1=year.nextInt();
if(year1%4==0 && year1%100!=0 || year1%400==0)
{
System.out.println(year1+"是闰年\n");
}
else
{
System.out.println(year1+"不是闰年\n");
}
}
}

5. 多分支练习

public class Test11
{
public static void main(String[] args)
{
boolean b=true;
if(b=false)
{
System.out.println("a");
}
else if (b)
{
System.out.println("b");
}
else if(!b)
{
System.out.println("c");
}
else
{
System.out.println("d");
}
}
}

6. 嵌套分支 112

在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支的结构称为内层分支外面的分支结构称为外 层分支。不要超过 3 层 (可读性不好)

例1

//参加歌手比赛,如果初赛成绩大于 8.0 进入决赛,否则提示淘汰。并且根据性别提示进入男子组或女子组。
//输入成绩和性别,进行判断和输出信息。[NestedIf.java]
//提示: double score; char gender; 接收字符: char gender = scanner.next().charAt(0)
import java.util.Scanner;
public class Test11
{
public static void main(String[] args)
{
//思路分析
//1. 创建 Scanner 对象,接收用户输入
//2. 接收 成绩保存到 double score
//3. 使用 if-else 判断 如果初赛成绩大于 8.0 进入决赛,否则提示淘汰
//4. 如果进入到 决赛,再接收 char gender, 使用 if-else 输出信息
//代码实现 => 思路 --> java 代码
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入歌手成绩");
double score = myScanner.nextDouble();
if(score>8.0)
{
System.out.println("请输入性别");
char gender = myScanner.next().charAt(0);
if(gender=='男')
{
System.out.println("进入男子组");
}
else if(gender=='女')
{
System.out.println("进入女子组");
}
else
{
System.out.println("性别输入有误,不能参加决赛~");
}
}
else
{
System.out.println("很遗憾,你被淘汰了~");
}
}
}

例2

//打印票价
//旺季
//成人(18-60):60
//儿童(<18):30
//老人(>60):20
//淡季
//成人:40
//其他:20
import java.util.Scanner;
public class Test11
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("当前为旺季(1)还是淡季(2)");
int s1 = input.nextInt();
if(s1==1)
{
System.out.println("请输入年龄");
int age = input.nextInt();
if(age>=18 && age<=60)
{
System.out.println("60");
}
else if(age<18)
{
System.out.println("30");
}
else
{
System.out.println("20");
}
}
else
{
System.out.println("请输入年龄");
int age2 = input.nextInt();
if(age2>=18 && age2<=60)
{
System.out.println("40");
}
else
{
System.out.println("20");
}
}
}
}

7. switch分支结构 114

switch(表达式){

case 常量1:

语句1;

break;

case 常量2:

语句2;

break;

……

default:

default语句块

break;

}

java控制结构1之if else和嵌套分支_整除_05

例1

请编写一个程序,该程序可以接收一个字符,比如:a,b,c,d,e,f,g

a 表示星期一,b 表示星期二 …

根据用户的输入显示相应的信息.要求使用 switch 语句完成

//请编写一个程序,该程序可以接收一个字符,比如:a,b,c,d,e,f,g 
//a 表示星期一,b 表示星期二 …
//根据用户的输入显示相应的信息.要求使用 switch 语句完成
import java.util.Scanner;
public class Test11
{
public static void main(String[] args)
{
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入一个字符a-g");
char c1 = myScanner.next().charAt(0);
switch(c1)
{
case 'a':
System.out.println("中");
break;
case 'b':
System.out.println("国");
break;
case 'c':
System.out.println("人");
break;
//……
default:
System.out.println("输入错误");
}
System.out.println("switch语句结束,程序继续执行");
}
}

. switch语句细节 117

表达式数据类型,应和case后的常量类型一致,或者可以自动转化可以相互比较的类型,比如字符char,而常量是int,具体看图

java控制结构1之if else和嵌套分支_if else_06













标签:java,Scanner,System,控制结构,else,println,public,out
From: https://blog.51cto.com/u_15784725/6042612

相关文章

  • java_html笔记
    颜色color字体大小 1.数值+单位 2.关键字-px-em字体(可以写多个,但不是全都生效只生效存在的如果全都不存在则使用默认字体)font-family:"abccde",......
  • Java进程CPU飙升到800%
    最近遇到springboot项目部署cup过高问题,首先环境是实现ApplicationRunner类在run中使用到了线程池;问题定位步骤:在liunx命令窗口执行:1)、首先通过top指令查看当前占用CPU......
  • Java测试框架——JUnit详解(4&5)
    JUnit是Java编程语言的单元测试框架,用于编写和运行可重复的自动化测试,也是当下主流的Java测试框架前言如果有对单元测试还不熟悉的小伙伴可以看一下我的这篇文章——​​浅......
  • java.lang.NoSuchMethodError: com.google.gson.GsonBuilder.setLenient()Lcom/google
    引入第三方的工具类,重新启动项目就会奇奇怪怪的报错。加载不到gson类。一开始以为是没有加载到,各种引入,清理问题依然存在。直到仔细看报错信息,里面是spring的类报错,才意识......
  • Java学习实战
    目录 1.搭建springboot单体服务,集成undertow容器 2.使用AOP思想,实现数据加解密 3.搭建springcloud项目,集成Gateway网关 4.集成sentinel组件,实现限流、熔断、......
  • Java下载文件的4种方式总结
    1.以流的方式下载.publicHttpServletResponsedownload(Stringpath,HttpServletResponseresponse){try{//path是指欲下载的文件的路径。Filefile=newF......
  • java对自定义类型的两种排序方法(Arrays.sort和Collections.sort)
    前言对普通基本类型的数组或者集合sort都有相应的排序方法(从小到大),但是对于我们自定义的类型,就需要重新定义比较器,这里介绍对对象数组排序的Arrays.sort和对集合排序的Coll......
  • java学习笔记
    1.java经典题目练习看旁边的目录分类:​​点这里​​ 2.常用实用类​​JavaFile类​​ ​​java大数类总结​​3.知识点​​java对自定义类型的两种排序方法(Arrays.sort和......
  • Java File类
    Java文件类以抽象的方式代表文件名和目录路径名。该类主要用于文件和目录的创建、文件的查找和文件的删除等。File对象代表磁盘中实际存在的文件和目录。通过以下构造方法创......
  • JavaScript 解决 query string 乱码问题?
    在JavaScript中获取URL中的querystring时,如果字符串中含有中文字符或特殊字符,可能会遇到乱码问题。为解决这一问题,可以使用decodeURIComponent()函数对整个query......