顺序结构

从上至下,依次执行

if 语句
在 Java 里,用 if 语句来实现“当满足 XXX 条件时,执行 YYY”这样的逻辑判断。
例如,在使用共享单车时需要检查人的年纪。如果在 12 岁以下,则禁止骑行。用 Java 代码可以表示为,
int age = 11; // 年龄
if ( age < 12 )
{
System.out.println("未满 12 岁,不能骑小黄车");
}
在这里就使用了 if 语句。其基本形式如下,
if ( E1 )
{
S1
}
其运行规则为:“当 E1 成立时,执行 S1”。 也就是说,当 E1 的值为 true 时执行 S1 语句。

分步过程讲解
为了方便书面讲解,对每一行代码前面加一个行号。做两组测试。

* 第一组测试 *
1
2
3
4
int age = 11 ; // 年龄
if ( age < 12 )
{
System.out.println("未满 12 岁,不能骑小黄车");
}
System.out.println("结束");
运行过程如下:
运行 ①:age 的值为 11
运行 ②:先计算 a<12 的值为 true ,所以会进入大括号内部运行
运行 ③:
运行 ④:结束

* 第二组测试 *
现在,我们把初始条件 age 设为 14,再运行一下:
1
2
3
4
int age = 14 ; // 年龄
if ( age < 12 )
{
System.out.println("未满 12 岁,不能骑小黄车");
}
System.out.println("结束");
则运行过程如下:
运行 ①: age 的值为 14
运行 ②: 先计算 a<12 的值为 false,所以直接跳出 if
运行 ④: 结束

if 语句的两种基本形式
if 语句有两种基本写法,分别介绍一下。
第一种:
if ( E1 )
{
S1
}

第二种:表示“如果,。。。;否则,。。。”这样的逻辑。如果 E1成立,就执行 S1;否则,就执行 S2。
if ( E1 )
{
S1
}
else
{
S2
}

下面就第二种写法给一个例子。

例如,一个学生的分数用 score 来表示,如果分数少于 60 分,则判定为不及格;否则,则提示通过、并有奖励。

代码如下,
int score = 77; // 分数
if ( score < 60)
{
System.out.println("不及格!得重考啦!");
}
else
{
System.out.println("恭喜,通过了!");
System.out.println("有奖励!");
}
System.out.println("结束");
通过这个例子,我们发现大括号里其实是可以添加多条语句的。比如,在 else{ } 里,我们添加了 2 行语句,它们会一并执行。

if 语句的完全形式
用 if... else if ... else if ... else 可以表示“如果... 再如果 ... 再如果...否则”这样的多重判断的逻辑。形式如下,
if ( E1 )
{
S1
}
else if ( E2 )
{
S2
}
else if (E3)
{
S3
}
else
{
SS
}

在运行时,先判断 E1 是否成功;若 E1 不成产,再判断 E2 是否成功;...一直到最后一个条件。

下面举一个例子来说明这种多重条件的判断。例如,一个学生分数score,若在 90 分以上记为 A,若在 80-90 分记为 B,若在 70-80 记为C,若在 70 分以下记为 D。代码如下,
int score = 77;
if ( score >= 90 ) // 90 以上
{
System.out.println("等级: A");
}
else if (score >= 80) // 80-90
{
System.out.println("等级: B");
}
else if (score >= 70) // 70-80
{
System.out.println("等级: C");
}
else // 70 以下
{
System.out.println("等级: D");
}
System.out.println("结束");

更多精彩,关注公众号

Java入门指南-04 顺序、分支、循环的更多相关文章

  1. 测试人员学Java入门指南

    目标读者 本指南特别适合有Python基础的同学学习Java入门,对于没有任何编程经验的同学可能会存在困难. 为什么测试人员要学Java 选择Java,应该不错.TesterHome测试论坛知名大佬基 ...

  2. AngularJS快速入门指南04:指令

    AngularJS通过指令将HTML属性进行了扩展. AngularJS指令 AngularJS指令是带有ng-前缀的扩展HTML属性. ng-app指令用来初始化AngularJS applicat ...

  3. Java入门指南-03 操作符与表达式

    一.赋值操作符 在 Java 语言里,等号称为赋值操作符.例:a = b + 100;注意,不要把 Java 语言理解为数学.在 Java 里,这个等号的作用是“赋值”,即右侧的值赋给左边的变量. 要 ...

  4. java入门学习(3)—循环,选择,基础算法,API概念

    1.顺序结构:也就是顺着程序的前后关系,依次执行.2.选择分支:利用if..else , / switch(){case [ 这个必须是常量]:}; / if..else if….. ….else.. ...

  5. java入门很简单之各种循环

    1.if结构的语法: <1> 简单的if :if (条件){ //代码块                                                           ...

  6. 针对安卓java入门:条件语句和循环语句

    条件语句: if(){..} if(){}else{..} if(){..}else if(){..} if(){..}else if(){..}else{..} switch(x){ case x: ...

  7. java入门了解04

    1.异常的体系:---------|Throwable --------------| Error (错误) 错误一般是由于jvm或者是硬件引发的问题,所以我们一般都不会通过代码去处理.------- ...

  8. Java入门指南-02 变量

    一.回顾上一篇讲到了常用的DOS命令.如何创建第一个程序.打印.注释与空白. 那么我们已经学会了使用System.out.println() 可以来输出一个值.进一步的,我们可以用它来显示简单的算术运 ...

  9. Java入门指南-01 基本概要说明

    一.Java语言概述 Java是一门面向对象编程语言.编程,即编写程序.程序对于我们来说,应该是有所了解的.只是有可能你们不知道而已.比如,我们电脑上的 QQ.谷歌浏览器等,都叫做应用程序. 二.本系 ...

随机推荐

  1. OpenStack Blazar 架构解析与功能实践

    目录 文章目录 目录 Blazar Blazar 的安装部署 Blazar 的软件架构 Blazar 的资源模型与状态机 Blazar 的主机资源预留功能(Host Reservation) 代码实现 ...

  2. C基础知识(8):结构体、共用体、位域

    结构体 数组允许定义可存储相同类型数据项的变量,而结构体是C编程中另一种用户自定义的可用的数据类型,它允许用户可以存储不同类型的数据项. struct 语句的格式如下: struct [structu ...

  3. class文件访问标志

    class文件中用两个字节共16位代表访问标志(access flags),用于表明该类或接口被访问时能提供的一些信息: 标志名称 标志值 含义 ACC_PUBLIC 0x00 01 是否为Publi ...

  4. Mysql:常用操作(导入数据,用户授权,远程连接授权,设置通信缓冲区的最大长度)

    1.导入数据命令: mysql --host=localhost --port=3306 --user=root --password=hnsjt_lwsj@2018 szyszx_20180515- ...

  5. java游戏服务器 建造者模式

    这里的具体的建造者ConcreteBuilder可以多个 这里我们以建造汽车为例: 假设汽车需要:方向盘.汽车壳.还有四个轮子  ---------这三样才能跑起来 如果你因为粗心漏了其中的某个建造过 ...

  6. Python简单网络爬虫实战—下载论文名称,作者信息(下)

    在Python简单网络爬虫实战—下载论文名称,作者信息(上)中,学会了get到网页内容以及在谷歌浏览器找到了需要提取的内容的数据结构,接下来记录我是如何找到所有author和title的 1.从sou ...

  7. python基础知识(列表详解)

    列表(list) 列表中可以存入整数.实数.布尔值.字符串.序列.对象 可变序列 列表  []  元素间隔用   ,号分隔 列表的创建和删除 使用赋值运算符直接创建列表 listname = [元素1 ...

  8. react中路由跳转push与replace的区别

    路由跳转,replace / push 区别 push: a-b-c 可以回到上一级 例: this.props.history.push('路由地址') replace: a-b-c 回不到上一级 ...

  9. 【AMAD】betamax -- 一个ruby-VCR的模仿品,只支持requests

    简介 动机 作用 用法 个人评分 简介 betamax1会记录你的HTTP操作,可以让你在测试的时候不必重复进行真实的请求. 动机 如果你的代码需要和外部资源一起运作,那么测试这段代码的方法就叫做集成 ...

  10. 51CTO下载-html+javascript+css学习宝典

    一.html知识 1. meta标签 Meta: 提供网页信息,搜索引擎使用 <meta name=“aa” content=“bbb”> <meta http-equiv=“exp ...