Java 语法介绍(五):条件控制

条件控制:if和switch

1:条件语句

条件语句是程序设计中最常用的语句,用他来选择程序的执行流程,Java中的基本条件判断语句是if...else...语句。其机构为:

if (条件表达式)
{
语句1
}
Else
{
语句2
}
语句3

“条件表达式”的值为真时执行“语句1”,然后执行语句3;否则执行“语句2”,然后执行语句3。

下面是一个用if--else语句构造多分支程序的例子:

if(a>5) b=1
else if(a>4) b=2
else if(a>3) b=3
...
else b=-1;

2:switch分支结构(开关语句)

switch分支结构用于多条件选择,虽然在多条件选择的情况下,也可以使用if...else...结构来实现,但是使用开关语句会使程序更为精炼、清晰。开关语句得格式为:

switch(条件表达式)
{
case 常量表达式1:
语句1 ;
break ;
case 常量表达式2:
语句2 ;
break ;
//......
case 常量表达式n:
语句n ;
break ;
default:
//
break
}

开关表达式首先计算出条件表达式的值,如果其值等于某个常量表达式,则执行该常量表达式后的语句,如果其值与所有的常量表达式的值不相等,则执行defualt后的语句。

在switch语句中,你通常在每一种case情况后都应使用break语句,否则,第一个相等情况后面所有的语句都会被执行,这种情况叫做落空。你可以试着分别加上去和去掉break语句来执行下面的例子:

class Switch Test
public static void main(String args[])
throws java.io.IOException
char a;
System.out.println("Enter a number from 1--3:");
a=(char)System.in.read();
switch(a)
case´1´:System.out.println("win a Car!");break;
case´2´:System.out.println("picked the goat");break
case´3´:System.out.println("get to keep your 100");
break;
default:System.out.println("entry");

在代码中加break语句后,你应明确知道程序将会发生的变化,并要确认程序没有转移到你不想执行的代码上。

掌握了以上这些基本语句之后,你可以写更加实际点的程序了,下面这个程序计算从终端输入的数字和字符的数量。

class SwitchTest
public static void main (String args[])
throws java.io.IOException
int numberOfDigits=0,numberOfSpaces=0,numberOfOthers=0;
char c;
while((c=(char)System.in.read())!=´´)
switch(c)
case´0´:
case´1´:
...
...
case´8´:
case´9´:numberOfDigits++;break;
case´ ´:numberOfSpaces++;break;
default:numberOfOthers++;break;
System.out.println(":");
System.out.println("Number of digits="+numberOfDigits+"");
System.out.println("Number of spaces="+numberOfSpaces+"");
System.out.println("Number of others="+numberOfOthers+"");

代码的while循环从键盘读入字符直至输入一个回车符,循环内部的switch语句先把它和数字比较,当发现相等时,它就使对应的统计变量的值加1,然后break语句结束switch语句,程序回到等待键盘输入的状态。程序中,在default语句中的break是不必要的,不过加上它可以使程序风格保持一致。

时间: 2024-10-31 22:51:00

Java 语法介绍(五):条件控制的相关文章

JAVA语法基础之流程控制

在进行程序设计的时候,我们会经常进行逻辑判断,根据不同的结果做不同的事,或者重复做某件事,我们对类似这样的工作称为流程控制.在Java中,流程控制分为两大类:选择和循环.下面就依次来介绍这两类. 一.选择 选择控制分为两种:if...else...和switch 1.if...else...,这种控制在表现上分为:单分支结构.双分支结构和多分支结构 1)单分支 单分支结构.这是最简单的一种选择结构,它只是简单的判断某个条件是否成立,如果成立就执行一段代码,语句形式为: if(表达式){ ....

Java 语法介绍(六):循环

循环: for,while和do Java中有三种循环控制语句,他们是:for语句.while语句和do语句,下面分别说明这三种语句的结构. 1:for循环 for语句的格式为: for (初始化语句; 条件语句; 控制语句) { 语句1 ; 语句2 ; .... 语句n ; } for 语句的执行顺序是:首先执行"初始化语句":然后测试"条件语句":若条件成立,则执行语句1到语句n:然后执行"控制"语句:接着再测试条件语句是否成立,如果成立则重

Java 语法介绍(一):Java语言的基本组成

Java语言主要由以下五种元素组成:标识符.关键字.文字.运算符和分隔符.这五种元素有着不同的语法含义和组成规则,它们互相配合,共同完成Java语言的语意表达.下面我们分别予以讲解. 1:标识符 变量,类和方法都需要一定的名称,我们将这种名称叫做标识符.Java中对标识符有一定的限制.首先:所有的标识符的首字符必须是字母(大小写).下划线_或美元符¥:其次标示符是由数字(0--9),所有从A--Z的大写字母.a--z的小写字母和下划线_.美元符¥和所有在十六进制0xc0前的ASCII码等构成:第

Java 语法介绍(七):Brake和Label

1:break break语句提供了一种方便的跳出循环的方法. boolean test=true; int i=0; while(test){ i++; if(i>=10) break;} 执行这段程序时,尽管while条件表达式始终为真,全循环只运行10次. 2:标号label 标号提供了一种简单的break语句所不能实现的控制循环的方法,当在循环语句中遇到break时,不管其它控制变量,都会终止.但是,当你嵌套在几层循环中想退出循环时又会怎样呢?正常的break只退出一重循环,你可以用标号

Java 语法介绍(三):变量

为了在Java中存储一个数据,必须将它容纳在一个变量之中.而数据类型决定了一个变量可以赋给什么值以及对变量进行什么样的操作.定义一个变量的两个基本要素是:类型和标识符,通常你可以用如下语法去说明变量: type identifer[,identifer]; 该语句告诉编译器用"type"的类型和以"identifer"为名字建立一个变量,这里的分号将告诉编译器这是一个说明语句的结束:方格中的逗号和标识符表示你可以把几个类型相同的变量放在同一语句进行说明,变量名中间用

asp+语法介绍(五)----asp+的服务器端编程控件篇

asp+|编程|服务器|控件|语法|服务器|控件 /*文章出处:http://www.aspCool.com 转载请注明,谢谢!*/使用定制的服务器控件在asp+中提供了45个已经做好了的服务器控件,我们可以将他们象黑盒子一样的使用.除此以外,开发者还可以使用任何第三方开发的服务器控件在下面的例子中,我们要用到一个通过<acme:calendar runat=server>标签声明的组件,请注意,在文件的第一行必须使用<% Register %> 来声明 "Acme Xm

Java 语法介绍(四):数组

1:数组说明 数组是Java语言中的特殊类型.它们存放能通过索引来引用的一系列对象,另外,你可以定义数组的数组,下面是一些示例: int i[]; char C[]; float f[][]; 2:数组运算符 在JAVA中数组的分配是通过使用new运算符建立数组然后把它赋给变量,如: int i[]=new int[10]; 前面这个例子建立了一个包括10个整型变量的数组并把它赋给i,你将得到按数字顺序的变量i[0],i[1],......,i[8],i[9],注意下标是从第一个元素的0开始,到

Java 语法介绍(二):运算符

1:优先级 优先级是指同一式子中多个运算符被执行和次序,同一级里的操作符具有相同的优先级,相同优先级得操作符号相遇是,根据结合性决定运算次序,下面从高到低的优先级列出了运算符.同一行中的运算符优先级相同. . [] () 结合性从左到右 ++ -- ! ~ 结合性从左到右 * / % 结合性从左到右 + - 结合性从左到右 << >> >>> 结合性从左到右 < > <= >= 结合性从左到右 == != 结合性从左到右 & 结合性

运维经验分享(五)-- 改进的java进程管理的服务控制脚本

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1677157 运维经验分享作为一个专题,目前共7篇文章 <运维经验分享(一)-- Linux Shell之ChatterServer服务控制脚本> <运维经验分享(二)-- Linux Shell之ChatterServer服务控制脚本二次优化> <运维经验分享(三)-- 解决Ubuntu下cro