Java基础if选择01

简介: Java基础if选择01

if语句的语法结构以及运行原理?


if语句是分支语句,也可以叫做条件语句。

if语句的语法格式:

第一种写法:


int a = 100;
int b = 200;
if(布尔表达式){
java语句;
java语句;
}


这里的一个大括号{} 叫做一个分支。

if 这个单词翻译为如果,所以又叫做条件语句。

该语法的执行原理是:

如果布尔表达式的结果是true,则执行大括

号中的程序,否则大括号中代码不执行。


第二种写法:

if(布尔表达式){ // 分支1
 java语句;
 }else{ // 分支2
 java语句;
 }

执行原理:如果布尔表达式的结果是true,则执行

分支1,分支2不执行。如果布尔表达式的结果是false,

分支1不执行,执行分支2.

以上的这个语句可以保证一定会有一个分支执行。


第三种写法:

if(布尔表达式1){ // 分支1
 java语句;
 }else if(布尔表达式2){ // 分支2
 java语句;
 }else if(布尔表达式3){
 java语句;
 }else if(布尔表达式4){
 java语句;
 }…

以上if语句的执行原理?


先判断“布尔表达式1”,如果“布尔表达式1”为true,则执行分支1,

然后if语句结束了。

当“布尔表达式1”结果是false,那么会继续判断布尔表达式2的结果,

如果布尔表达式2的结果是true,则执行分支2,然后整个if就


从上往下依次判断,主要看第一个true发生在哪个分支上。

第一个true对应的分支执行,只要一个分支执行,整个if结束。


第四种写法:

if(布尔表达式1){ // 分支1
 java语句;
 }else if(布尔表达式2){ // 分支2
 java语句;
 }else if(布尔表达式3){
 java语句;
 }else if(布尔表达式4){
 java语句;
 }else{
 java语句; // 以上条件没有一个成立的。这个else就执行了。
 }


注意:


1、对于if语句来说,在任何情况下只能有1个分支执行,不可能

存在2个或者更多个分支执行。if语句中只要有1个分支执行了,

整个if语句就结束了。(对于1个完整的if语句来说的。)


2、以上4种语法机制中,凡是带有else分支的,一定可以保证会有

一个分支执行。以上4种当中,第一种和第三种没有else分支,这样

的语句可能会导致最后一个分支都不执行。第二种和第四种肯定会有

1个分支执行。


3、当分支当中“java语句;”只有1条,那么大括号{}可以省略,但为了

可读性,最好不要省略。(有的程序员在编写代码的时候,可能会故意

将大括号{}省略,你能看懂就行。)


4、控制语句和控制语句之间是可以嵌套的,但是嵌套的时候大家最好

一个语句一个语句进行分析,不要冗杂在一起分析。

if(true){
//窍门:分析外面if语句的时候,里面的这个if语句可以看做是普通的一堆java代码。
if(true){
if(false){
 }else{
 …最终走这里了。
 }
 }else{
 }
 }else{
 }
if(){
// 窍门:分析外面if时,里面的for循环当做普通java代码来看。
for(){
if(){
for(){
 }
 }
 }
 }else{
 while(){
 if(){
 for(){
 }
 }
 }
 }
public class IfTest01{
  public static void main(String[] args){
    //需求:所在位置的五公里范围之内有肯德基的话,去KFC吃午饭
    //公里数
    //double distance = 6.0;//单位KM
    double distance = 1.0;
    if(distance<5.0){
      System.out.println("去KFC吃中午饭!");
    }
    /*
         需求:
           假设系统给定一个考生的成绩,成绩可能带有小数点
         根据学生的成绩判断该学生的成绩等级:
             【90-100】A
           【80-90】 B
           【70-80】 C
           【60-70】 D
           【0-60】  E
         以上的逻辑判断采用if语句完成,应该怎么写?
    //错误的编写      
        double achievement = 87.5; 
    if(achievement < 60.0){
      System.out.println("该考生的成绩为E");
    }else if(60.0 < achievement < 70.0){
      System.out.println("该考生的成绩为D");
    }else if(70.0 < achievement < 80.0){
      System.out.println("该考生的成绩为C");
    }else if(80.0 < achievement < 90.0){
      System.out.println("该考生的成绩为B");
    }else if(90.0 < achievement < 100.0){
      System.out.println("该考生的成绩为A");
    }else{
      System.out.println("该考生成绩不合格!");
    }
  }
  */
      double score = -40;
      String grade = "该考生的成绩等级为:E";
    if(score < 0 || score > 100){
      grade = "对不起,该考生的成绩不合法!";
    }else if(score >= 90){
      grade = "该考生的成绩等级是:A级!";
    }else if(score >= 80){
      grade = "该考生的成绩等级是:B级!";
    }else if(score >= 70){
      grade = "该考生的成绩等级是:C级!";
    }else if(score >= 60){
      grade = "该考生的成绩等级是:D级!";
    }
      System.out.println(grade);
    }
  }
相关文章
|
6月前
|
存储 缓存 Java
最新Java基础系列课程--Day10-IO流文件处理
最新Java基础系列课程--Day10-IO流文件处理
|
6月前
|
存储 Java
最新Java基础系列课程--Day10-IO流文件处理(一)
最新Java基础系列课程--Day10-IO流文件处理
|
1月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
67 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
5月前
|
Java
【Java基础】输入输出流(IO流)
Java基础、输入输出流、IO流、流的概念、输入输出流的类层次结构图、使用 InputStream 和 OutputStream流类、使用 Reader 和 Writer 流类
169 2
|
2月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
5月前
|
安全 Java
|
5月前
|
搜索推荐 算法 Java
【Java基础】 几种简单的算法排序
几种简单的JAVA算法排序
53 4
|
6月前
|
Java
Java中的if选择语句详解
Java中的if选择语句详解
84 1
|
6月前
|
Java
Java程序设计基础——if条件语句
Java程序设计基础——if条件语句
|
5月前
|
存储 缓存 Java
Java基础17-读懂Java IO流和常见面试题(二)
Java基础17-读懂Java IO流和常见面试题(二)
41 0