Android反编译系列二之for循环语句的怪状
2010-11-05 00:57:51 来源:WEB开发网Android反编译系列二之for循环语句的怪状
for循环被反编译后出现了一种怪状。
一个for循环
源码:
for (int i = 0; i < array; i++) {
System.out.print("xxx");
}
反编译后:
int i = null;
do
{
int j = array;
if (i >= j)
return;
System.out.print("xxx");
i++;
} while (true);
俩个for循环
源码:
public void clearTiles() {
for (int x = 0; x < mXTileCount; x++) {
for (int y = 0; y < mYTileCount; y++) {
setTile(0, x, y);
}
}
}
反编译后:
public void clearTiles()
{
int i = 0;
_L2:
int j = mXTileCount;
if (i >= j)
return;
int k = null;
do
{
label0:
{
int l = mYTileCount;
if (k < l)
break label0;
i++;
}
if (true)
continue;
setTile(0, i, k);
k++;
} while (true);
if (true) goto _L2; else goto _L1
_L1:
}
三个for循环
源码
public void tt()
{
for (int i = 0; i < array; i++) {
for (int j = 0; j < array; j++) {
for (int k = 0; k < array;k++)
{
System.out.print("xxx");
}
}
}
}
反编译后
public void tt()
{
int i = null;
_L2:
int k;
int j = array;
if (i >= j)
return;
k = null;
_L3:
label0:
{
int l = array;
if (k < l)
break label0;
更多精彩
赞助商链接