近来由于本人要介入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 ;

                 
default :

                     
System.out.println() ;

                     
while(true)

                     
{

                         
val = rand.nextInt(10) ;

                         
if(val > 5 ? true : false)

                          {

i = 10 ;

                             
System.out.println() ;

                             
continue label ;

                          
}

                          
System.out.println("[continue while loop]" + " val = " + val)
;

                     
}

}   

             
}  

             
sample s = new sample() ;

             
s.print() ;  

         
}

   }

运行结果 :

for
loop0

    for
loop1

    for
loop2

[continue
while loop] val = 3

    [continue
while loop] val = 0

    [continue
while loop] val = 3

    [continue
while loop] val = 0

*************************************

    The sample
show four usages of ':'

    1. switch
sentence

    2. ?
condition

    3. continue
skipping

    4. element
reach in the collection

   
*************************************

JAVA语言中冒号的用法的更多相关文章

  1. JAVA语言中的修饰符

    JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...

  2. Java语言中的面向对象特性总结

    Java语言中的面向对象特性 (总结得不错) [课前思考]  1. 什么是对象?什么是类?什么是包?什么是接口?什么是内部类?  2. 面向对象编程的特性有哪三个?它们各自又有哪些特性?  3. 你知 ...

  3. MATLAB中冒号的用法

    MATLAB中冒号的用法 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ matlab中冒号代表步长,用实例来说明 >> A=[1 2 3 ...

  4. Java语言中的面向对象特性:封装、继承、多态,面向对象的基本思想(总结得不错)

    Java语言中的面向对象特性(总结得不错) [课前思考] 1. 什么是对象?什么是类?什么是包?什么是接口?什么是内部类? 2. 面向对象编程的特性有哪三个?它们各自又有哪些特性? 3. 你知道jav ...

  5. Java语言中的异常处理

    Java语言中的异常处理包括声明异常.抛出异常.捕获异常和处理异常四个环节.   throw用于抛出异常.   throws关键字可以在方法上声明该方法要抛出的异常,然后在方法内部通过throw抛出异 ...

  6. 列举java语言中反射的常用方法

    package review;/*12:43 2019/7/21*/ import model.AnotherClass; import model.OneClassMore; import mode ...

  7. Java语言中的正则表达式

    正则表达式是什么? 正则表达式是一种强大而灵活的文本处理工具.初学正则表达式时,其语法是一个难点,但它确实是一种简洁.动态的语言.正则表达式提供了一种完全通用的方式,能够解决各种字符串处理相关的问题: ...

  8. Java语言中使用OpenMP

    从去年年中,开始学习Java,主要是维护公司用Java编写的服务器软件.目前,该服务器软件遇到一个问题,在下载大文件时,如果同时下载的用户很多, 服务器软件工作会出现异常,有的用户无法下载.服务器硬件 ...

  9. MATLAB中冒号的用法解析

    MATLAB中冒号的用法解析 1.: 表示所有的意思. (1)如:a(1,:) 表示a的第1行,示例: 结果: 同样的如果a(2,:)表示a的第2行 (2)反过来,a(:,2) 表示a的第3列,示例: ...

随机推荐

  1. Android命令行工具logcat详细用法!

    logcat是Android中一个命令行工具,可以用于得到程序的log信息. 见板凳详细说明!     本贴内容来自网络,引用网址为:http://hi.baidu.com/%C9%C1%D2%AB% ...

  2. xmppserver

    http://highscalability.com/blog/2014/1/6/how-hipchat-stores-and-indexes-billions-of-messages-using-e ...

  3. JSP中EL表达式取值问题记录(已解决)

    ***************************2015-10-28 22:21************************* 问题描述如下: 在当前的jsp页面已经有了如下代码: < ...

  4. nginx的RTMP协议服务器

    nginx的RTMP协议服务器 by ahuner 通过以下的配置,可以使nginx接收RTMP流,并在web上播放实时视频. 1.openssl安装 nginx需要http_ssl_module模块 ...

  5. 25个最佳最闪亮的Eclipse开发项目

    http://blog.csdn.net/howareyoutodayyhz/article/details/8264599 25个最佳最闪亮的Eclipse开发项目 标签: eclipseEclip ...

  6. Spring 笔记1

    1.在java开发领域,Spring相对于EJB来说是一种轻量级的,非侵入性的Java开发框架,曾经有两本很畅销的书<Expert one-on-one J2EE Design and Deve ...

  7. log4j配置日志系统

    1. lib里加入3个包 slf4j-api, slf4j-log4j12, log4j 2. 在src下 创建log4j.properties ### direct log messages to ...

  8. smali插入log,打印变量

    一:Log打印变量: Log打印字符串: #liyanzhong debug const-string v1, "TAG" const-string v2, "xunbu ...

  9. source command not found in sh shell解决办法

    在Ubuntu系统中执行脚本的时候突然出现错误"source command not found in sh shell" 这个其实在Ubuntu 当中 执行脚本默认的使用的是da ...

  10. [python]小练习__创建你自己的命令行 地址簿 程序

    创建你自己的命令行 地址簿 程序. 在这个程序中,你可以添加.修改.删除和搜索你的联系人(朋友.家人和同事等等)以及它们的信息(诸如电子邮件地址和/或电话号码). 这些详细信息应该被保存下来以便以后提 ...