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列,示例: ...
随机推荐
- 关于自定义jar包(tomcat)的添加
1 鼠标右击工程 选择 properties 或者 Ait + Enter 2 选择Libraries 3 点击Add Library... 4 选择User Library 点击 Next 5 如 ...
- 二分图匹配之最佳匹配——KM算法
今天也大致学了下KM算法,用于求二分图匹配的最佳匹配. 何为最佳?我们能用匈牙利算法对二分图进行最大匹配,但匹配的方式不唯一,如果我们假设每条边有权值,那么一定会存在一个最大权值的匹配情况,但对于KM ...
- jenkins邮件设置
不要忘记上面的系统管理员的邮箱也要先填好.
- HDU 5512 Pagodas
2015 ACM / ICPC 沈阳现场赛 D 题 找了一小时规律......发现是个GCD. #include<cstdio> #include<cstring> #incl ...
- [其他]volatile 关键字
用 volatile 关键字修饰函数 的作用是 告诉编译器该函数不会返回 , 让编译器能产生更好的代码 另外也能避免一些假警告信息,如未初始化的变量等
- UIScrollView 和 UIPageControl
UIScrollView [滚动视图]非常重要 UIScrollView是滚动视图,是其它带有滚动功能视图的父类, 本身不显示或者只显示背景,主要负责子视图的滚动和翻页. 一.常用属性 1.基本方法 ...
- 修炼dp(1)
从最简单的开始: POJ:The Triangle #include <cstdio> #include <algorithm> #include <cstring> ...
- zookeeper C API
typedef void (*watcher_fn)(zhandle_t *zh, int type, int state, const char *path,void *watcherCtx); w ...
- PAT (Advanced Level) 1026. Table Tennis (30)
情况比较多的模拟题. 交了50发的样子才AC......AC之后我的天空星星都亮了. #include<iostream> #include<cstring> #include ...
- PAT 天梯赛 L2-1 紧急救援
Dijkstra算法扩展 题目链接 解题代码如下: #include<cstdio> #include<iostream> #include<algorithm> ...