疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java控制执行流程


 

   

  if-else

  控制程序流程最基本的形式

  格式:

  if(boolean - expresion){

  statement

  }

  或

  if(boolean - expresion){

  statement

  }else{

  statement

  }

  例:

  public static int testIf(int testVal,int target){

  int result = 0;

  if(testVal > target){

  result+=1;

  }else if(testVal

  result -=1;

  }else{

  result = 0;

  }

  return result;

  }

  public static void main(String[] args) {

  int test1 = testIf(10, 9);

  System.out.println(test1); // 1

  }

  迭代语句:

  while、do-while、for用来控制循环,又叫迭代语句

  例:分别用while、do-while、for语句求1!+ 2!+...+10!阶乘和。

  1 while循环格式:

  2 while(boolean - expresion){

  3 statement

  4 }

  5 while循环求阶乘:

  6 int i1 = 1, sum1 = 0 , jc1 = 1;

  7 while(i1<=10){

  8 jc1 = jc1 * i1;

  9 sum1 = sum1 + jc1;

  10 i1++;

  11 }

  12 System.out.println(sum1); //4037913

  1 do-while循环格式:

  2 do{

  3 statement

  4 }while(boolean-expresion);

  5

  6 do-while循环求阶乘:

  7 int i2 = 1, sum2 = 0 , jc2 = 1;

  8 do{

  9 jc2 = jc2 * i2;

  10 sum2 = sum2 + jc2;

  11 i2++;

  12 }while(i2<=10);

  13 System.out.println(sum2); //4037913

  while语句与do-while语句唯一区别是do-while语句至少会执行一次,即使do-while循环表

  达式第一次计算为FALSE,也会执行一次,而while循环第一次若计算为FALSE,而其语句根

  本不会执行

  For

  for语句是一种经常使用的迭代形式其格式:

  for(initialization;boolean-expresion;step){

  statemnet

  }

  initialization 初始化表达式;

  boolean-expresion 布尔表达式;

  step 步进

  1 for循环求阶乘:

  2 int i3, sum3 = 0 , jc3 = 1;

  3 for(i3 = 1;i3 <= 10;i3++){

  4 jc3 = i3 * jc3;

  5 sum3 += jc3;

  6 }

  7 System.out.println(sum3);//4037913

  return关键词:

  两个用途:指定一个方法的返回值,并导致当前方法退出,即return语句后面的

  语句不会得到执行,且返回那个值。

  break和continue

  在任何迭代语句的主体部分都可用break和continue控制循环流程

  break:用来强行退出循环,不执行循环中剩余的语句

  continue:停止执行当前的迭代语句,然后退出循环起始处,重新下一次迭代

  switch

  switch被划分选择语句。根据整数表达式,switch语句可以从一系列代码中选出一段

  去执行

  switch语句格式:

  switch (key) {

  case value:

  statement

  break;

  case value:

  statement

  break;

  。。。

  default:

  statement

  break;

  }

  key:表示一个整数选择因子

  value:一个整数值

  switch能将整个表达式的结果与每个case值(case value)相比较,若发现符合就执行相

  应语句,若没有发现符合的就执行default(默认)语句

  复制代码

  1 例:9X9乘法表

  2 方法一:循环嵌套(for switch)

  3 public static void main(String args[]){

  4 //9x9乘法表

  5

  6 int i,j;

  7 //外层控制行,内层控制列

  8 System.out.println("***************方法一:******************");

  9 for(i = 1;i<=9;i++){

  10 for(j = 1 ; j <= 9;j++){

  11 switch (j) {

  12 case 1:

  13 System.out.print(j+"x"+i+"="+i*j);

  14 break;

  15 case 2:

  16 if(i>=2){

  17 System.out.print(" "+j+"x"+i+"="+i*j);

  18 break;

  19 }

  20 case 3:

  21 if(i>=3){

  22 System.out.print(" "+i+"x"+j+"="+i*j);

  23 break;

  24 }

  25 case 4:

  26 if(i>=4){

  27 System.out.print(" "+i+"x"+j+"="+i*j);

  28 break;

  29 }

  30 case 5:

  31 if(i>=5){

  32 System.out.print(" "+i+"x"+j+"="+i*j);

  33 break;

  34 }

  35 case 6:

  36 if(i>=6){

  37 System.out.print(" "+i+"x"+j+"="+i*j);

  38 break;

  39 }

  40 case 7:

  41 if(i>=7){

  42 System.out.print(" "+i+"x"+j+"="+i*j);

  43 break;

  44 }

  45 case 8:

  46 if(i>=8){

  47 System.out.print(" "+i+"x"+j+"="+i*j);

  48 break;

  49 }

  50 case 9:

  51 if(i>=9){

  52 System.out.print(" "+i+"x"+j+"="+i*j);

  53 break;

  54 }

  55 }

  56 }

  57 System.out.println("");

  58 }

  59 System.out.println("***************方法二:*********************");

  60 int i1,j1;

  61 for(i1 = 1;i1<=9;i1++){

  62 for(j1 = 1 ; j1 <= i1;j1++){

  63 System.out.print(i1+"x"+j1+"="+i1*j1+" ");

  64 }

  65 System.out.println("");

  66 }

  67 }

  68 }