1,if-else
   
    
     
      if-else
     
    
    语句是控制程序流程的最基本的形式。
    
     
      else
     
    
    是可选的。
    
     
      if
     
    
    和
    
     
      else
     
    
    后面跟的是用分号结尾的简单语句。下面的
    
     
      test()
     
    
    方法简单阐述
    
     
      if-else
     
    
    的表现形式及其现象。
   
public class test {
    static int result = 0;
    static void test(int number1, int number2){
        if(number1 > number2)
            result = +1;
        else if(number1 < number2)
            result = -1;
        else
            result = 0;
    }
    public static void main(String[] args) {
        test(10, 5);
        System.out.println(result);
        test(5, 10);
        System.out.println(result);
        test(5, 5);
        System.out.println(result);
    }
}
- 输出内容为:
 
1
-1
0- 其中在
 
test()
中间部分可以看到一个“
else-if
”,这个是一个else后面紧跟另一个新的
if
语句。
    2,迭代
   
- 
     
while、do-while
和
for
用来控制循环,有时将他们划分为迭代语句。语句会重复执行,知道起控制作用的布尔表达式得到“假”的结果为止。 
    3,while语句
   
    
     
      while
     
    
    循环语句格式如下:
   
while(Boolean-expression)
   statement
- 当循环开始的时候,会先计算一下布尔表达式的值;而在语句的下一次迭代开始前会再计算一次。也就是说
 
while
语句在进入循环体之前要先判断条件是否成立,如果成立的话则进入循环体。
例如:
public static void main(String[] args) {
        int i=2;
        while(i<3){
            i+=1;
        }
        System.out.println(i);
    }
- 显然的是输出结果为
 
3
。
    4,do-while
   
    
     
      do-while
     
    
    格式如下:
   
do
  statement
while(Boolean-expression);
- do-while的语句至少会执行一次,即便表达式的值为false。也就是说对于do…while语句,不管条件是否成立都要先执行一遍。
 
简单示例如下:
public static void main(String[] args) {
        int i=2;
        do{
            i+=1;
        }
        while(i<3);
        System.out.println(i);
    }
- 运行结果为
 
3
。
    
     
      while循环是先判断后循环 。
     
    
    
    
     
      do–while循环是先循环后判断。
     
    
    
    
     
      在实际应用中,while比do-while更常用。
     
    
   
    5,for
   
    
     
      for
     
    
    循环可能是最经常用的迭代形式,这种在第一次迭代之前要进行初始化。随后进行条件测试,而在每一次迭代结束时,进行某种形式的“步进”。
    
     
      for
     
    
    循环格式如下:
   
for(initialization;Boolean-expression;step)
  statement
初始化表达式、布尔表达式或者步进都可以为空
。每次迭代前会测试布尔表达式。若为
false
,就会执行
for
语句后面的代码,每次执行结束,会执行一次步进。- 在初始化不分实际上可以拥有任意数量的具有相同类型的变量定义。在一个控制表达式中,定义多个变量的这种能力值限于
 
for
循环适用。
下面是简单示例:
public static void main(String[] args) {
        int i;
        for(i=0;i<=100;i++){
            System.out.println(i+" ");
        }
    }
- 打印结果为:0~100 这101个数字。
 
    6,Foreach
   
    foreach是一种更加简洁的for语法用于数组和容器,表示不必创建int变量去对由访问项构成的序列进行计数,foreach将自动产生每一项。
    
    foreach基本语法:
   
for(float x:f){
}
下面是foreach案例:
public static void main(String[] args){
        int[] a = new int[10];
        for(int i=0;i<10;i++){
            a[i] = i;
        }
        for(int i:a){
            System.out.print(i+" ");
        }
    }
- 输出结果为:
 
0 1 2 3 4 5 6 7 8 9
    
     
      foreach
     
    
    也适用于任何
    
     
      Iterable
     
    
    对象。在录入代码的时候可以节省时间,阅读的时候也比较容易。
   
    7,return
   
    
     
      return
     
    
    关键字有两方面的用途:一方面制定一个方法的返回值(假设它没有
    
     
      void
     
    
    返回值),另一方面它会导致当前的方法退出,并返回那个值。
    
    示例如下:
   
public class test {
    static int result = 0;
    static void test(int number1, int number2){
        if(number1 > number2)
            result +1;
        else if(number1 < number2)
            result -1;
        else
            result 0;
    }
    public static void main(String[] args) {
        test(10, 5);
        test(5, 10);
        test(5, 5);
    }
}
- 输出内容为:
 
1
-1
0
    如果在
    
     
      void
     
    
    的方法中没有
    
     
      return
     
    
    语句,那么在该方法的结尾会有一个隐式的return,因此在方法中并非总是要有一个return语句。但是,如果一个方法声明它将返回void之外的其它东西,就必须确保每一条代码都将返回一个值。
   
    8,break和continue
   
    在任何的迭代语句主体部分,都可以用
    
     
      break
     
    
    和
    
     
      continue
     
    
    控制循环流程。其中
    
     
      break
     
    
    用于强行退出循环,不执行循环中剩余的语句。而
    
     
      continue
     
    
    则停止执行当前的迭代,然后退出循环起始处,开始下一次迭代。
    
    示例:
   
public class test1 {
    public static void main(String[] args){
        for(int i=0;i<100;i++){
            if(i==66)
                break;
            if(i % 9 != 0)
                continue;
            System.out.print(i+" ");
        }
    }
- 输出结果为:0 9 18 27 36 45 54 63
 - 分析:在整个
 
for
循环中,
i
的值永远不会达到
100
;因为
i
一旦达到
66
,
break
语句就会中断循环。通常,只有在不知道中断条件何时满足时,才需要这样使用
break
。只要
i
不能被
9
整除,
continue
语句就会使执行过程返回到循环的最开头(这就会使
i
值递增)。如果能够整除,则将值显示出来。
    
     
      return,break、continue表示这个分支无需任何测试就可以发生。
     
    
   
    9,goto语句
   
    
     
      goto
     
    
    起源于汇编语言的程序控制,若条件A成立,则跳到这里;否则跳到那里。这里不做过多阐述。
   
    10,switch
   
    
     
      switch
     
    
    有时也被划归为一种
    
     
      选择语句
     
    
    。根据整数表达式的值,
    
     
      switch
     
    
    语句可以从一系列代码中选择一段去执行。
    
    格式如下:
   
switch(integral-selector) {
  case integral-value1 : statement;break;
  case integral-value2 : statement;break;
  case integral-value3 : statement;break;
  case integral-value4 : statement;break;
  case integral-value5 : statement;break;
  ...
  default: statement;
}
- 
     
integral-selector
(整数选择因子)是一个能够产生整数值的表达式,
switch
能将这个表达式的结果与每个
integral-value
(整数值)进行比较。若相符,执行对应语句(单一语句或者多条语句,不需要括号)。若没有相符的,执行
default
(默认)语句。 - 
     上面每个
case
以
break
结尾,这样可以使执行流程跳转至
switch
主题的末尾。这是构建
switch
语句的一种传统方式,但是
break
是可选的。若省略
break
,会继续执行后面的
case
语句,直到一个
break
为止。最后的
default
没有
break
语句,因为执行流程默认已经到了
break
的跳转目的地。 - 
     
switch
语句实现多路选择,但它要求选择因子必须是
int
或
char
这样类型的整数值。对于非整数类型,则必须使用一系列的
if
语句。 - 
     
switch
运用: 
public class test1 {
    public static void main(String[] args){
        int x = 1, y = 2;
        char ch = '+';
        switch (ch) {
            case '+':
                System.out.println("x+y=" + (x + y));
                break;
            case '-':
                System.out.println("x-y="+(x-y));
                break;
            case '*':
                System.out.println("x*y="+(x*y));
                break;
            case '/':
                System.out.println("x/y="+(x/y));
                break;
            default:
                System.out.println();    
        }
    }
- 运行结果为:
 
x+y=3
    
     
      case
     
    
    语句可以堆叠在一起,为一段代码形成多重匹配,也就是只要符合多种条件的一种,就执行那段特别的代码。这时要将
    
     
      break
     
    
    语句置于特定
    
     
      case
     
    
    的末尾,否则控制流程会简单下移,处理下面的
    
     
      case
     
    
    。