黑马程序员技术交流社区
标题:
用异或交换两个字符的值
[打印本页]
作者:
李小锋
时间:
2012-12-10 14:50
标题:
用异或交换两个字符的值
本帖最后由 李小锋 于 2012-12-10 22:28 编辑
private static void swap(char[] arr,int x,int y)
{
arr[x] = arr[x]^arr[y];
arr[y] = arr[y]^arr[x];
arr[x] = arr[x]^arr[y];
}
复制代码
出现提示:
StringDemo.java:19: 可能损失精度
找到: int
需要: char
arr[x] = arr[x]^arr[y];
^
是否是char类型不能异或?
作者:
但汉涛
时间:
2012-12-10 16:35
异或是按位操作符。
按位操作符是用来操作整数基本数据类型的中的单个比特。
char转化为 int型,不会丢失精度。
作者:
邱峁
时间:
2012-12-10 16:56
异或是按位操作符。
按位操作符是用来操作整数基本数据类型的中的单个比特,
arr[]是char类型的,你可以a[x^y]试试
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2