JAVA语言中冒号的用法
近来由于本人要介入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语言中冒号的用法的更多相关文章
- JAVA语言中的修饰符
JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...
- Java语言中的面向对象特性总结
Java语言中的面向对象特性 (总结得不错) [课前思考] 1. 什么是对象?什么是类?什么是包?什么是接口?什么是内部类? 2. 面向对象编程的特性有哪三个?它们各自又有哪些特性? 3. 你知 ...
- MATLAB中冒号的用法
MATLAB中冒号的用法 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ matlab中冒号代表步长,用实例来说明 >> A=[1 2 3 ...
- Java语言中的面向对象特性:封装、继承、多态,面向对象的基本思想(总结得不错)
Java语言中的面向对象特性(总结得不错) [课前思考] 1. 什么是对象?什么是类?什么是包?什么是接口?什么是内部类? 2. 面向对象编程的特性有哪三个?它们各自又有哪些特性? 3. 你知道jav ...
- Java语言中的异常处理
Java语言中的异常处理包括声明异常.抛出异常.捕获异常和处理异常四个环节. throw用于抛出异常. throws关键字可以在方法上声明该方法要抛出的异常,然后在方法内部通过throw抛出异 ...
- 列举java语言中反射的常用方法
package review;/*12:43 2019/7/21*/ import model.AnotherClass; import model.OneClassMore; import mode ...
- Java语言中的正则表达式
正则表达式是什么? 正则表达式是一种强大而灵活的文本处理工具.初学正则表达式时,其语法是一个难点,但它确实是一种简洁.动态的语言.正则表达式提供了一种完全通用的方式,能够解决各种字符串处理相关的问题: ...
- Java语言中使用OpenMP
从去年年中,开始学习Java,主要是维护公司用Java编写的服务器软件.目前,该服务器软件遇到一个问题,在下载大文件时,如果同时下载的用户很多, 服务器软件工作会出现异常,有的用户无法下载.服务器硬件 ...
- MATLAB中冒号的用法解析
MATLAB中冒号的用法解析 1.: 表示所有的意思. (1)如:a(1,:) 表示a的第1行,示例: 结果: 同样的如果a(2,:)表示a的第2行 (2)反过来,a(:,2) 表示a的第3列,示例: ...
随机推荐
- we7调用模板如何区分栏目页与详细页
<a href='/xsdt/0000-00-00-00.html?id=<%# Eval("ID")%>'> 0000-00-00-00.html传参数来 ...
- mutilple output reduce cannot write
package org.lukey.hadoop.classifyBayes; import java.io.BufferedReader; import java.io.IOException; i ...
- nginx的内页跳转总结
刚进公司的时候老大一直在要求php做内页跳转,当时也不太了解细节所以一直没有说话.后来php问我你会不会做内页跳转,我说会一点就做了几个,从此搞内页跳转搞了两个星期.至于为什么做内页跳转哪就暂时不 ...
- mysql时间函数,总是记不住,总是查。
http://www.cnblogs.com/zeroone/archive/2010/05/05/1727659.html UNIX_TIMESTAMP() UNIX_TIMESTAMP(date) ...
- Gson通过借助TypeToken获取泛型参数的类型的方法
最近在使用Google的Gson包进行Json和Java对象之间的转化,对于包含泛型的类的序列化和反序列化Gson也提供了很好的支持,感觉有点意思,就花时间研究了一下. 由于Java泛型的实现机制,使 ...
- Bluez SPP实现代码分析(转)
源:http://blog.csdn.net/walkingman321/article/details/7218705 本文分析蓝牙协议栈中蓝牙转串口(SPP)部分的实现. 1. 基本概念 Blu ...
- Highcharts选项配置详细说明文档
Highcharts提供大量的选项配置参数,您可以轻松定制符合用户要求的图表,目前官网只提供英文版的开发配置说明文档,而中文版的文档网上甚少,且零散不全.这里,我把Highcharts常用的最核心的参 ...
- 关于python 函数参数
函数参数:必选参数.默认参数.可选参数.关键字参数 1.默认参数 默认参数可以简化函数的调用.设置默认参数时,有几点要注意: 一是必选参数在前,默认参数在后,否则Python的解释器会报错: 二是如何 ...
- 关联规则算法---Eclat算法
Eclat算法 与fp-growth 和apriori算法不同,Eclat算法加入了倒排的思想,具体就是将事务数据中的项作为key,每个项对应的事务ID作为value. 原输入数据为 tid item ...
- Linux 服务器 常规性能优化设置
为能使linux服务器能最大化的工作,通常需要对linux的通常设置做适当的更改,而这又往往会依据服务器的类型不同,而有所变化. 对于通常的多连接的服务器其参数设置,可在 /etc/sysctl.co ...