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

简介: 文章目录一、先上结论二、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++

1.png

2.png

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

JAVA

3.png

4.png

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

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

C++

5.png6.png

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

JAVA

1.png2.png

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

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

C++

1.png2.png

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

JAVA

1.png2.png

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

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

C++1.png2.png

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

JAVA

3.png4.png

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

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

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

C++

2.png1.png

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

1.png2.png

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

1.png2.png

可以正常输出了!

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

C++

2.png1.png

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

3.png4.png

JAVA

5.png6.png

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

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

4.png3.png

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


五、回顾结论

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



目录
相关文章
|
12天前
|
Java Android开发 C++
Java和C++
Java和C++
29 15
|
18天前
|
Java 程序员
Java社招面试题:& 和 && 的区别,HR的套路险些让我翻车!
小米,29岁程序员,分享了一次面试经历,详细解析了Java中&和&&的区别及应用场景,展示了扎实的基础知识和良好的应变能力,最终成功获得Offer。
47 14
|
13天前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
18 1
|
23天前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
42 8
|
1月前
|
Java
Java代码解释++i和i++的五个主要区别
本文介绍了前缀递增(++i)和后缀递增(i++)的区别。两者在独立语句中无差异,但在赋值表达式中,i++ 返回原值,++i 返回新值;在复杂表达式中计算顺序不同;在循环中虽结果相同但使用方式有别。最后通过 `Counter` 类模拟了两者的内部实现原理。
Java代码解释++i和i++的五个主要区别
WK
|
1月前
|
安全 Java 编译器
C++和Java哪个更好用
C++和Java各具优势,选择取决于项目需求、开发者偏好及目标平台特性。C++性能出色,适合游戏、实时系统等;Java平台独立性强,适合跨平台、安全敏感应用。C++提供硬件访问和灵活编程范式,Java有自动内存管理和丰富库支持。两者各有千秋,需根据具体需求选择。
WK
24 1
|
2月前
|
IDE Java 程序员
C++ 程序员的 Java 指南
一个 C++ 程序员自己总结的 Java 学习中应该注意的点。
24 5
|
2月前
|
存储 安全 编译器
在 C++中,引用和指针的区别
在C++中,引用和指针都是用于间接访问对象的工具,但它们有显著区别。引用是对象的别名,必须在定义时初始化且不可重新绑定;指针是一个变量,可以指向不同对象,也可为空。引用更安全,指针更灵活。
|
2月前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
|
2月前
|
Java
Java基础之 JDK8 HashMap 源码分析(中间写出与JDK7的区别)
这篇文章详细分析了Java中HashMap的源码,包括JDK8与JDK7的区别、构造函数、put和get方法的实现,以及位运算法的应用,并讨论了JDK8中的优化,如链表转红黑树的阈值和扩容机制。
32 1