Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-Switch功能_Java_Switch Statement - Fatal编程技术网

Java-Switch功能

Java-Switch功能,java,switch-statement,Java,Switch Statement,Down bellow是计算一个单词有多少元音的代码的一部分。第一个代码与第二个代码的功能相同,对吗?所以,如果我想使用几个具有相同操作的案例,我只需要将操作放在最后一个案例上(如第一个代码中) 第一: public static int contvowel(String pal){ int cont=0; pal=pal.toLowerCase(); for(int i=0; i<pal.length();i++) {

Down bellow是计算一个单词有多少元音的代码的一部分。第一个代码与第二个代码的功能相同,对吗?所以,如果我想使用几个具有相同操作的案例,我只需要将操作放在最后一个案例上(如第一个代码中)

第一:

public static int contvowel(String pal){ 
        int cont=0; 
        pal=pal.toLowerCase(); 
        for(int i=0; i<pal.length();i++) { 
            switch(pal.charAt(i)){ 
                case 'a': 
                case 'e': 
                case 'i': 
                case 'o': 
                case 'u': { cont=cont+1; break; }
            } 
        } 
            return cont; 
        } 
公共静态int-cont元音(字符串pal){
int cont=0;
pal=pal.toLowerCase();
对于(int i=0;i,您的答案是:

是的。第一个代码与第二个代码相同。

回答您的问题,“是”-结果相同


但这里有一些值得思考的东西:

public static int countVowels(String pal) { 
    return pal.replaceAll("[^aeiou]", "").length();
}
是的结果和结果将是相同的。但辩护的为“代码相同”

编辑:如评论中所述,这是两个编译版本:

第1版:

Compiled from "Hello.java"
public class main.java.Hello {
  public main.java.Hello();
    Code:
       0: aload_0       
       1: invokespecial #1                  // Method java/lang/Object."<init>":()V
       4: return        

  public static void main(java.lang.String[]);
    Code:
       0: ldc           #2                  // String Hello, World!
       2: astore_1      
       3: iconst_0      
       4: istore_2      
       5: aload_1       
       6: invokevirtual #3                  // Method java/lang/String.toLowerCase:()Ljava/lang/String;
       9: astore_1      
      10: iconst_0      
      11: istore_3      
      12: iload_3       
      13: aload_1       
      14: invokevirtual #4                  // Method java/lang/String.length:()I
      17: if_icmpge     86
      20: aload_1       
      21: iload_3       
      22: invokevirtual #5                  // Method java/lang/String.charAt:(I)C
      25: lookupswitch  { // 5
                    97: 76
                   101: 76
                   105: 76
                   111: 76
                   117: 76
               default: 80
          }
      76: iload_2       
      77: iconst_1      
      78: iadd          
      79: istore_2      
      80: iinc          3, 1
      83: goto          12
      86: getstatic     #6                  // Field java/lang/System.out:Ljava/io/PrintStream;
      89: new           #7                  // class java/lang/StringBuilder
      92: dup           
      93: invokespecial #8                  // Method java/lang/StringBuilder."<init>":()V
      96: ldc           #9                  // String Got: 
      98: invokevirtual #10                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
     101: iload_2       
     102: invokevirtual #11                 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;
     105: invokevirtual #12                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
     108: invokevirtual #13                 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
     111: return        
}
从“Hello.java”编译而来
公共类main.java.Hello{
public main.java.Hello();
代码:
0:aload_0
1:invokespecial#1//方法java/lang/Object。“:()V
4:返回
公共静态void main(java.lang.String[]);
代码:
0:ldc#2//String你好,世界!
2:astore_1
3:iconst_0
4:istore_2
5:aload_1
6:invokevirtual#3//方法java/lang/String.toLowerCase:()Ljava/lang/String;
9:astore_1
10:iconst_0
11:istore_3
12:iload_3
13:aload_1
14:invokevirtual#4//方法java/lang/String.length:()I
17:if_icmpge 86
20:aload_1
21:iload_3
22:invokevirtual#5//方法java/lang/String.charAt:(I)C
25:查找开关{//5
97: 76
101: 76
105: 76
111: 76
117: 76
默认值:80
}
76:iload_2
77:iconst_1
78:iadd
79:istore_2
80:iinc 3,1
83:转到12
86:getstatic#6//fieldjava/lang/System.out:Ljava/io/PrintStream;
89:new#7//class java/lang/StringBuilder
92:dup
93:invokespecial#8//方法java/lang/StringBuilder。”“:()V
96:ldc#9//字符串已获取:
98:invokevirtual#10//方法java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
101:iload_2
102:invokevirtual#11//方法java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;
105:invokevirtual#12//方法java/lang/StringBuilder.toString:()Ljava/lang/String;
108:invokevirtual#13//方法java/io/PrintStream.println:(Ljava/lang/String;)V
111:返回
}
第2版:

Compiled from "Hello.java"
public class main.java.Hello {
  public main.java.Hello();
    Code:
       0: aload_0       
       1: invokespecial #1                  // Method java/lang/Object."<init>":()V
       4: return        

  public static void main(java.lang.String[]);
    Code:
       0: ldc           #2                  // String Hello, World!
       2: astore_1      
       3: iconst_0      
       4: istore_2      
       5: aload_1       
       6: invokevirtual #3                  // Method java/lang/String.toLowerCase:()Ljava/lang/String;
       9: astore_1      
      10: iconst_0      
      11: istore_3      
      12: iload_3       
      13: aload_1       
      14: invokevirtual #4                  // Method java/lang/String.length:()I
      17: if_icmpge     114
      20: aload_1       
      21: iload_3       
      22: invokevirtual #5                  // Method java/lang/String.charAt:(I)C
      25: lookupswitch  { // 5
                    97: 76
                   101: 83
                   105: 90
                   111: 97
                   117: 104
               default: 108
          }
      76: iload_2       
      77: iconst_1      
      78: iadd          
      79: istore_2      
      80: goto          108
      83: iload_2       
      84: iconst_1      
      85: iadd          
      86: istore_2      
      87: goto          108
      90: iload_2       
      91: iconst_1      
      92: iadd          
      93: istore_2      
      94: goto          108
      97: iload_2       
      98: iconst_1      
      99: iadd          
     100: istore_2      
     101: goto          108
     104: iload_2       
     105: iconst_1      
     106: iadd          
     107: istore_2      
     108: iinc          3, 1
     111: goto          12
     114: getstatic     #6                  // Field java/lang/System.out:Ljava/io/PrintStream;
     117: new           #7                  // class java/lang/StringBuilder
     120: dup           
     121: invokespecial #8                  // Method java/lang/StringBuilder."<init>":()V
     124: ldc           #9                  // String Got: 
     126: invokevirtual #10                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
     129: iload_2       
     130: invokevirtual #11                 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;
     133: invokevirtual #12                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
     136: invokevirtual #13                 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
     139: return        
}
从“Hello.java”编译而来
公共类main.java.Hello{
public main.java.Hello();
代码:
0:aload_0
1:invokespecial#1//方法java/lang/Object。“:()V
4:返回
公共静态void main(java.lang.String[]);
代码:
0:ldc#2//String你好,世界!
2:astore_1
3:iconst_0
4:istore_2
5:aload_1
6:invokevirtual#3//方法java/lang/String.toLowerCase:()Ljava/lang/String;
9:astore_1
10:iconst_0
11:istore_3
12:iload_3
13:aload_1
14:invokevirtual#4//方法java/lang/String.length:()I
17:if_icmpge 114
20:aload_1
21:iload_3
22:invokevirtual#5//方法java/lang/String.charAt:(I)C
25:查找开关{//5
97: 76
101: 83
105: 90
111: 97
117: 104
默认值:108
}
76:iload_2
77:iconst_1
78:iadd
79:istore_2
80:转到108
83:iload_2
84:iconst_1
85:iadd
86:istore_2
87:转到108
90:iload_2
91:iconst_1
92:iadd
93:istore_2
94:转到108
97:iload_2
98:iconst_1
99:iadd
100:istore_2
101:转到108
104:iload_2
105:iconst_1
106:iadd
107:istore_2
108:iinc 3,1
111:转到12
114:getstatic#6//Field java/lang/System.out:Ljava/io/PrintStream;
117:new#7//class java/lang/StringBuilder
120:dup
121:invokespecial#8//方法java/lang/StringBuilder。”“:()V
124:ldc#9//字符串已获取:
126:invokevirtual#10//方法java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
129:iload_2
130:invokevirtual#11//方法java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;
133:invokevirtual#12//方法java/lang/StringBuilder.toString:()Ljava/lang/String;
136:invokevirtual#13//方法java/io/PrintStream.println:(Ljava/lang/String;)V
139:返回
}
diff-e ou1 ou2

39,51c
      80: goto          108
      83: iload_2       
      84: iconst_1      
      85: iadd          
      86: istore_2      
      87: goto          108
      90: iload_2       
      91: iconst_1      
      92: iadd          
      93: istore_2      
      94: goto          108
      97: iload_2       
      98: iconst_1      
      99: iadd          
     100: istore_2      
     101: goto          108
     104: iload_2       
     105: iconst_1      
     106: iadd          
     107: istore_2      
     108: iinc          3, 1
     111: goto          12
     114: getstatic     #6                  // Field java/lang/System.out:Ljava/io/PrintStream;
     117: new           #7                  // class java/lang/StringBuilder
     120: dup           
     121: invokespecial #8                  // Method java/lang/StringBuilder."<init>":()V
     124: ldc           #9                  // String Got: 
     126: invokevirtual #10                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
     129: iload_2       
     130: invokevirtual #11                 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;
     133: invokevirtual #12                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
     136: invokevirtual #13                 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
     139: return        
.
29,33c
                   101: 83
                   105: 90
                   111: 97
                   117: 104
               default: 108
.
23c
      17: if_icmpge     114
39,51c
80:转到108
83:iload_2
84:iconst_1
85:iadd
86:istore_2
87:转到108
90:iload_2
91:iconst_1
92:iadd
93:istore_2
39,51c
      80: goto          108
      83: iload_2       
      84: iconst_1      
      85: iadd          
      86: istore_2      
      87: goto          108
      90: iload_2       
      91: iconst_1      
      92: iadd          
      93: istore_2      
      94: goto          108
      97: iload_2       
      98: iconst_1      
      99: iadd          
     100: istore_2      
     101: goto          108
     104: iload_2       
     105: iconst_1      
     106: iadd          
     107: istore_2      
     108: iinc          3, 1
     111: goto          12
     114: getstatic     #6                  // Field java/lang/System.out:Ljava/io/PrintStream;
     117: new           #7                  // class java/lang/StringBuilder
     120: dup           
     121: invokespecial #8                  // Method java/lang/StringBuilder."<init>":()V
     124: ldc           #9                  // String Got: 
     126: invokevirtual #10                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
     129: iload_2       
     130: invokevirtual #11                 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;
     133: invokevirtual #12                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
     136: invokevirtual #13                 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
     139: return        
.
29,33c
                   101: 83
                   105: 90
                   111: 97
                   117: 104
               default: 108
.
23c
      17: if_icmpge     114