社区
Java SE
帖子详情
“+”的使用规则?
jery2487
2010-09-14 04:50:30
System.out.print("i="+i)
符号"+"的使用规则是什么?
...全文
205
23
打赏
收藏
“+”的使用规则?
System.out.print("i="+i) 符号"+"的使用规则是什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
魔芋红茶
2010-09-15
打赏
举报
回复
[Quote=引用 18 楼 pywepe 的回复:]
引用 1 楼 clariones 的回复:
+操作符只被String重载了,所以+是一个二元操作符,两边可以是 String和基本数值类型
需要考虑的就是类型提升顺序。
重载?
[/Quote]
一般来说,java作为面向对象语言不会出现c++中的operator+这种重载,但+应该算是个特例吧,毕竟每次连接字符串都调用String.conn会疯的。。。这个不必深究,会用就行,学java不需要理解运算符重载,那个是c++的产物。
魔芋红茶
2010-09-15
打赏
举报
回复
[Quote=引用 10 楼 jery2487 的回复:]
很有可能是5楼说的第三种情况
可为什么a+b+c变成b+c+a会出现不一样的情况呢?
[/Quote]
+的执行顺序是从左往右的,a+b,结果必然是字符串test12,"test12"+c结果必然是字符串“test1213”
b+c,结果是int25,25+“test”结果是字符串25test
参见java相关类型转换规则。
pywepe
2010-09-15
打赏
举报
回复
[Quote=引用 1 楼 clariones 的回复:]
+操作符只被String重载了,所以+是一个二元操作符,两边可以是 String和基本数值类型
需要考虑的就是类型提升顺序。
[/Quote]
重载?
e9876
2010-09-15
打赏
举报
回复
如何重载操作符的?
24K純帥
2010-09-15
打赏
举报
回复
连接字符串,输出i=值
Dyijun
2010-09-15
打赏
举报
回复
不错。。。
lost_guy_in_scut
2010-09-15
打赏
举报
回复
[Quote=引用 9 楼 boyone2009 的回复:]
+ 有对数字的加操作, 也有String类型数据的链接。 但当String 和是数字连接时位置很关键:
1. String a = "test";
int b = 12;
int c = 13;
System.out.println(a + b + c);
结果是test1213.
2. String a = "test";
int b = 12;
int ……
[/Quote]
恩恩。
bekeer
2010-09-15
打赏
举报
回复
建议多看书 不懂了再问 自己能解决是最好不过的了
marqio
2010-09-14
打赏
举报
回复
"+"被重载了,貌似这是Java里唯一的操作符重载,如果前后是数字就执行相加,如有一个为字符串就是重载了,直接连接就是了,被自动转型了。
snaillxc
2010-09-14
打赏
举报
回复
连接字符串 可以借鉴一下5楼所说的。。
铁匠梁老师
2010-09-14
打赏
举报
回复
java对 + 符号会自动重载
jery2487
2010-09-14
打赏
举报
回复
很有可能是5楼说的第三种情况
可为什么a+b+c变成b+c+a会出现不一样的情况呢?
无伤
2010-09-14
打赏
举报
回复
+ 有对数字的加操作, 也有String类型数据的链接。 但当String 和是数字连接时位置很关键:
1. String a = "test";
int b = 12;
int c = 13;
System.out.println(a + b + c);
结果是test1213.
2. String a = "test";
int b = 12;
int c = 13;
System.out.println(b + c + a);
结果是25a
jixian3204
2010-09-14
打赏
举报
回复
2楼说的是对的
jixian3204
2010-09-14
打赏
举报
回复
[Quote=引用 2 楼 alushuai159 的回复:]
最基本有两种用法:1:连接字符串;2:运算符。
这里就是连接字符串的用法
[/Quote]
楼上,说的那是隐式自动类型转换,不算连字符的功能
WANGYQ_412
2010-09-14
打赏
举报
回复
[Quote=引用 5 楼 hope0612 的回复:]
"+"这个运算符我觉得有三个用法:
1、可以表示数值的相加
2、可以表示字符串的连接
如:"666"+"fgs"结果就为"666fgs"
3、可以把非字符串的转换成字符串
如:3.5+"1"结果就为"3.51"
这样讲不知道算不算清楚,呵呵
[/Quote]
楼主可以借鉴1
Hope0612
2010-09-14
打赏
举报
回复
"+"这个运算符我觉得有三个用法:
1、可以表示数值的相加
2、可以表示字符串的连接
如:"666"+"fgs"结果就为"666fgs"
3、可以把非字符串的转换成字符串
如:3.5+"1"结果就为"3.51"
这样讲不知道算不算清楚,呵呵
gujinf2008
2010-09-14
打赏
举报
回复
这里是连接字符串
mouer
2010-09-14
打赏
举报
回复
我个人理解,有2中情况吧,
1。前数字,后数字,如1+1
2。前字符串,后对象(需要重写对象的toString方法),如 String a = ""+1;
clariones
2010-09-14
打赏
举报
回复
+操作符只被String重载了,所以+是一个二元操作符,两边可以是 String和基本数值类型
需要考虑的就是类型提升顺序。
加载更多回复(1)
Drools
规则
引擎基础+Workbench实战套餐
本套餐涵盖三套课程,包含以下内容: (1)Drools
规则
引擎基础语法
使用
及实例 (2)Drools
规则
引擎进阶语法
使用
及实例 (3)Drools官方提供的
规则
管理平台Workbench、KIE Server的
使用
,以及业务系统如何调用等功能...
正则表达式中的 .+*?
.+?表示最小匹配 举例说明.+?与.+的区别 <a href="xxx"><span> 如果用<.+>匹配,则匹配结果是 <a href="xxx"><span> 如果用<.+?>匹配,则匹配结果是 <a href="xxx"> 也...
为什么++i比i++效率高?
由于这个运算符前置(++i)和后置(i++)执行结果不同,为了区分这两种情况,C++语法上规定了它们有不同的重载函数: operator++(); //前置式 ++i operator++(int); //后置式 i++ 所以执行++i时调用operator++()...
在C++中,为什么部分程序员喜欢在循环中写‘++i’而不是‘i++’?
自入行以来,无论是查阅资料、技术博客亦或是同事间的技术交流,都有一个共识:在循环的时候,务必
使用
前置操作符,因为其性能优于后置操作符,久而久之,这个就像一个不成文的规定,大家都在遵循,久而久之,成为...
常用正则表达式
(+?(\d+|\.\d+|\d+\.\d+)) | (-?(\d+|\d+\.\d+)) /^(?:\+|-)?(?:\d+\.)?\d+$/ 2. 精确匹配超连接 (?=\s)[^>]*(?]*>([\s\S]+?) 经验: 1. 正则表达式中不能匹配,最简单的可用排除型字符组...
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章