【逗号你真的懂吗?】C++与JAVA中逗号的区别

news2024/11/26 19:21:22

文章目录

  • 一、先上结论
  • 二、C++中的逗号
    • 逗号运算符和逗号表达式
  • 三、JAVA中的逗号
  • 四、实战验证
    • 情况一:在定义(或声明)变量时利用逗号
      • C++
      • JAVA
    • 情况二:在for循环条件中使用逗号
      • C++
      • JAVA
    • 情况三:在函数形参参数列表中使用逗号
      • C++
      • JAVA
    • 情况四:在非定义变量时使用逗号将多个表达式分隔开
      • C++
      • JAVA
    • 情况五:调用多个函数时使用逗号
      • C++
    • 情况六:调用函数对变量进行赋值时使用逗号
      • C++
      • JAVA
  • 五、回顾结论

参考文章:这里

一、先上结论

C++中的逗号几乎可以说是 随便使用,但是JAVA中的逗号就要注意了:JAVA中使用逗号(,)来分隔多条赋值语句时,只能在 分隔方法的参数定义变量 时或用于 for循环的表达式 时使用,别的地方一律不能,只能将每条语句用分号(;)隔开。

二、C++中的逗号

逗号运算符和逗号表达式

C++提供一种特殊的运算符—逗号运算符,又称为“顺序求值运算符”。它用于将两个表达式连接起来

  • 逗号表达式的一般形式表达式1,表达式2
  • 逗号表达式的求解过程:先求解表达式1,再求解表达式2。整个逗号表达式的值为表达式2的值。
  • 逗号表达式的一般形式可以扩展为:表达式1,表达式2,表达式3,...,表达式n
  • 在许多情况下,使用逗号表达式只是要分别得到每个表达式的值,而并非要得到整个逗号表达式的值。最常用于for循环语句中。
  • C++中几乎任何能用到逗号(,)的情况都可以用逗号,)。

三、JAVA中的逗号

JAVA中的逗号(,)属于普通分隔符。JAVA里没有逗号表达式,逗号(,)仅仅可以用在 变量定义(或声明)时,可以多条赋值语句用逗号分隔开,语句最后加一个分号(;);或者是 函数传参数时,多个参数用逗号(,)隔开;亦或是 for循环中需要两个及以上的循环变量或循环条件或循环变量的自增(或自减)语句 多个可以用逗号(,)隔开。仅此而已,其余情况利用逗号来分隔多条语句都是错误的

四、实战验证

上面我们给出了C++与JAVA中逗号的区别,下面我们具体来验证一下上述的结论。

情况一:在定义(或声明)变量时利用逗号

C++

在这里插入图片描述
在这里插入图片描述

  • C++中正确执行,没有报错

JAVA

在这里插入图片描述
在这里插入图片描述

  • JAVA中也正常执行,没有报错

情况二:在for循环条件中使用逗号

C++

在这里插入图片描述
在这里插入图片描述

  • C++中正确执行,没有报错

JAVA

在这里插入图片描述
在这里插入图片描述

  • JAVA中也正常执行,没有报错

情况三:在函数形参参数列表中使用逗号

C++

在这里插入图片描述
在这里插入图片描述

  • C++中正确执行,没有报错

JAVA

在这里插入图片描述
在这里插入图片描述

  • JAVA中也正常执行,没有报错

情况四:在非定义变量时使用逗号将多个表达式分隔开

C++

在这里插入图片描述
在这里插入图片描述

  • C++中正确执行,没有报错

JAVA

在这里插入图片描述

在这里插入图片描述

  • JAVA出现 错误。那我们怎样才能改对呢?我们试着把逗号换成分号,即每条语句后接一个分号。

在这里插入图片描述
在这里插入图片描述

  • 这样就不会报错了,说明我们逗号的使用有误。

情况五:调用多个函数时使用逗号

C++

在这里插入图片描述
在这里插入图片描述

  • C++中正确执行,没有报错

在这里插入图片描述
在这里插入图片描述

  • JAVA中出现 错误,只要将逗号改为分号即可。

在这里插入图片描述
在这里插入图片描述

  • 可以正常输出了!

情况六:调用函数对变量进行赋值时使用逗号

C++

在这里插入图片描述
在这里插入图片描述

  • C++中正常输出,没有任何报错,改成下面情况也是照常输出

在这里插入图片描述
在这里插入图片描述

JAVA

在这里插入图片描述
在这里插入图片描述

  • JAVA可以正常运行,但是我们上面是在定义变量时给变量赋值的,我们试试能不能在定义后为变量赋值。

在这里插入图片描述
在这里插入图片描述

  • 报错了! 其实这种情况也就是 情况四 。当然我们改正的方法也是将逗号改为分号。

在这里插入图片描述
在这里插入图片描述

  • 好了!正常输出,没有报错

五、回顾结论

经过上述的验证我们可以知道,文章开头给出的结论是正确的。这个逗号问题其实就是一个语法问题,C++和JAVA在语法上的一些小差异,这也是我最近学习JAVA时遇到的问题,分享给大家。我们只要记住两者的区别就可以:C++中有逗号运算符和逗号表达式而JAVA中的逗号仅仅是普通的分隔符,所以JAVA中逗号的使用需要注意。或者如果害怕分不清楚的话,我们就每条语句后加一个分号不要将多条语句写在一起,用逗号隔开,只在最后一条语句后加一个分号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/423849.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WPF_Application

文章目录Application1 Application类1.1 定义1.2 示例1.3 附注2 Application常用属性2.1 Current2.2 Dispatcher3 总结Application 1 Application类 1.1 定义 该类封装了一个WPF应用程序。 该类派生自DispatcherObject,实现了IQueryAmbient接口。 1.2 示例 以…

ICLR Spotlight | 卷积网络上的首个BERT/MAE预训练,ResNet也能用

“删除-再恢复” 形式的自监督预训练可追溯到 2016 年,早于 18 年的 BERT 与 21 年的 MAE。然而在长久的探索中,这种 BERT/MAE 式的预训练算法仍未在卷积模型上成功(即大幅超过有监督学习)。本篇 ICLR Spotlight 工作 “Designing…

PPP协议相关的知识

这只是我自己在学习时的总结,对于我有用的知识点,希望可以和大家分享,主要学习的文章如下,如有兴趣也可以去了解一下其他作者写的ppp协议的知识点。 PPP协议详解https://blog.csdn.net/m0_49864110/article/details/124987932?o…

Spring Boot 之四:使用Feign实现微服务间的交互

系列目录(持续更新。。。) Spring Cloud:什么是微服务 Spring Cloud之一:注册与发现-Eureka工程的创建 Spring Cloud之二:服务提供者注册到Eureka Server Spring Cloud之三:Eureka Server添加认证 Spr…

Talk预告 | 清华大学交叉信息研究院助理教授赵行:基于视觉感知的自动驾驶运动预测

本期为TechBeat人工智能社区第481期线上Talk! 北京时间3月15日(周三)20:00,清华大学交叉信息研究院助理教授——赵行的Talk将准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “基于视觉感知的自动驾驶运动预测”,届时将…

Dish - TS:减轻时间序列预测中分布偏移的一般范式

摘要 时间序列预测中的分布偏移(TSF)指的是序列分布随时间发生变化,这很大程度上阻碍了TSF模型的性能。现有针对时间序列中分布偏移的研究主要限于分布的量化,更重要的是忽略了回视窗口和预测窗口(horizon windows&am…

Cross Attentional Audio-Visual Fusion for Dimensional Emotion Recognition阅读笔记

Abstract 摘要——多模态分析最近引起了人们对情感计算的极大兴趣,因为它可以提高情感识别相对于孤立的单模态方法的整体准确性。 最有效的多模态情绪识别技术有效地利用各种免费的信息源,例如面部、声音和生理模式,以提供全面的特征表示。 …

谷歌云服务器centos9的docker部署chat-web,实现自己的ChatGPT

谷歌云服务器centos9的docker部署chat-web,实现自己的ChatGPT 前提条件:准备一个境外服务器和chatgpt的key。(网上教程很多) 1.更新yum yum update2.下载docker-ce的repo curl https://download.docker.com/linux/centos/dock…

IDEA Eval Reset 使用方法

IDEA Eval Reset 使用方法 idea eval reset 使用方法安装插件 离线安装方式 1、下载插件 下载地址:https://plugins.zhile.io/files/ide-eval-resetter-2.1.6.zip2、安装插件直接下载插件 zip 包(macOS 可能会自动解压,然后把 zip 包丢进回收…

文旅+虚拟数字人,开启数字文旅发展新方向

随着元宇宙概念爆发,对接虚拟与现实的虚拟数字人正成为国内数字文旅发展的新突破口!无论是当地文旅机构、文旅品牌还是政府部门来说,虚拟数字人具有独特的可塑性和创新性,利用文旅虚拟数字人广泛的应用场景,把文旅虚拟…

第十九章 案例TodoList之组件拆分

光说不练假把式,接下来我们将练习一个案例TodoList,让我们熟悉react。 以上是该案例的静态示例,其功能有: 在输入框输入任务,按回车键新增一个任务项鼠标移动在单个任务项上面,出现删除按钮点击删除按钮&a…

密度聚类算法(DBSCAN)实验案例

密度聚类算法(DBSCAN)实验案例 描述 DBSCAN是一种强大的基于密度的聚类算法,从直观效果上看,DBSCAN算法可以找到样本点的全部密集区域,并把这些密集区域当做一个一个的聚类簇。DBSCAN的一个巨大优势是可以对任意形状…

SpringSecurity 学习笔记 下(微服务权限方案)

SpringSecurity 微服务权限方案 一、 什么是微服务 1.1 微服务由来 微服务最早由 Martin Fowler 与 James Lewis 于 2014 年共同提出,微服务架构风格是一种使用一套小服务来开发单个应用的方式途径,每个服务运行在自己的进程中,并使用轻量级…

使用Swagger生成在线文档

目录 1:Swagger介绍 2:使用 2.1:swaager集成boot依赖 2.2:配置文件中配置相关信息 2.3:在启动类中加入相关注解 2.4:测试 3:swagger常用注解 1:Swagger介绍 在前后端分离开发…

GET和POST方式请求API接口数据返回

区别: GET在浏览器回退时是无害的,而POST会再次提交请求。 GET产生的URL地址可以被Bookmark,而POST不可以。 GET请求会被浏览器主动cache,而POST不会,除非手动设置。 GET请求只能进行url编码,而POST支持…

DETR【论文阅读】

End-to-End Object Detection with Transformers 1. Introduction 发表:ECCV 2020影响:在目标检测上使用了一种全新的架构,是里程碑式的工作。简单优雅统一的结构,不再依赖于人的先验知识(anchor生成,nms…

二叉树_详解

目录 1. 树型结构 1.1 概念 1.2 概念 1.3 树的表示形式 1.4 树的应用 2. 二叉树 2.1 概念 2.2 两种特殊的二叉树 2.3 二叉树的性质 2.4 二叉树的存储 2.5 二叉树的基本操作 2.5.1 前置说明 2.5.2 二叉树的遍历 2.5.3 二叉树的基本操作 1. 树型结构 1.1 概念 …

k8s集群上安装Velero,用Velero备份K8S的数据

前提条件: 需要有一个K8S集群! 一、概述 Velero是一个开源工具,可以安全地备份和还原,执行灾难恢复以及迁移Kubernetes集群资源和持久卷。 二、docker安装minio mkdir -p /home/minio docker run -p 9000:9000 -p 9090:9090 …

Win11去掉桌面图标快捷方式(2)----Dism++

1.Dism介绍 Dism,也许是最强的实用工具全球第一款基于 CBS 的 Dism GUI 实现。 兼容 Windows Vista/7/8/8.1/10 Dism可以说是一个Dism的GUI版,但是并不依赖Dism,直接基于更底层的CBS(Component Based Servicing Reference&…

第1章 如何听起来像数据科学家

第1章 如何听起来像数据科学家 文章目录第1章 如何听起来像数据科学家1.1.1 基本的专业术语1.1.3 案例:西格玛公司1.2.3 为什么是Python1.4.2 案例:市场营销费用1.4.3 案例:数据科学家的岗位描述我们拥有如此多的数据,而且正在生产…