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

news/2023/12/4 20:55:33

文章目录

  • 一、先上结论
  • 二、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.ppmy.cn/news/46328.html

相关文章

centos7.9系统部署NFS详细流程—2023.04

文章目录 NFS与RPC关系前提关闭防火墙和selinux安装 NFS 和 RPC测试取消挂载 NFS与RPC关系 简单点可以这么理解,RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。 NFS(Network File System)即网络文件…

EasyCVR平台基于GB28181协议的语音对讲配置操作

EasyCVR基于云边端协同,具有强大的数据接入、处理及分发能力,平台可支持海量视频的轻量化接入与汇聚管理,可提供视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、平台级联等功能…

C++中使用命名空间时的注意事项

C中的命名空间是一种将全局作用域分割成更小的区域的机制,可以用于避免名称冲突和提高代码的可读性。在C中,命名空间可以包含变量、函数、类和结构体等类型,可以在头文件中使用命名空间来组织代码。但是,在头文件中使用命名空间时…

线程安全的锁策略,你到底忽略了多少?

线程安全的锁策略,你到底忽略了多少? 文章目录 线程安全的锁策略,你到底忽略了多少?一,🔰乐观锁vs悲观锁二,📍轻量级锁 vs 重量级锁三,📍自旋锁 vs 挂起等待锁…

基因家族分析及SCI写作技巧

详情点击链接:基因家族分析及SCI写作技巧 一,文献研读和方法​ 1.基因家族分析文献; 2.基因组学分析技巧; 3.生物信息大数据分析二,基因家族注释文件​​​​​​​ 1.候选基因下载方式; 2.文件解读&a…

为什么老年人会经常性出现吃饭呛咳的情况 什么因素导致的

其实很多老年人在吃饭或是喝水的时候,都存在吞咽困难的问题,呛咳或者是忘了如何下咽。其实在老年人群体当中,这也是一种较为常见的现象,但是很多人都把这种现象当回事。 对于呛咳的现象是很好判断的,在家里老人喝水或是…

linux安装rabbitMq

一、安装Erlang 1、下载Erlang Erlang和RabbitMQ版本对照:RabbitMQ Erlang Version Requirements — RabbitMQ 下载地址:https://packagecloud.io/rabbitmq/erlang/packages/el/7 2、安装 Erlang 首先将下载好的文件上传到服务器,创建一…

Linux做代理服务器实现步骤

Linux做代理服务器 最简单的做法,用RedHat9.0为例 找一台能装上Linux的机器最少要有两块网卡 1.安装Linux,不管是在图形,还是文体下都可以,选择最小安装,在安装的时候可以先配置一下外网的IP和DNS(不设也行)&#xf…

GPT-3.5还没研究明白,GPT-4又来了,chatGPT会进化成什么样?

基于GPT-3.5的chatGPT热度才稍稍减退没多久,GPT-4又来了,文新一言的发布会也槽点满满,差距似乎越来越大了。 chatGPT到底厉害在哪?为什么突然就爆火了呢? 它的爆火,一方面,和它的出现形态有关…

LeetCode刷题集(二)(LeetCode 2037使每位学生都有座位的最少移动次数)

学习目标: 掌握LeetCode2037使每位学生都有座位的最少移动次数 题目内容: 一个房间里有 n 个座位和 n 名学生,房间用一个数轴表示。给你一个长度为 n 的数组 seats ,其中 seats[i] 是第 i 个座位的位置。同时给你一个长度为 n 的数…

在vue中如何使用nextTick ?nextTick 的原理是什么?

Vue.js 是一个流行的前端框架,它提供了一种响应式的数据绑定机制,使得页面的数据与页面的 UI 组件之间能够自动同步。Vue.js 中的数据驱动模型可以让开发者专注于业务逻辑,而不用过多地关注页面 DOM 操作的细节。然而,在某些情况下…

【hello Linux】进程概念(下)

目录 1. 通过系统调用创建进程—fork 1.1 通过fork创建进程: 1.2 如何不退出 vim 直接执行命令呢? 3. fork创建进程的本质 4. 父子进程的分流: 2. 进程状态 3. 信号 3.1 显示全部信号 3.1 停止进程 3.2 继续进程 3.3 杀死进程 后台进程 4. 僵…

为什么FTP会随着时间的过去而变慢?

有人问:我在XP上有FZ客户端3.5.3,在Vista上有0.9.41服务器。通过已经很慢的连接传输大文件时,我注意到速度开始时约为40kb / s,但逐渐趋于稳定,约为20kb / s,并保持这种状态。如果我退出客户端并重新启动它…

批处理脚本用法总结

目录 一、常用命令二、基本语法1. rem 和 ::2. echo 和 3. pause4. errorlevel5. title6. color7. goto 和 :8. find9. start10. assoc 和 ftype11. pushd 和 popd12. call13. if 三、常用特殊符号1. 2. %3. >4. >> 四、常见用法1. 设置临时环境变量2. 启动CMD执行命令…

systemctl 命令设置开机自启动失败

1.案例现象 我在 3 月 31日的时候发表了一篇《shell 脚本之一键部署安装 Nginx 》,介绍了如何通过 shell 脚本一键安装 Nginx 我脚本中执行了 Nginx 开机自启动的命令,当我使用 systemctl status nginx 命令复核的时候,我发现 Nginx 服务设…

redis学习

Redis 1.安装 vi /etc/sysconfig/network-scripts/ifcfg-ens33 #修改网络安装gcc依赖 yum install -y gcc tclcd redis-6.2.11 make && make installcp redis.conf.bck redis.conf #修改redis.conf bind 0.0.0.0 daemonize yes requirepass 123456cd /usr/local/src…

Attention注意力机制

加粗样式通俗理解:你会注意什么? 对于一个模型而言(CNN,LSTM),模型本身很难决定什么重要什么不重要,因此注意力机制诞生了。 注意力机制:我们会把焦点聚焦在比较重要的事务上 怎么…

一本通 3.4.6 拓扑排序

1352:【例4-13】奖金 【题目描述】 由于无敌的凡凡在2005年世界英俊帅气男总决选中胜出,Yali Company总经理Mr.Z心情好,决定给每位员工发奖金。公司决定以每个人本年在公司的贡献为标准来计算他们得到奖金的多少。 于是Mr.Z下令召开m方会谈…

Markdown 使用 Emoji 表情 MD格式小表情大全

文章目录 Markdown 使用 Emoji 表情 && MD格式小表情大全# 复制和粘贴表情符号# 使用表情符号简码MD格式小表情大全结语Markdown 使用 Emoji 表情 && MD格式小表情大全 有两种方法可以将表情符号添加到Markdown文件中:将表情符号复制并粘贴到Markdown格式的文…

1.4 Docker Swarm-详细介绍

Docker Swarm 是 Docker 官方推出的容器编排工具,用于管理 Docker 容器集群。Docker Swarm 的主要功能包括容器的部署、扩容、缩容、更新等。本文将详细介绍 Docker Swarm 的相关概念、架构、部署和使用方法。 一、Docker Swarm 概述 Docker Swarm 是 Docker 官方…
最新文章