私は、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 yam smaerd tahw htaed fo Peles taht ni roF ;bur eht s'ereht ,ya :maerd ot ecnahcrep :ピール oT
ありがとうございました。