Heim > Java > javaLernprogramm > So ersetzen Sie den Schalter in Java

So ersetzen Sie den Schalter in Java

王林
Freigeben: 2023-05-16 21:49:04
nach vorne
1399 Leute haben es durchsucht

Switch ersetzen

Die Schlüsselwort-Switch-Anweisung wird für die Beurteilung mehrerer Bedingungen verwendet. Die Funktion der Switch-Anweisung ähnelt der if-else-Anweisung und die Leistung der beiden ist ähnlich. Daher kann nicht gesagt werden, dass die Switch-Anweisung die Leistung des Systems verringert. In den meisten Fällen besteht jedoch noch Raum für Leistungsverbesserungen in der switch-Anweisung.

Sehen Sie sich das folgende Beispiel an:

public static void main(String[] args) {                 long start = System.currentTimeMillis();                 int re = 0;                 for (int i = 0;i<1000000;i++){             re = switchInt(i);             System.out.println(re);         }         System.out.println(System.currentTimeMillis() - start+"毫秒");//17860     }         public static int switchInt(int z){                    int i = z%10+1;                    switch (i){                        case 1:return 3;                        case 2:return 6;                        case 3:return 7;                        case 4:return 8;                        case 5:return 10;                        case 6:return 16;                        case 7:return 18;                        case 8:return 44;                        default:return -1;      }   }
Nach dem Login kopieren

In Bezug auf die Verzweigungslogik ist die Leistung dieses Switch-Modus nicht schlecht. Wenn Sie jedoch eine neue Idee verwenden, um den Schalter zu ersetzen und die gleichen Programmfunktionen zu erreichen, gibt es viel Raum für Leistungsverbesserungen.

public static void main(String[] args) {                 long start = System.currentTimeMillis();                 int re = 0;                 int[] sw = new int[]{0,3,6,7,8,10,16,18,44};                 for (int i = 0;i<1000000;i++){             re = arrayInt(sw,i);             System.out.println(re);         }         System.out.println(System.currentTimeMillis() - start+"毫秒");//12590     }         public static int arrayInt(         int[] sw,int z){                 int i = z%10+1;                 if (i>7 || i<1){                        return -1;         }else {                        return sw[i];         }     }
Nach dem Login kopieren

Der obige Code verwendet eine neue Idee und verwendet ein kontinuierliches Array anstelle der switch-Anweisung. Da der wahlfreie Zugriff auf Daten sehr schnell ist, ist er zumindest besser als die Beurteilung von Switch-Zweigen. Durch Experimente dauerte die Anweisung mit Switch 17860 ms und die Implementierung mit Array nur 12590 ms, was einer Verbesserung von mehr als 5 s entspricht. In der Softwareentwicklung kann eine Änderung Ihrer Denkweise zu besseren Ergebnissen führen. Beispielsweise ist die Verwendung eines Arrays als Ersatz für die Switch-Anweisung ein gutes Beispiel.

Das obige ist der detaillierte Inhalt vonSo ersetzen Sie den Schalter in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage