【发布时间】:2013-08-10 07:28:01
【问题描述】:
我是从 Jay Bryant 的书 - Java 7 for Absolute Beginners 中学习 Java 的。在第 164 页有一个特殊的例子,他阅读然后反转文本文件的内容,使用如下特定方法:
private static void reverseByteArray(byte[] inBytes) {
int inLength = inBytes.length;
for (int i = 0; i < (inLength >>1); i++) {
byte temp = inBytes[i];
inBytes[i] = inBytes[inLength - i - 1];
inBytes[inLength - i - 1] = temp;
}
}
我的问题是移位运算符在以下行中的作用是什么 for (int i = 0; i (inLength >>1); i++) {
-它在整个反转文本内容的操作中的作用是什么?
相信我理解for循环下的后续代码,就是将第一个字节的值与最后一个字节的值交换。
如果不存在按位移位运算符,则输出不会反转。
首字母: 睡觉:可能做梦:是的,问题来了; 因为在死亡的沉睡中会出现什么梦想 当我们洗掉了这凡人的线圈, 必须让我们停下来:尊重 这么长的寿命才惹祸了
输出: efil gnol os fo ytimalac sekam tahT tcepser eht s'ereht :esuap su evig tsuM ,lioc latrom siht ffo delffuhs evah ew nehW emoc 山药 smaerd tahw htaed fo 果皮 taht ni roF ;bur eht s'ereht ,ya :maerd ot ecnahcrep :peels oT
谢谢。
【问题讨论】:
标签: java arrays byte reverse shift