java 语法的怪现象,谁能给出一个正确的说法! 我认为的:第一个println从左到右执行,首先执行加法,然后遇到字符型,进行字符连接第二个println首先就遇到也字符,所以进行字符连接。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 编译器会先算出a+b,得出int型临时变量7,当遇到字串"7"时,会将int型变量7转化为字串"7",与后一个"7"叠加成为字串"77".在后一句中,编译器先遇到"7",会自动将后面的a,b转化为字串"3","4",所以结果为"734"这和程序的自动类型转换有关 没研究过java的语言和vm规范,可能是pprinln方法处理表达式采取自左到右的顺序。对于System.out.println(a+b+"7"),先算出a+b的值。对于System.out.println("7"+a+b),先处理字符串"7",这样导致后续的a和b均按字符串处理。java语言中,String变量与数值型变量相加可将数值型变量强制转换成String变量。这样提供了一种将数值型变量换成String变量的方便方法。如: int nCount = 100; String sCount = ""+nCount;转回去就麻烦一些如: String sCount = "1000"; int nCount = Integer.parseInt(sCount);记不得在那本书上看到的,(好像是thinking in java),本人一般这样写代码。 涉及到数据类型转化的问题~!int和string之间是不能直接转换的所以会出现这种情况 当遇到第一个字符后,以后的操作都按照字符来处理。明白了这点就好解释了。看看thinking in java 关于graphics的一个小问题,大家进来帮我看看。。。 String类通过byte数组构造 BufferedReader和BufferedWriter缓冲区大小的问题!!! 如何读取lingoes的IDX字典文件 怎样将图片转为二进制流? 关于jcombobox:一个可编辑的jcombobox如何将他的选项列表的背景从灰色改成白色? 关于PACKAGE的问题 哪位知道weblogic的报价及它的负载平衡的实现?!100 各位前辈: 我想用学费去参加软件工程师的培训,不知到这样值得吗? 关于调用顺序的问题 太阳帝国的崛起(Sun的称霸) herowu谢谢你的帮助
在后一句中,编译器先遇到"7",会自动将后面的a,b转化为字串"3","4",所以结果为"734"
这和程序的自动类型转换有关
java语言中,String变量与数值型变量相加可将数值型变量强制转换成String变量。这样提供了一种将数值型变量换成String变量的方便方法。
如:
int nCount = 100;
String sCount = ""+nCount;
转回去就麻烦一些
如:
String sCount = "1000";
int nCount = Integer.parseInt(sCount);
记不得在那本书上看到的,(好像是thinking in java),本人一般这样写代码。
明白了这点就好解释了。
看看thinking in java