public static int CharToHex(char Char) {
if (Char >= '0' && Char <= '9')
return Char - '0';
else if (Char >= 'A' && Char <= 'F')
return Char - 'A' + 10;
else if (Char >= 'a' && Char <= 'f')
return Char - 'a' + 10;
else
return 0;
}
// 数据处理
public static String Change1(String str, int len) {
String str1 = "p1r!p1r003B1s!p2r!p2r00003!p1r!p1r001A1s!p2r!p2r00003!"
+ "p1r!p1r003B1s!p2r!p2r00003!p1r!p1r003B1s!p2r!p2r00003!p1r!p1r001E1v!p1r!p1r001E1v!";
String hexString = str1.replace(" ", "");
String ret = "";
char[] hexChars = hexString.toCharArray();
for (int i = 0; i < hexChars.length;) {
if ((hexChars[i] == 'p') && (hexChars[i + 1] == '1')
&& (hexChars[i + 2] == 'r') && (hexChars[i + 3] == '!')) {
String p = Integer.toString((CharToHex(hexChars[i + 7]) << 12)
| (CharToHex(hexChars[i + 8]) << 8)
| (CharToHex(hexChars[i + 9]) << 4)
| CharToHex(hexChars[i + 10]));
i = i + 14;
return p;
} else {
i = i + 1;
}
}
return null;
}
我打断点试过,程序只能执行一次!当i=i+14;这句话执行完之后并不能赋给for的初始 ,循环执行,这是为什么呀?
i = i + 14之后为啥return 了,return之后就不在执行该方法了
i = i + 14;之后i的值超出了数组长度,所以就退出循环了
而且for循环中使用return,那么肯定直接退出这个方法了
首先你要明白returnn的意思;
return是终结方法的意思,也就是说
你的程序运行到return p的时候就会跳出方法。
break和continue是作用域循环,return是作用于整个方法。
如果有帮助,希望结帖
return 后面的语句都不能执行,直接返回函数