Heim > Java > JavaInterview Fragen > Hauptteil

Die schriftlichen Testfragen von Ele.me scheinen einfach zu sein, aber sie verblüffen viele Leute

Freigeben: 2023-08-24 15:29:41
nach vorne
1880 Leute haben es durchsucht


Bitte lesen Sie den Titel

Bitte schreiben Sie auf, was dieser Code ausgibt?

/**
 * @author 面试专栏
 * @date 2021/7/11 13:57
 */
public class Test1 {
    public static void main(String[] args) {
        //输出什么?
        test();
    }

    public static void test() {
        for (int i = 4; i > 0; i--) {
            int j = 0;
            do {
                j++;
                if (j == 2) {
                    break;
                }
            } while (j <= i);
            System.out.print(j);
        }
    }
}
Nach dem Login kopieren

Wenn man diese Frage sieht, werden viele Leute denken, dass sie zu einfach ist. Tatsächlich testet diese Frage drei Wissenspunkte:

  • Hintergrundfarbe: rgba(27, 31, 35, 0.05);Schriftfamilie: „Operator Mono“, Consolas, Monaco, Menlo, Monospace;Wortumbruch: break-all;Farbe: rgb(239, 112, 96) ;">for-Schleife for循环
  • do...while循环
  • break

🎜🎜
  • 第一个:4321
  • 第二个:1232
  • 第三个:2211
  • 第四个:2222
  • 你觉得是哪个?还是觉得都不是?

    注意点

    注意点1

    do...while循环是while循环的变种,在检查条件是否为真之前,该循环其实已经执行过一次了,然后在检查条件是否为真,如果为true,就重复执行这个循环。注意:只要循环体中执行break后也会结束循环。

    注意点2

    for(表达式1;表达式2;表达式3){
    //循环体
    }
    Nach dem Login kopieren

    这个循环体执行步骤如下:

    • Der erste Schritt: Initialisierung ausführen: Ausdruck 1 (wird nur einmal ausgeführt)
    • Der zweite Schritt: Ausdruck 2 ausführen. Wenn das Ergebnis von Ausdruck 2 falsch ist, endet die Schleife, andernfalls wird der Schleifenkörper ausgeführt , Führen Sie dann Ausdruck 3 aus.
    • Schritt 3: Schleifenschritt 2. Wenn Sie wissen, dass das Ergebnis von Ausdruck 2 falsch ist, verlassen Sie die Schleife oder stoßen auf return, break Schlüsselwort. returnbreak关键字。

    本体分析

    • 第一次进入for循环体时,i=4,然后计入do...while循环体,此时j=0,然后这个循环一直执行j++,直到j=2或者j>i的时候退出循环体,显然此时j=2,也就是此时输出的是2。

    • 下一次for循环时,i=3,同理输出还是2,

    • 下一次for循环时,i=2,同理输出依然是2,

    • 下一次for循环时,i=1,同理输出结果是2,此时执行foe循环的i--操作,i=0,不满足i>0的条件了,此时for循环退出。

    所以,最后输出结果为:2222

    Ontologieanalyse

    Wenn Sie zum ersten Mal in den for-Schleifenkörper eintreten, ist i=4 und wird dann in den do...while-Schleifenkörper aufgenommen, zu diesem Zeitpunkt ist j=0, und dann wird diese Schleife weiter ausgeführt j++ bis j=2 oder Verlassen Sie den Schleifenkörper, wenn j>i zu diesem Zeitpunkt offensichtlich j=2 ist, das heißt, die Ausgabe zu diesem Zeitpunkt ist 2.

    🎜

    Nächstes Mal in der for-Schleife Wenn i=3, ist die Ausgabe ebenfalls immer noch 2, 🎜🎜🎜🎜🎜

    Die nächste for-Schleife, i=2, die gleiche Ausgabe ist immer noch 2, 🎜🎜🎜🎜🎜

    Bei der nächsten Ausführung der for-Schleife ist i=1 und das Ausgabeergebnis ist ebenfalls 2. Zu diesem Zeitpunkt ist i – Die Operation der Foe-Schleife wird ausgeführt, i = 0, die Bedingung von i>0 ist nicht mehr erfüllt und die for-Schleife wird zu diesem Zeitpunkt beendet. 🎜🎜🎜🎜Das endgültige Ausgabeergebnis ist also: 2222. 🎜🎜🎜Postscript🎜🎜 🎜🎜🎜Unterschätzen Sie die schriftlichen Testfragen vieler Unternehmen nicht, es gibt Fallstricke, in die Sie versehentlich hineinfallen können. Wenn Sie auf eine solche schriftliche Testfrage zu Zyklen stoßen, empfehle ich Ihnen, ruhig zu denken und Schritt für Schritt vorzugehen. 🎜🎜🎜🎜🎜Im schriftlichen Test gilt: Je scheinbar einfacher der Codeaspekt ist, desto weniger sollten Sie ihn auf die leichte Schulter nehmen. 🎜

    Das obige ist der detaillierte Inhalt vonDie schriftlichen Testfragen von Ele.me scheinen einfach zu sein, aber sie verblüffen viele Leute. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Verwandte Etiketten:
    Quelle:Java后端技术全栈
    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
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!