switch有时也被划分为一种选择语句。根据整数表达式的值,现在使用高版本的jdk可以根据字符型表达式,switch语句可以从一系列代码中选出一段去执行。它的整数表达式的格式如下:
switch(integral-selector) { caseintegral-value1 : statement; break; caseintegral-value2 : statement; break; caseintegral-value3 : statement; break; caseintegral-value4 : statement; break; caseintegral-value5 : statement; break; // ... default: statement; }
其中integral-selector(整数选择因子)是一个能够产生整数值的表达式,switch能将这个表达式的结果跟每个integral-value(整数值)相比较,若发现相符的就执行对应的语句,若没有发现相符的就执行default语句。
在上面的定义中大家主要到,每个case语句后面都跟着break,这样可以使执行流程跳转到末尾;若省略break,则执行下面的case语句比较,直到遇到break为止。下面举一个随机生成字母,并判断他们是元音还是辅音的例子,注意,这里的单个字母是char,每个char字符都对应一个整数值:
importjava.util.*; importstaticnet.mindview.util.Print.*; publicclassVowelsAndConsonants { publicstaticvoidmain(String[] args) { Randomrand=newRandom(47); for(inti=0; i<100; i++) { intc=rand.nextInt(26) +‘a’; printnb((char)c+", "+c+": "); switch(c) { case‘a’: case‘e’: case‘i’: case‘o’: case‘u’: print("vowel"); break; case‘y’: case‘w’: print("Sometimes a vowel"); break; default: print("consonant"); } } } }
/* Output:
y, 121: Sometimes a vowel
n, 110: consonant
z, 122: consonant
b, 98: consonant
r, 114: consonant
n, 110: consonant
y, 121: Sometimes a vowel
g, 103: consonant
c, 99: consonant
f, 102: consonant
o, 111: vowel
w, 119: Sometimes a vowel
z, 122: consonant
...
*///:~
本章介绍了大多数编程语言都具有的基本特性:运算,操作符优先级,类型转换以及条件选择和迭代。有了这些准备,让我们更靠近面向对象的程序设计世界。以后每个章节都是对上述几个章节内容的反复运用和编程技巧的设计。