冒号 (:) 运算符的作用是什么?

2024-01-06

显然,冒号在 Java 中有多种使用方式。有人介意解释一下它的作用吗?

例如这里:

String cardString = "";
for (PlayingCard c : this.list)  // <--
{
    cardString += c + "\n";
}

你会怎么写这个for-each以不同的方式循环,以便不合并:?


Java 代码中有几个地方使用了冒号:

1) 跳出标签 (Tutorial http://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html):

label: for (int i = 0; i < x; i++) {
    for (int j = 0; j < i; j++) {
        if (something(i, j)) break label; // jumps out of the i loop
    }
} 
// i.e. jumps to here

2)三元条件(Tutorial http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html):

int a = (b < 4)? 7: 8; // if b < 4, set a to 7, else set a to 8

3)for-each循环(Tutorial http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html):

String[] ss = {"hi", "there"}
for (String s: ss) {
    print(s); // output "hi" , and "there" on the next iteration
}

4)断言(Guide http://docs.oracle.com/javase/8/docs/technotes/guides/language/assert.html):

int a = factorial(b);
assert a >= 0: "factorial may not be less than 0"; // throws an AssertionError with the message if the condition evaluates to false

5) switch 语句中的 case (Tutorial http://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html):

switch (type) {
    case WHITESPACE:
    case RETURN:
        break;
    case NUMBER:
        print("got number: " + value);
        break;
    default:
        print("syntax error");
}

6)方法参考(Tutorial http://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html)

class Person {
   public static int compareByAge(Person a, Person b) {
       return a.birthday.compareTo(b.birthday);
   }}
}

Arrays.sort(persons, Person::compareByAge);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

冒号 (:) 运算符的作用是什么? 的相关文章

随机推荐

  • C#.Net 面板控制和 MDI 子表单 - 问题

    您好 我被困在带有面板控制的 MDIform 中 我有一个面板控件停靠 填充 到父 MDI 窗体 当我尝试使用菜单单击事件打开新的子窗体时 子窗体不会显示在 MDI 容器中 经过几次调试 我将面板控件的visible属性设置为false 现
  • 将 RCurl 与 SFTP 结合使用

    我正在尝试使用ftpUpload第一次在 RCurl 包中 我尝试访问的站点使用 sftp 协议 我已确保安装包含建立安全连接功能的 libcurl 版本 SFTP 被列为 RCurl 可用的协议之一 curlVersion protoco
  • Sed - 用充满奇怪字符的变量替换字符串

    我正在使用 sed 将文件中的字符替换为变量 该变量基本上是读取文件或网页的内容 其中包含多个类似散列的字符串 如下所示 这些字符串是随机生成的 define AUTH KEY CVo BO Qt1B GE h2 yU7h 5 wRV gt
  • 为什么与简单的 Rcpp 实现相比,zoo::rollmean 慢?

    zoo rollmean是一个有用的函数 它返回时间序列的滚动平均值 对于矢量x长度n和窗口大小k它返回向量c mean x 1 k mean x 2 k 1 mean x n k 1 n 我注意到我正在开发的一些代码似乎运行缓慢 因此我使
  • 如何修复 Android BLE SCAN_FAILED_APPLICATION_REGISTRATION_FAILED 错误?

    大多数时候它工作得很好 但有时我在尝试发现 BLE 设备时会遇到此错误 02 12 18 00 41 952 16178 16339 com icrealtime allie W BleRpcConnectionFactory Starti
  • 应用agones舰队时Kubectl错误:确保首先安装CRD

    我正在使用 minikube docker 驱动程序 和 kubectl 来测试 agones 舰队部署 运行时kubectl apply f lobby fleet yml 当我尝试应用任何其他 agones yaml 文件时 我收到以下
  • 从 Powershell 调用带有很长的可变参数列表的程序?

    我目前正在尝试将一系列批处理文件转换为 powershell 脚本 我想递归地为目录中存在的源文件运行编译器 编译器需要一长串参数 问题是 我希望参数是可变的 这样我就可以根据需要更改它们 这是批处理文件中的典型调用 为了可读性和长度而进行
  • IFormFile 的 Asp.Net Core swagger 帮助页面

    我正在尝试设置 swagger 来测试具有 IFormFile 属性的模型 例如我有下一个 api 方法 HttpPost public ApiResult
  • 客户端密码哈希

    我和我的一个朋友正在讨论是否应该在将 Web 应用程序用户的密码发送到我们的服务器之前对其进行预哈希处理 我知道有多个问题已经解决了这个主题 但它们都是关于将其安全地传输到服务器 我们的想法不是关于传输安全性 我们使用 SSL 我们希望对客
  • 每个配置文件中的部分只能出现一次

    所以昨天这段代码工作得很好 今天当我们去运行该网站时 我们收到了这个配置错误 我浏览了提出的其他问题 尽管它们很有帮助 但我无法确定我在哪里重复了某个部分 Here is my error http img photobucket com
  • 如何调整 Bootstrap 3 内联表单宽度?

    我有一个依赖 Bootstrap 3 的表单 完整的工作示例 http jsfiddle net x7vk7 2 http jsfiddle net x7vk7 2 要点是我有两列内容 第一列是col lg 4 第二个是col lg 8 第
  • Beyond Compare - 自动合并工作副本中的“冲突”文件(如果可能)

    我最近在 Git 中合并了两个分支 它们都开发了太长时间 因此两个分支上都有很多文件被更改 因此 Git 将它们标记为 冲突 一旦我在 Beyond Compare 中打开它们 就 不再有冲突 因为它足够聪明 可以解决所谓的冲突 因此 只需
  • Jupyter 笔记本 CPU 使用率低

    我注意到有些单元需要很长时间才能在我的 Jupyter Notebook 上完成执行 查看任务管理器时 我发现 python 进程仅使用了大约 4 的 CPU 我正在使用Python 3 6 2 我使用的是 Windows 但使用 Bash
  • 使用 float 在 3 列上进行 div

    我试图将 6 个不同高度的 div 放置在 3 列上 我对左侧和右侧的 div 使用 float 属性 对中央 div 使用 margin 0 auto 使用clear属性 我将第二行div放置在第一行之下 但我希望每个div都位于具有相同
  • 尝试在 Oracle SQL 中选择特定行时返回多行

    我试图从 Oracle SQL 中特定行的字段 tid 返回一个值 但我得到了一个奇怪的行为 首先 我尝试了这个 select tid from select tid rownum as rn from select tid from Tr
  • 使用 Word.Interop 创建多级项目符号列表

    我需要通过创建多级项目符号列表Microsoft Office Interop Word我目前正在 再次 与它的 可怕的 API 作斗争 我刚刚使用编程语言 C 在 Microsoft Office Word 2010 的 VSTO 文档级
  • 我可以在 CSS 中将 Twitter Bootstrap 脚手架跨度称为 mixin 而不是类吗?

    我明白我可以添加一个class span3 to a div 但是如果我想通过 LESS 将等效属性赋予另一个类怎么办 Example div class span3 This width is span3 div div class an
  • 是否可以在 python 中 pickle itertools.product ?

    我想保存以下状态itertools product 我的程序退出后 可以用酸洗来做到这一点吗 我计划做的是生成排列 如果该过程被中断 键盘中断 我可以在下次运行程序时恢复该过程 def trywith itr try for word in
  • 如何防止我的计时器在执行回调之前进行 GC 收集?

    我需要创建一堆计时器作为局部变量来执行以下操作 void Foo Timer t new Timer myTimerCallback null 1000 Timeout Infinite 不幸的是 其中一些在 1 秒后调用 myTimerC
  • 冒号 (:) 运算符的作用是什么?

    显然 冒号在 Java 中有多种使用方式 有人介意解释一下它的作用吗 例如这里 String cardString for PlayingCard c this list lt cardString c n 你会怎么写这个for each以