author : aoyousatuo/傲游洒脱


    近来由于本人要介入android平台的开发,所以就买了本JAVA语言的书学习。学习一段时间来,我的感觉是谭浩强就是厉害,编写的《C编程语言》系列丛书不愧是经典。书中对C语言的介绍既系统又全面。几乎C语言规范的每一个技术细节都可以介绍到,而且全书给人的感觉就像做数学证明题,系统性很强。而反观JAVA语言方面的书籍,可能是本人看得不多,感觉介绍得都不全面,并且没有系统性,许多规范细节往往简单介绍一下,然后给个程序事例就草草结束了,让人不容易理解,更有些细节扎根就没有涉及到。这种感觉就像大学里的英语考试,我们总在稀里糊涂中通过或者挂掉。所以本人一度有自己也写一本类似谭教授C语言介绍一样的JAVA工具书的想法。(嘿嘿,这恐怕只是想法而已。)

    书不一定能出,但在学习过程中收集研究一些细节知识我还是可以做到的。下面就简单介绍一下 JAVA语言中冒号的用法。

 

>用法1 :

    用于问号表达式  条件表达式 ?程序块1 :程序块2 ;

    解释:如果条件表达式为真,则本程序语句执行程序块1,程序块1的值即为整个表达式的值, 否则为表达式2的值。

    注意,java只有问号表达式,而没有问号语句,问号表达式加分号不能构成程序语句。

 

>用法2 :
    用于开关语句(switch语句)的条件标签
               switch(变量)
               {
                case value1 :
                    程序块 ;
                case value2 :
                    程序块 ;
                ……
                default :
                    程序块 ;
}

      解释:程序从上到下判断每一个case后的value值是否和switch后的变量值是否相等,如果不相等则继续判断下一个case,否则从该case后程序块开始执行程序。如果所有case后的值都和变量的值不相等,如果有,则执行default后的程序块。

 

>用法3 :

     用于continue语句的跳转标签

     JAVA语句的continue 语句有些特殊,有两种用法 1. 不带标签 2.带标签。不带标签的用法和C语言一样,表示循环语句中的程序执行到此不再执行后面的语句,而是直接执行下一次循环。而带标签的用法类似于C语言的goto语句,当程序执行到此处直接跳转到指定的标签处执行标签后的程序。

 

>用法4 :
     用于循环中集合元素的遍历
          for(元素变量 : 元素集合)
          {
             程序块 ;
           }
     解释:如果元素集合中所有元素都被遍历则结束此循环,否则执行程序块。

 

程序示例 :

 

import java.util.*;
  public class sample {
         private void print()
         {
            String[] str = {"*************************************",
                            "The sample show four usages of ':'",
                            "  1. switch sentence", "  2. ? condition",
                            "  3. continue skipping",
                            "  4. element reach in the collection",
                            "*************************************"} ;
  
            for(String e : str)
                System.out.println(e) ;  
         }         public static void main(String[] args)
         {
              Random rand = new Random(10) ;
              int val = 0 ;
              boolean tmp = false ;
  
label :   
              for(int i = 0; i < 10;)
              {   
                  switch(i)
                  {
                  case 0 :
                  case 1 :
                  case 2 :
                      System.out.println("for loop" + i + " ") ;
                      i++ ;
                      break ;