c+=26 与c=c+26有时候为什么不同???? 代码一:char c=s.charAt(i);c+=26;代码二:char c=s.charAt(i);c=c+26;//为什么代码二编译不过去望高手指点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 经典,以前还真没注意过~~~~~这样就可以了 c = (char)(c + 26); 在第二种c+26 26是int型的 不能自动转换为char型,需强制类型转换, 第一种会默认转换为char型 这样也可以吧 c = (int) c + 26 是不是都升上来 变成int了啊 說起這兩個語句的區別就是:c += 26;裏面c只會被計算一次而c = c + 26;裏面c則被計算了兩次因為在JAVA中除了LONG型一切整型值跟的算術運算都按int型計算,所以第二式右邊的結果變成了int型,而int型是不能直接賦給char型的. 任何C/C++编译器都会无警告通过,没想到JAVA编译器这么鸟差 任何C/C++编译器都会无警告通过,没想到JAVA编译器这么鸟差--------------------------------------------------------跟编译器有鸟关系,语言规定如此,遵守就是了。某些语言不用定义变量就能使用,c++就不行,由此可见,c++编译器真是鸟差。 任何C/C++编译器都会无警告通过,没想到JAVA编译器这么鸟差--------------------------------------------------------跟编译器有鸟关系,语言规定如此,遵守就是了。某些语言不用定义变量就能使用,c++就不行,由此可见,c++编译器真是鸟差。--------------------------------------------------------JAVA变量定义完全是抄席C/C++实际应用中类似 char1 = char2+char3+1 ; 这样的例子太多了,死活非得把1解释成32位太愚蠢了,不停的让程序员做类型转换太麻烦,太影响工作效率了.不是编译器问题是什么? 第二种c+26 26是int型的 不能自动转换为char型,需强制类型转换, 第一种会默认转换为char型 跟编译器有鸟关系,语言规定如此,遵守就是了。某些语言不用定义变量就能使用,c++就不行,由此可见,c++编译器真是鸟差。--------------------------------------------------------按你的理解c+=26;不应该通过,必须写成c+=(char)26;今天不小心点击错误才进来看到这贴,服了. 代码二:char c=s.charAt(i);c=c+26;//为什么代码二编译不过去c=(char)(c+26); Java写的jdbc程序打包成jar包后无法加载到 oracle数据库的驱动 jface中如何设置toolbar的按钮样式 为什么我的JDBC连接Oracle的时候总是所“监听没有打开”的错误? 单机三子棋改为n子琪问题 急求Java编程思想第四版中文版 请教大家有没有Servlet web 工程,如果谁有给我留言,谢谢各位 JTextField 的 Focus 的设置! 小伙伴们帮帮忙 package与import的区别 JAVA多线程捕获异常的问题 java变得特别慢,要疯掉了! 急,在线等!请问 我用ObjectOutputStream的readObject能向一个文件末尾写入对象吗
这样就可以了 c = (char)(c + 26);
c += 26;裏面c只會被計算一次
而c = c + 26;裏面c則被計算了兩次
因為在JAVA中除了LONG型一切整型值跟的算術運算都按int型計算,所以第二式右邊的結果變成了int型,而int型是不能直接賦給char型的.
--------------------------------------------------------
跟编译器有鸟关系,语言规定如此,遵守就是了。
某些语言不用定义变量就能使用,c++就不行,由此可见,c++编译器真是鸟差。
--------------------------------------------------------
跟编译器有鸟关系,语言规定如此,遵守就是了。
某些语言不用定义变量就能使用,c++就不行,由此可见,c++编译器真是鸟差。
--------------------------------------------------------
JAVA变量定义完全是抄席C/C++
实际应用中类似 char1 = char2+char3+1 ; 这样的例子太多了,
死活非得把1解释成32位太愚蠢了,不停的让程序员做类型转换太麻烦,太影响工作效率了.
不是编译器问题是什么?
某些语言不用定义变量就能使用,c++就不行,由此可见,c++编译器真是鸟差。
--------------------------------------------------------
按你的理解
c+=26;不应该通过,必须写成c+=(char)26;
今天不小心点击错误才进来看到这贴,服了.
代码二:
char c=s.charAt(i);
c=c+26;
//为什么代码二编译不过去
c=(char)(c+26);