初识Java之条件控制篇

简介: 初识Java之条件控制篇

和Python语言一样Java也有条件循环,当然这里我通常那个叫做流程控制与语言结构。简单的来说有顺序控制,条件控制,循环控制

条件控制语句

if else.if else 语句

我们首先来看代码

package 条件循环;
public class 条件判断 {
    public static void main(String[] args) {
        printGrade(76.5);
    }
    public static void printGrade(double score) {
        if (score >= 90.0) {
            System.out.println('A');
        }
        else if (score >= 80.0) {
            System.out.println('B');
        }
        else if (score >= 70.0) {
            System.out.println('C');
        }
        else if (score >= 60.0) {
            System.out.println('D');
        }
        else {
            System.out.println('F');
        }
    }
}

通过上面我们发现,条件语句和Python似像非像,大体的思想是差不多的,只是他们的写法不同。

if(布尔表达式)
{
   //如果布尔表达式为true将执行的语句
}


如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码。


多个条件判断的时候,我们需要注意的是和Python不同,Python里面有if elif,else,但是Java里面是这个if else if else 这三个控制语句 ,而且对于条件循环的时候,我们的语言写法也是和Python不一样的,但实际上每一个编程的思想逻辑还是差不多的。


对于条件语句我这里详细的介绍一下他的逻辑规则,在Python中我们可能有些童鞋没有完全的理解到这个概念,下面我就针对Java来做一些介绍:


首先if语句里面的判断如果执行成功了,那么后面的条件语句都不会执行,对于else if 如果有一个执行成功了,那么后面的也就不会执行了,这里我们理解为单一性,除非我们有嵌套的条件语句,不然是不会执行多个代码的。


条件嵌套


package 条件循环;

public class 条件语句 {
    public static void main(String[]args){
        int x =30;
        if (x==0){
            System.out.println("yes!");
        }else if (x<=25){
            ++x;
            int y=x*10;
            System.out.println(y);
        }else if (x<=35){
            System.out.println("hello!");
            if (x==30){
                int n=x*x;
                System.out.println(n);
            }
        }else {
            System.out.println("错误!");
        }
    }
}



这里我们首先给出了一个值,把这个值放在条件语句里面进行一系列判断,这个里面涉及到条件嵌套的方法,最后我们输出了自己想要的值。


image.png

其实Java的条件语句不是很难,只是写法有一些不一样,我觉得比较不好处理的还是一些属性的问题,比如一个程序的类,你要怎样去定义他们的方法和如何去选择他们的范围,虽然我们经常用static来修饰静态变量,但是我们这些东西还是必修的课程,只有把方法的类理解了,你才能写的出!!


这里我们要注意的是if后面可以不加大括号,但是可读性比较差,这里要了解一下,如果每加括号也不是不可以运行的。


switch语句


这个语句在Python的学习里面是没有的,它在c里面是经常出现的,当然在Java里面也是有的,那么什么是switch语句呢?


switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。


在条件判断里面如果我们有多条判断语句,他们的格式是一样的,知识条件的不同,如果取用if来写会显得比较的臃肿,这个是switch语句就比较的实用了。


switch case语句的规则


switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。


switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。


case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。


当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。


当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。


switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。


switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断


package 条件循环;

import java.util.Scanner;
public class switch语句 {
    public static void main(String args[]){
        //char grade = args[0].charAt(0);
        Scanner in = new  Scanner(System.in);//定义scanner,等待输入
        System.out.println("输入你的等级:");
        String s=in.next();
        char grade=s.charAt(0);
//        char grade = 'A';
        switch(grade)
        {
            case 'A' :
                System.out.println("优秀");
                break;
            case 'B' :
            case 'C' :
                System.out.println("良好");
                break;
            case 'D' :
                System.out.println("及格");
                break;
            case 'F' :
                System.out.println("你需要再努力努力");
                break;
            default :
                System.out.println("未知等级");
        }
        System.out.println("你的等级是 " + grade);
    }
}




扩展 如何进行输入语句(Python里面是input())


package first;

import java.util.Scanner;

public class Input {

public static void main(String[] args) {

 Scanner in = new Scanner(System.in);//定义scanner,等待输入

 System.out.println("请输入你的姓名:");

 String name = in.nextLine();//字符类型的输入方式

 System.out.println(name);

 System.out.println("请输入你的年龄:");

 int age = in.nextInt();//整数类型的输入方式

 System.out.println(age);

 System.out.println("请输入苹果的英文:");

 //String s = in.next();

       in.nextLine(); //吃掉回车符

 String s = in.nextLine();

 System.out.println(s);

 System.out.println("请输入你的身高:");

 double height = in.nextDouble();//小数类型的输入方式

 System.out.println(height);

 

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

这个里面详解了输入数据的方法,首先要引入一个类,而且在Java里面输入数据,并不是那么简单,还需要考虑很多的东西,比如数据的类型是否一致,等等



总结

在switch语句里面首先就是switch(变量){

case 条件:

执行语句

break

//如果这里恰好执行成功也就是判断成功,那么就不会运行后面的条件判断了,如果不成功就会继续匹配。这里有几个点需要强调的如果有break就会跳出循环,这是正常的,但是如果没有break那就会一直执行成功语句后面的所以代码结果,直到遇见break语句才会停止。这个是需要注意的

}


package 条件循环;


public class break存在 {

   public static void main(String args[]){

       int i = 1;

       switch(i){

           case 0:

               System.out.println("0");

           case 1:

               System.out.println("1");

           case 2:

               System.out.println("2");

           case 3:

               System.out.println("3"); break;

           default:

               System.out.println("default");

       }

   }

}




image.png

如果在代码里面根本就没有遇见break语句,而且没有匹配到正确的条件,那么就一直匹配最后返回默认的default,也就是最后一个结果。


package 条件循环;


public class 没有break {
    public static void main(String[]args){
        int a=10;
        switch (a){
            case 0:
                System.out.println(0);
            case 1:
                System.out.println(1);
            case 2:
                System.out.println(2);
            default:
                System.out.println("没有找到!!!!");
        }
    }
}




image.png

注意break的写法与位置是需要注意的


switch在实际的编程里面其实不是很常用,大部分使用的还是while for循环这些控制循环语句


我们下期文章介绍一下关于循环控制


每文一语


你只管努力,生活的惊喜总会不期而遇的,加油!



相关文章
运用Java的for循环输出指定条件的素数
运用Java的for循环输出指定条件的素数
运用Java的for循环输出指定条件的素数
|
Java 容器
java控制布局
java控制布局 1、BorderLayout
87 0
|
Java
零基础学习Java语言——4、循环控制
零基础学习Java语言——4、循环控制
64 0
|
Java
Java基本语法(13)--条件分支switch-case结构
Java基本语法(13)--条件分支switch-case结构
108 1
Java基本语法(13)--条件分支switch-case结构
|
Java 数据库连接 数据库
java积累——数据库手动控制事务工具类
java积累——数据库手动控制事务工具类
235 0
|
Java Linux C语言
【Java SE】程序逻辑控制(下)
提到分支语句我们都不陌生,比如我们生活中都要面临着种种选择,而每个选择对应着不同的结果,我们的程序也是有许许多多的分支构成的,在Java中为我们提供了两种分支语句:if 和 switch语句,下面我们就来学习下这两个语句。
【Java SE】程序逻辑控制(下)
|
Java C语言
【Java SE】程序逻辑控制(上)
提到分支语句我们都不陌生,比如我们生活中都要面临着种种选择,而每个选择对应着不同的结果,我们的程序也是有许许多多的分支构成的,在Java中为我们提供了两种分支语句:if 和 switch语句,下面我们就来学习下这两个语句。
【Java SE】程序逻辑控制(上)
|
Java API
Java 主要三大程序流程控制
Java 主要三大程序流程控制
134 0
Java 主要三大程序流程控制
|
Java Shell
Java:通过Shell脚本控制SpringBoot项目的重新部署
Java:通过Shell脚本控制SpringBoot项目的重新部署
122 0