smali 语法之if语句

# virtual methods
.method public onClick(Landroid/view/View;)V
    .locals 3
    .parameter "v"

    .prologue

    const/4 v0, 0x0
    .local v0, abc:Z      
    //boolean abc=false;(0x0=false) v0

    const/4 v1, 0x1                
    .local v1, minCount:I
  //int minCount=1;      v1


    if-eqz v0, :cond_0
    const-string v2, "this is true"

    invoke-static {v2}, Ljava/lang/System;->clearProperty(Ljava/lang/String;)Ljava/lang/String;

    :cond_0
    const-string v2, "continue"

    invoke-static {v2}, Ljava/lang/System;->clearProperty(Ljava/lang/String;)Ljava/lang/String;
// if (abc) {
//     System.clearProperty("this is true");
//     }
//     System.clearProperty("continue");

    if-nez v0, :cond_1

    const-string v2, "this is false"

    invoke-static {v2}, Ljava/lang/System;->clearProperty(Ljava/lang/String;)Ljava/lang/String;

    :cond_1
    const-string v2, "continue"

    invoke-static {v2}, Ljava/lang/System;->clearProperty(Ljava/lang/String;)Ljava/lang/String;
//if (!abc) {
//System.clearProperty("this is false");
//}
//System.clearProperty("continue");

    if-lez v1, :cond_2

    const-string v2, "minCount>0"

    invoke-static {v2}, Ljava/lang/System;->clearProperty(Ljava/lang/String;)Ljava/lang/String;

    :cond_2
    const-string v2, "continue"

    invoke-static {v2}, Ljava/lang/System;->clearProperty(Ljava/lang/String;)Ljava/lang/String;
// if (minCount>0) {
//     System.clearProperty("minCount>0");
//     }
//     System.clearProperty("continue");

    if-gez v1, :cond_3

    const-string v2, "minCount<0"

    invoke-static {v2}, Ljava/lang/System;->clearProperty(Ljava/lang/String;)Ljava/lang/String;

    :cond_3
    const-string v2, "continue"

    invoke-static {v2}, Ljava/lang/System;->clearProperty(Ljava/lang/String;)Ljava/lang/String;
// if (minCount<0) {
//     System.clearProperty("minCount<0");
//     }
//     System.clearProperty("continue");

    if-nez v1, :cond_4

    const-string v2, "minCount==0"

    invoke-static {v2}, Ljava/lang/System;->clearProperty(Ljava/lang/String;)Ljava/lang/String;

    :cond_4
    const-string v2, "continue"

    invoke-static {v2}, Ljava/lang/System;->clearProperty(Ljava/lang/String;)Ljava/lang/String;
// if (minCount==0) {
//     System.clearProperty("minCount==0");
//     }
//     System.clearProperty("continue");

    if-eqz v1, :cond_5

    const-string v2, "minCount!=0"

    invoke-static {v2}, Ljava/lang/System;->clearProperty(Ljava/lang/String;)Ljava/lang/String;

    :cond_5
    const-string v2, "continue"

    invoke-static {v2}, Ljava/lang/System;->clearProperty(Ljava/lang/String;)Ljava/lang/String;
// if (minCount!=0) {
//     System.clearProperty("minCount!=0");
//     }
//     System.clearProperty("continue");

    if-ltz v1, :cond_6

    const-string v2, "minCount>=0"

    invoke-static {v2}, Ljava/lang/System;->clearProperty(Ljava/lang/String;)Ljava/lang/String;

    :cond_6
    const-string v2, "Continiu"

    invoke-static {v2}, Ljava/lang/System;->clearProperty(Ljava/lang/String;)Ljava/lang/String;
// if (minCount>=0) {
//     System.clearProperty("minCount>=0");
//     }
//     System.clearProperty("continue");

    if-gtz v1, :cond_7

    const-string v2, "minCount<=0"

    invoke-static {v2}, Ljava/lang/System;->clearProperty(Ljava/lang/String;)Ljava/lang/String;

    :cond_7
    return-void
// if (minCount<=0) {
//     System.clearProperty("minCount<=0");
//     }
.end method

加z是和0或者空比较,不加是两个变量之间比较

原文地址:https://www.cnblogs.com/shuoshuo/p/3443370.html