程序流控制
循环语句
while和do while语句
while语句的格式为:
while (逻辑表达式){
语句或语句块
}
用while语句复制字符串:
public class CopyString{
public static void main(String[] args) {
String copyFromMe = "Copy until reach g.";
StringBuffer copyToMe = new StringBuffer(); //引用变量分配数据空间
int i = 0;
char c = copyFromMe.charAt(i); //访问字符串中单个字符的方法
while(c != 'g'){
copyToMe.append(c); //在字符串末尾添加字符的方法
c = copyFromMe.charAt(++i);
}
System.out.println(copyToMe);
}
}
/*
结果:
Copy until reach
*/
do while语句的格式为:
do{
语句或语句块
}while(逻辑表达式)
用do while语句复制字符串:
public class CopyString{
public static void main(String[] args) {
String copyFromMe = "Copy until reach g.";
StringBuffer copyToMe = new StringBuffer();
int i = 0;
char c = copyFromMe.charAt(i);
do{
copyToMe.append(c);
c = copyFromMe.charAt(++i);
}while(c != 'g');
System.out.println(copyToMe);
}
}
/*
结果:
Copy until reach
*/
for语句
for语句格式:
for(初始语句;逻辑表达式;迭代语句){
语句或语句块
}
用for语句输出一个数组的元素:
public class Output_Member{
public static void main(String[] args) {
int[] arrayOfInts = {6,15,8,47,23,90};
int i;
for(i = 0;i < arrayOfInts.length;i++){
System.out.print(arrayOfInts[i] + " ");
}
}
}
/*
结果:
6 15 8 47 23 90
*/
分支语句
if else语句
if else语句格式(与C语言相似):
if(逻辑表达式){
语句或语句块1
}
else if(逻辑表达式2){
语句或语句块2
}
else(逻辑表达式3){
语句或语句块3
}
if后面的表达式必须得到true或false,不能用零或非零的数字来代替。
switch语句
switch语句格式:
switch(整形表达式){
case a:
语句组1
break;
case b:
语句组2
break;
case c:
语句组3
break;
……
……
default:
语句组
break;
}
整形表达式必须是int兼容的类型,即byte、short、char和int,不允许用float和double。case后面的语句组也可以不用括号括起来。无论执行哪个分支,程序都会执行下去直到遇见break为止。
循环跳转语句
break语句
break语句可以分为带标签的和不带标签的。不带标签的用来终止最内层的循环和switch语句,带标签的用来终止特定的循环和switch语句。
在二维数组中搜索指定的值:
public class BreakWithLabel{
public static void main(String[] args) {
int[][] arrayOfInts = {
{32,87,3,589},
{12,1076,2000,8},
{622,127,77,955}
};
int searchNumber = 12;
int i;
int j;
boolean foundIt = false;
search: //给循环命名
for(i=0;i<arrayOfInts.length;i++){
for(j=0;j<arrayOfInts[i].length;j++){ //若只在定义时令j=0而此处不赋值会有错误
if(arrayOfInts[i][j] == searchNumber){
foundIt = true;
break search; //跳出search循环
}
}
}
if(foundIt){
System.out.println("Found it.");
}
else{
System.out.println("Can't found it.");
}
}
}
//结果:Found it.
continue语句
continue语句的作用在于结束本次循环,其他与C语言基本类似。不带标签的表示跳出内层循环的本次循环,而带标签的表示结束由标签所指的外层循环的本次循环。