首页 > 编程语言 >【逗号你真的懂吗?】C++与JAVA中逗号的区别

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

时间:2023-08-12 23:05:17浏览次数:41  
标签:语句 JAVA C++ 逗号 报错 表达式


参考文章:这里

一、先上结论

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中逗号的区别_逗号表达式

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

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

JAVA

【逗号你真的懂吗?】C++与JAVA中逗号的区别_逗号表达式_03

【逗号你真的懂吗?】C++与JAVA中逗号的区别_逗号表达式_04

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

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

C++

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

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

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

JAVA

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

【逗号你真的懂吗?】C++与JAVA中逗号的区别_逗号表达式_08

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

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

C++

【逗号你真的懂吗?】C++与JAVA中逗号的区别_逗号表达式_09

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

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

JAVA

【逗号你真的懂吗?】C++与JAVA中逗号的区别_逗号表达式_11

【逗号你真的懂吗?】C++与JAVA中逗号的区别_逗号表达式_12

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

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

C++

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

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

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

JAVA

【逗号你真的懂吗?】C++与JAVA中逗号的区别_逗号表达式_15

【逗号你真的懂吗?】C++与JAVA中逗号的区别_逗号表达式_16

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

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

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

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

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

C++

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

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

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

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

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

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

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

【逗号你真的懂吗?】C++与JAVA中逗号的区别_逗号表达式_24

  • 可以正常输出了!

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

C++

【逗号你真的懂吗?】C++与JAVA中逗号的区别_逗号表达式_25

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

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

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

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

JAVA

【逗号你真的懂吗?】C++与JAVA中逗号的区别_逗号表达式_29

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

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

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

【逗号你真的懂吗?】C++与JAVA中逗号的区别_逗号表达式_32

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

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

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

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

五、回顾结论

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

标签:语句,JAVA,C++,逗号,报错,表达式
From: https://blog.51cto.com/u_15720469/7062431

相关文章

  • Java里的数据类型有哪些?
    Java的数据类型主要分为两大类:内置数据类型(基本数据类型):整数类型:byte:8位有符号整数,范围从-128到127。short:16位有符号整数,范围从-32768到32767。int:32位有符号整数,范围从-2,147,483,648到2,147,483,647。long:64位有符号整数,范围从-9,223,372,036,854,775,808到9,223,37......
  • C++ 与 QML交互
    前言在QT中既然qml处理前端,C++处理后端,那么C++和QML是如何进行交互?将对象暴露给qmlvoidQQmlContext::setContextProperty(constQString&name,QObject*value)Setthevalueofthenamepropertyonthiscontext.QQmlContextdoesnottakeownershipofvalue.......
  • 【Java 初阶】Java 连接池 C3P0
    ......
  • java 生成Excel的几种方式
    Java生成Excel的几种方式ApachePOI:ApachePOI是一个流行的用于处理MicrosoftOffice文档的Java库。它提供了一组API,可以用于创建、读取和修改Excel文件。可以使用ApachePOI来创建新的Excel文件并填充数据,或者将现有的数据导出到Excel文件中。JExcelAPI:JExcelAPI是另一个用于处理E......
  • 【JavaScript40】jquery发送jsonp
    jquery中也提供了jsonp请求服务器端fromflaskimportFlask,render_template,request,make_responseapp=Flask(__name__)@app.route("/")deffunc0():news="这是一个完整的html页面"returnrender_template("index.html",......
  • Java基础01
    idea安装百度搜索idea直接找到官网下载[idea官网](IntelliJIDEA–领先的Java和KotlinIDE(jetbrains.com.cn))(学生可以选择学生版)根据电脑系统选择位数下载,按照提示进行安装(建议不要放c盘)系统检索不到Java版本时自己手动选择安装目录新建项目检查是否安装有问题,打开id......
  • JavaScript
    JavaScripJS介绍JS和html代码的第一种结合方式<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>javaScript和html的第一种结合方式</title><scripttype="text/javascript">......
  • C++互斥锁
    C++11提供了4种锁机制mutex:互斥锁timed_mutex:带超时机制的互斥锁recursive_mutex:递归互斥锁recursive_imed_mutex:带超时机制的递归互斥锁!使用前需添加头文件#include<mutex>metex:使用伪代码方式mutexmtx;mtx.lock();//申请加锁。(需要加锁的资源)mtx.unlo......
  • 《深入理解Java虚拟机》读书笔记:垃圾收集器
    垃圾收集器 HotSpot虚拟机包含的所有收集器如图3-5所示。图3-5展示了7种作用于不同分代的收集器,如果两个收集器之间存在连线,就说明它们可以搭配使用。新生代收集器:Serial、ParNew、ParallelScavenge,新生代收集器均采用复制算法老年代收集器:SerialOld(标记-整理算法)、Paral......
  • JavaWeb之Servlet入门版教务系统(四)
    之前分享了教务系统中的系统管理模块的具体内容,相信或多或少都收获到了一些东西,今天继续讲述教务系统下的邮件系统模块。首先说一下我写的时候的思路,该模块下主要包含写邮件、收邮件、发邮件、草稿箱、垃圾箱等五个主要功能,用户通过登录系统后,可以在收件箱中看到其他用户给自己发送......