零度非安全 发表于 2017-1-16 14:59:05

【Java 教程(原创)】012.条件语句详解

本帖最后由 零度非安全 于 2017-1-19 14:37 编辑

【Java 教程(原创)】索引帖

在说语句之前,我先将 Java 中的语句分为以下 6 类{:10_335:}。

(1) 方法调用语句。例如:
System.out.println("Hello Java");
(2) 表达式语句。表达式语句指由一个表达式构成一个语句,即在表达式尾加上分号。例如赋值语句:
x = 23;
(3) 复合语句。在 Java 中,可以用 { } 把一些语句括起来构成复合语句,例如:
{
      z = 123 + x;
      System.out.println("Hello Java");
}
(4) 空语句。一个分号也是一条语句,称为空语句。

(5) 控制语句。控制语句分为条件分支语句、开关语句和循环语句 3 种类型,将在后面几讲介绍。
(6) package 语句和 import 语句。package 语句和 import 语句和 类、对象 有关,将在以后讲到哈{:10_288:}。

static/image/hrline/4.gif

条件分支语句

如果要把条件分支语句细分的话,应该可以分为 3 种形式,以下是这 3 种形式的详细讲解。

if 语句

if 语句是单条件分支语句,即根据一个条件来控制程序执行的流程。
if 语句的语法格式如下:
if(表达式){
      若干语句
}
关于 if 语句的几点说明:

在 if 语句中,关键字 if 后面的一对小括号 ( ) 内的表达式的值必须是 boolean 类型,当值为 true 时,执行紧跟着的复合语句,结束当前 if 语句的执行;如果表达式的值为 false,结束当前 if 语句的执行。

需要注意的是,在 if 语句中,如果复合语句中只有一条语句,{ } 可以省略不写,但为了增强程序的可读性,最好不要省略(这是一个很好的编程习惯)。{:10_314:}一定要警戒自己哦。

在下面的例子中,将变量 a、b、c 中的数值按大小顺序进行互换(从小到大排列)。

运行效果如下:



例子代码如下:

asc_Operation.java
public class asc_Operation{
      public static void main(String args[]){
                int a = 9,b = 5,c = 7,t = 0;
                if(b < a){
                        t = a;
                        a = b;
                        b = t;
                }
                if(c < a){
                        t = a;
                        a = c;
                        c = t;
                }
                if(c < b){
                        t = b;
                        b = c;
                        c = t;
                }
                System.out.println("a = " + a + ",b = " + b + ",c = " + c );
      }
}
if-else 语句

if-else 语句是单条件分支语句,即根据一个条件来控制程序执行的流程。
if-else 语句的语法格式如下:

if(表达式){
      若干语句
}
else{
      若干语句
}
关于 if-else 语句的几点说明:

在 if-else 语句中,关键字 if 后面的一对小括号 ( ) 内的表达式的值必须是 boolean 类型,当值为 true 时,执行紧跟着的复合语句,结束当前 if-else 语句的执行;如果表达式的值为 false,则执行关键字 else 后面的的复合语句,结束当前 if-else 语句的执行。

下面是有语法错误的 if-else 语句:

if(x > 0)
      y = 10;
      z = 20;
else
      y = -100;
正确的写法是:

if(x > 0){
      y = 10;
      z = 20;
}
else
      y = -100;
需要注意的是,在 if-else 语句中,如果复合语句中只有一条语句,{ } 可以省略不写,但为了增强程序的可读性,最好不要省略(这是一个很好的编程习惯)。{:10_314:}一定要警戒自己哦。

下面这个例子有两条 if-else 语句,其作用是根据成绩输出相应的信息,运行效果如下所示:



例子代码如下:

achievement_Info.java
public class achievement_Info{
      public static void main(String args[]){
                int math = 65,english = 85;
                if(math > 60){
                        System.out.println("数学及格了");
                }
                else{
                        System.out.println("数学不及格");
                }
                if(english > 90){
                        System.out.println("英语是优");
                }
                else{
                        System.out.println("英语不是优");
                }
                System.out.println("我在学习 if-else 语句");
      }
}
if-else if-else 语句

if-else if-else 语句是多条件分支语句,即根据多个条件来控制程序执行的流程。
if-else if-else 语句的语法格式如下:

if(表达式){
      若干语句
}
else if(表达式){
      若干语句
}      
.
.
else{
      若干语句
}
if-else if-else 语句中的 else 部分是可选项,如果没有 else 部分,当所有表达式的值都为 false 时,结束当前 if-else if-else 语句的执行(该语句什么也没做)。

需要注意的是,在 if-else if-else 语句中,如果复合语句中只有一条语句,{ } 可以省略不写,但为了增强程序的可读性,最好不要省略(这是一个很好的编程习惯)。{:10_314:}一定要警戒自己哦(这么重要的事不要让人重复 3 遍,省略的去开枪自杀{:10_263:} 玩笑玩笑)。


【特别注意】贴子中的栗子希望鱼油们能自觉的手动敲上去,不要单纯的复制粘贴保存,然后编译运行。



点我前往上一讲
点我前往下一讲


codefor7 发表于 2017-1-16 15:59:27

看一下

零度非安全 发表于 2017-1-16 16:12:16

codefor7 发表于 2017-1-16 15:59
看一下

加油,么么哒!

小小七 发表于 2017-1-20 14:23:46

{:9_235:}写得非常基础,堪称入门教科书。

零度非安全 发表于 2017-1-20 14:29:52

小小七 发表于 2017-1-20 14:23
写得非常基础,堪称入门教科书。

嗯,是非常基础,为了照顾广大鱼油们,所以尽量简单易懂。若你有能力,可以来挑战我出的课后作业题哟!

http://bbs.fishc.com/forum.php?mod=viewthread&tid=81711&extra=page%3D1%26filter%3Dtypeid%26typeid%3D638

CarpLyy 发表于 2017-3-20 13:33:30

讲解的很细致,一定不会省略{}的

weiyang__ 发表于 2017-4-12 09:04:37

排版越来越赞喽{:10_288:}

ShaunSS 发表于 2017-5-17 14:02:09

012 打卡

suiyisuixin2017 发表于 2018-4-15 21:11:00

谢谢讲解
页: [1]
查看完整版本: 【Java 教程(原创)】012.条件语句详解