java的if else语句入门
条件语句,是程序中根据条件是否成立进行选择执行的一类语句,这类语句在实际使用中,难点在于如何准确的抽象条件。例如实现程序登录功能时,如果用户名和密码正确,则进入系统,否则弹出“密码错误”这样的提示框等。
本部分对于条件语句的介绍,重点在于语法讲解和基本的使用,更详细的使用参看后续的综合示例部分。
在Java语言中,条件语句主要有两类语法:if语句和switch语句。
1 、if语句
if关键字中文意思是如果,其细致的语法归纳来说总共有三种:if语句、if-else语句和if-else if-else语句,下面分别进行介绍。http://hovertree.com/menu/java/
1.1 if语句
该类语句的语法格式为:if(条件表达式)
功能代码;语法说明:if是该语句中的关键字,后续紧跟一对小括号,该对小括号任何时候不能省略,小括号的内部是具体的条件,语法上要求该表达式结果为boolean类型。后续为功能的代码,也就是当条件成立时执行的代码,在程序书写时,一般为了直观的表达包含关系,功能代码一般需要缩进。
需要特别注意的是:
1、 这里的功能代码只能是一行,关于多行结构的功能代码,后续将说明。
2、 if(条件表达式)后续一般不书写分号if语句的执行流程为:如果条件表达式成立,则执行功能代码,如果条件表达式不成立,则不执行后续的功能代码。
示例代码:
int a = 10;
if(a >= 0)
System.out.println(“a是正数”);
if( a % 2 == 0)
System.out.println(“a是偶数”);
在该示例代码中,第一个条件是判断变量a的值是否大于等于零,如果该条件成立则执行输出,第二个条件是判断变量a是否为偶数,如果成立也输出。
注意以下代码的执行流程:
int m = 20;
if( m > 20)
m += 20;
System.out.println(m);
按照前面的语法格式说明,只有m+=20;这行代码属于功能代码,而后续的输出语句和前面的条件形成顺序结构,所以该程序执行以后输出的结果为20.如果当条件成立时,需要执行的语句有多句,则可以使用语句块来进行表述,语法格式如下:
if(条件表达式){
功能代码块;
}
使用这种语法格式,使用一个代码块来代替前面的功能代码,这样可以在代码块内部书写任意多行的代码,而且也使整个程序的逻辑比较清楚,所以在实际的代码编写中推荐使用该种逻辑。
1.2 if-else语句
if-else语句实现了封闭的条件,在程序中使用的更加常见。其中else关键字的作用是“否则”,即条件不成立的情况。
if-else语句的语法格式如下:
if(条件表达式)
功能代码1;
else
功能代码2;
语法说明:其中前面的部分和if语句一样,else部分后面是功能的代码,按照该语法格式,功能代码只能有一句。
执行顺序:如果条件成立,则执行if语句中的功能代码1,否则执行else中的功能代码2.示例代码为:
int n = 12;
if(n % 2 != 0)
System.out.println(“n是奇数”);
else System.out.println(“n不是奇数”);
则因为n%2的值是0,条件不成立,则执行else语句的代码,程序输出“n不是奇数”。
在实际使用时,为了结构清楚,以及可以在功能代码部分书写多行代码,一般把功能代码部分使用代码块,则语法格式为:
if(条件表达式){
功能代码块
}else{
功能代码块
}
当程序中有多个if时,else语句和最近的if匹配。示例代码:
if(条件1)
功能代码1;
if(条件2)
功能代码2;
else功能代码3;
则这里的else语句和条件2对应的if语句匹配,前面的条件1是一个独立的语句。在实际代码中,可以使用大括号使整个程序的结构更加清楚。
对于if-else语句来说,因为if的条件和else的条件是互斥的,所以在实际执行中,只有一个语句中的功能代码会得到执行。
在实际开发中,有些公司在书写条件时,即使else语句中不书写代码,也要求必须书写else,这样可以让条件封闭。这个不是语法上必须的。
1.3 if-else
if-else语句在现实中,有些时候的条件不是一个,而是一组相关的条件,例如将阿拉伯数字转换为中文大写,根据分数转换为对应的等级等,都是多条件的结构,在程序中为了避免写多个if语句的结构,提供了一类专门的多分支语句,这就是if-else if-else语句。
if-else if-else语句的语法格式为:
if(条件1)
功能代码1;
else if(条件2)
功能代码2;
else if(条件3)
功能代码3;
……
else功能代码;
语法说明:
1、 else if是else和if两个关键字,中间使用空格进行间隔。
2、 条件1到条件n都是boolean类型
3、 else if语句可以有任意多句
4、 最后的else语句为可选
5、 如果功能代码部分不是语句块,也就是不用大括号,就只能写一句。
执行流程:当条件1成立时,则执行功能代码1;当条件1不成立且条件2成立时,则执行功能代码2;如果条件1、条件2都不成立且条件3成立,则执行功能代码3,依次类推,如果所有条件都不成立,则执行else语句的功能代码。其执行流程的流程图如上所示。
下面是一个实现根据月份的值,输出该月份包含的日期数,2月份全部输出28,不考虑闰年的示例代码:
int month = 3; int days = 0; //日期数 if(month == 1){ days = 31; }else if(month == 2){ days = 28; } else if(month == 3){ days = 31; } else if(month == 4){ days = 30; } else if(month == 5){ days = 31; } else if(month == 6){ days = 30; } else if(month == 7){ days = 31; } else if(month == 8){ days = 31; } else if(month == 9){ days = 30; } else if(month == 10){ days = 31; } else if(month == 11){ days = 30; } else if(month == 12){ days = 31; } System.out.println(days);/* 何问起 hovertree.com */
再来看一个示例代码,该代码的功能是实现将百分制的成绩转换为A、B、C、D和E,代码如下:
int score = 87; if(score >= 90){ System.out.println(‘A’); } else if(score >= 80){ System.out.println(‘B’); } else if(score >= 70){ System.out.println(‘C’); } else if(score >= 60){ System.out.println(‘D’); } else{ System.out.println(‘E’); }
/* 何问起 hovertree.com */
从该代码中可知,每个else if语句在书写时是有顺序的,在实际书写时,必须按照逻辑上的顺序进行书写,否则将出现逻辑错误。
if-else if-else语句是Java语言中提供的一个多分支条件语句,但是在判断某些问题时,会书写的比较麻烦,所以在语法中提供了另外一个语句——switch语句来更好的实现多分支语句的判别。
推荐:http://www.cnblogs.com/roucheng/p/3504465.html
java的if else语句入门的更多相关文章
- JavaSE入门学习7:Java基础语法之语句(下)
继续接着Java基础语法来:JavaSE入门学习5:Java基础语法(一)和JavaSE入门学习6:Java基础语法(二). 语句 Java经常使用的3种循环:while.do...while,for ...
- Java编程学习知识点分享 入门必看
Java编程学习知识点分享 入门必看 阿尔法颜色组成(alpha color component):颜色组成用来描述颜色的透明度或不透明度.阿尔法组成越高,颜色越不透明. API:应用编程接口.针对软 ...
- Java程序员的Golang入门指南(下)
Java程序员的Golang入门指南(下) 4.高级特性 上面介绍的只是Golang的基本语法和特性,尽管像控制语句的条件不用圆括号.函数多返回值.switch-case默认break.函数闭包.集合 ...
- Java转Ruby【快速入门】
最近参加实习了,公司的技术栈中需要用到 Ruby 以及 Rails 框架,所以算是开始了踩坑之旅吧.. Ruby 简介 网上的简介要搜都能搜到,具体涉及的包括历史啦之类这里不再赘述,提几个关键词吧: ...
- java基础-控制流程语句
一 前言 周末睡觉好舒服,都不想动了,就想睡睡,晒晒太阳,作者劳碌命还是过来写文章了.基础系列文章已经已经出到控制流程,感觉也挺快的,我很自信全网没都多少系列文章能有我这基础系列写的这么好,易于初学者 ...
- JAVA JDK 环境变量配置 入门详解 - 精简归纳
JAVA JDK 环境变量配置 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 9 / 13 转载请注明出处!️ 目录 JAVA JDK 环境变量配置 入门详解 - 精简归纳 一.为什么j ...
- 【java开发】分支语句、循环语句学习
一.Java分支语句类型 if-else 语句 switch 关于if-esle语句可以拆分为三种 if语句 if(条件){语句块;} if-else语句if(条件语句){语句块;} if-else ...
- java 中for each语句
[转]java foreach 使用 foreach语句是java5的新特征之一,在遍历数组.集合方面,foreach为开发人员提供了极大的方便. foreach语句是for语句的特殊简化版本 ...
- 1.SQL语句入门
--SQL语句入门-- --1.sql语言是解释语言 --2.它不区分大小写 --3.没有"",所有字符或者字符串都使用''包含 --4.sql里面也有类似于c#的运算符 -- 算 ...
随机推荐
- swfupload 例子
upload.html <!DOCTYPE html> <html lang="en"> <head> <script type='tex ...
- EF架构~扩展一个分页处理大数据的方法
回到目录 最近总遇到大数据的问题,一次性处理几千万数据不实际,所以,我们需要对大数据进行分块处理,或者叫分页处理,我在EF架构里曾经写过类似的,那是在进行BulkInsert时,对大数据批量插入时候用 ...
- [转]五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)
当Adobe.Microsoft.Sun等一系列巨头开始表现出对"开源"的青睐时,"开源"的时代即将到来!现今存在的开源协议很多,而经过Open Source ...
- Atitit 常见的树形结构 红黑树 二叉树 B树 B+树 Trie树 attilax理解与总结
Atitit 常见的树形结构 红黑树 二叉树 B树 B+树 Trie树 attilax理解与总结 1.1. 树形结构-- 一对多的关系1 1.2. 树的相关术语: 1 1.3. 常见的树形结构 ...
- PHP 函数基础
1.简单函数 函数四要素:返回类型,函数名,参数列表,函数体 function Show(){ echo "hello";}Show(); 输出了 ...
- Android 控件架构及View、ViewGroup的测量
附录:示例代码地址 控件在Android开发的过程中是必不可少的,无论是我们在使用系统控件还是自定义的控件.下面我们将讲解一下Android的控件架构,以及如何实现自定义控件. 1.Android控件 ...
- java基础-复制
package hanqi.test; import java.io.FileInputStream; import java.io.FileOutputStream; public class Te ...
- python入门学习课程推荐
最近在学习自动化,学习过程中,越来越发现coding能力的重要性,不会coding,基本不能开展自动化测试(自动化工具只是辅助). 故:痛定思痛,先花2个星期将python基础知识学习后,再进入自动化 ...
- Jetty 服务器的知识
Jetty 服务器的知识 也许你还没有听说过这个Jetty服务器,不过它确实是一种比较轻量级的Java服务器,和Tomcat一样,专门解释JavaWeb程序的服务器.因为在之前学习Java Web 的 ...
- 队列-java代码
public class QueueDemo { private int maxSize; private long[] queueArray; // 队列的头,实际是数组的尾 private int ...