A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

字符串连接符号+后面如果接的是加法符号+,则从左往右运算,加法符号变成字符串连接符号。想计算加法必须加括号提高运算优先顺序
而字符串连接符号+后面如果接的是乘法符号*,则优先计算乘法,不需要加括号。(另外如果把前面两项用括号扩起来通过代码验证可得程序错误,因为字符串不可参与加减乘除取模运算)




BiJiao1.png (94.93 KB, 下载次数: 47)

BiJiao1.png

28 个回复

正序浏览
syb012 中级黑马 2015-10-19 14:38:39
29#
总结一下:
字符串取模int型,这是一个语法错误,java并没有把int型看作字符串型,而是通过取模运算的操作类型中有字符串而判断错误。

byte型+byte型 ,这没有语法错误,但java把它当作一个整体看作了int型
byte型=int型(假设是个不知道具体数值的变量),这是一个语法错误,int型不是一个具体的数不会进行自动区间查找,会报出可能丢失精度的错误

最后:
我要放下这件小事,我要去认真的学习关于数组的知识了,今天计划把数组全部学完。
回复 使用道具 举报
syb012 中级黑马 2015-10-19 14:20:23
28#
ln0491 发表于 2015-10-19 12:00
学习了。。。。。。。

一起学习^ _ ^
回复 使用道具 举报
ln0491 中级黑马 2015-10-19 12:00:18
27#
学习了。。。。。。。
回复 使用道具 举报
syb012 中级黑马 2015-10-19 11:40:46
26#
虽然知道一直深究一个小问题有点浪费时间,可是还是很好奇java的报错方式,所以又回顾了一下byte=byte+byte这样的语句是如何报错的


从图片可以看到是在编译过程中出现的错误,而编译过程是不运行的,只检查语法错误,也就是说java并没有运算图中的a+b,
而是把它作为一个整体当作了int型

BaoCuo1.png (81.21 KB, 下载次数: 30)

BaoCuo1.png
回复 使用道具 举报
syb012 中级黑马 2015-10-19 11:34:26
25#
斑点狗 发表于 2015-10-19 10:50
LZ写的真心不错,看完挺有感触的!

回复 使用道具 举报
LZ写的真心不错,看完挺有感触的!
回复 使用道具 举报
syb012 中级黑马 2015-10-19 10:38:32
23#
jyf823691221 发表于 2015-10-19 09:15
加油加油加油加油加油加油

一起加油
回复 使用道具 举报
syb012 中级黑马 2015-10-19 10:37:29
22#
回复 使用道具 举报
syb012 中级黑马 2015-10-19 10:34:31
21#
litoper 发表于 2015-10-18 23:22
-------------------------------------------------------------------------------------------------- ...

正在看第4天第一个关于数组的视频,里面老师说到,编译过程不运行只检查语法错误,所以编译过程中出现错误一定是语法错误。所以肯定没有把int整型转换成字符串型这样的过程。
回复 使用道具 举报
加油加油加油加油加油加油
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
syb012 中级黑马 2015-10-19 08:34:54
18#
litoper 发表于 2015-10-18 23:22
-------------------------------------------------------------------------------------------------- ...

字符串后接减乘除取模运算是否会把后面的int型强制转化成字符串类型?这么写出来的代码肯定是错误的。计算机是通过什么样的方式来判断错误,在判断错误的过程里是否有把整形强制转化成字符串型的这个过程,通过运行的错误结果不能很肯定的给出结论。但这个强制转化这个过程也是需要运算的,浪费资源,我认为设计Java 程序的人不会做强制转化这样一个多余的步骤,只要用乘法一边接字符串判断错误即可。但是否是这样,我还要等以后有机会再求证一下。
回复 使用道具 举报
syb012 中级黑马 2015-10-19 08:12:24
17#
litoper 发表于 2015-10-18 23:22
-------------------------------------------------------------------------------------------------- ...

这个地方我等有机会问问老师,看老师怎么说
回复 使用道具 举报
syb012 发表于 2015-10-18 20:45
JAVA中int、String的类型转换    (转载自神秘小猪的博客)

---------------------------------------------------------------------------------------------------------------
litoper 发表于 2015-10-18 18:10
Y带了双引号,将其他几个数字也强制转换成了字符串,所以不能进行运算,而是是简单的连接.因而%提示错误 ...
--------------------------------------------------------------------------------------------------------------
1,简单理解,+这个符号在运算里面叫加,在字符串之间叫连接.
2,前面三个,因"Y"是字符串,所以后面的数字被强制转化为字符串,进而再连接到Y后面去了.
3.字符串理解成汉字,五是数字,汉字取模数字?或汉字取模汉字.
5,既已报错,为何转换?若被转换,何来报错?

回复 使用道具 举报
y带""是字符串
回复 使用道具 举报
syb012 中级黑马 2015-10-18 22:14:59
14#
JYcainiao 发表于 2015-10-18 21:46
很好很强大   说的很详细  都是很基本的内容   要记牢固才行啊

回复 使用道具 举报
很好很强大   说的很详细  都是很基本的内容   要记牢固才行啊
回复 使用道具 举报
syb012 中级黑马 2015-10-18 20:50:13
12#
QiChen 发表于 2015-10-18 20:46
额…这个我竟无言以对………

回复 使用道具 举报
syb012 中级黑马 2015-10-18 20:49:11
11#
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马