Maison > Java > JavaQuestions d'entretien > le corps du texte

Les questions du test écrit d'Ele.me semblent simples, mais elles déconcertent beaucoup de gens

Libérer: 2023-08-24 15:29:41
avant
2013 Les gens l'ont consulté


Veuillez lire le titre

Veuillez noter ce que ce code génère ?

/**
 * @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);
        }
    }
}
Copier après la connexion

En voyant cette question, beaucoup de gens penseront que c'est trop simple. En fait, cette question teste trois points de connaissance 

  • for boucle for循环
  • do...while循环
  • break
faire... pendant que Boucle

🎜🎜pauseSortie🎜🎜🎜🎜Ne le sous-estimez pas. J'ai également demandé à beaucoup de gens, et les réponses sont toutes étranges. Il y a quatre réponses qui apparaissent le plus : 🎜.
  • 第一个:4321
  • 第二个:1232
  • 第三个:2211
  • 第四个:2222

你觉得是哪个?还是觉得都不是?

注意点

注意点1

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

注意点2

for(表达式1;表达式2;表达式3){
//循环体
}
Copier après la connexion

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

  • La première étape : exécuter l'initialisation : expression 1 (ne sera exécutée qu'une seule fois)
  • La deuxième étape : exécuter l'expression 2. Si le résultat de l'expression 2 est faux, la boucle se termine, sinon le corps de la boucle est exécuté , Puis exécutez l'expression 3.
  • Étape 3 : Bouclez l'étape 2. Lorsque vous savez que le résultat de l'expression 2 est faux, quittez la boucle ou rencontrez return, break mot-clé. 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

Analyse d'ontologie

Lorsque vous entrez dans le corps de la boucle for pour la première fois, i=4, puis inclus dans le corps de la boucle do...while, j=0 à ce moment, puis cette boucle continue de s'exécuter j++ jusqu'à j=2 ou Quittez le corps de la boucle lorsque j>i Évidemment j=2 à ce moment, c'est-à-dire que la sortie à ce moment est 2.

🎜

La prochaine fois dans le for boucle Quand, i=3, de même, la sortie est toujours 2, 🎜🎜🎜🎜🎜

La prochaine boucle for, i=2, la même sortie est toujours 2, 🎜🎜🎜🎜🎜

La prochaine fois que la boucle for est exécutée, i=1, et de même, le résultat de sortie est 2. À ce moment, le i -- l'opération de la boucle ennemie est exécutée, i = 0, la condition i>0 n'est plus remplie et la boucle for se termine à ce moment. 🎜🎜🎜🎜Donc, le résultat final est : 2222. 🎜🎜🎜Postscript🎜🎜 🎜🎜🎜Dans les questions des tests écrits de nombreuses entreprises, ne les sous-estimez pas, il y a des pièges et vous pouvez y tomber accidentellement. Lorsque vous rencontrez ce genre de question de test écrit sur les cycles, je vous suggère de réfléchir calmement et de procéder étape par étape. 🎜🎜🎜🎜🎜Dans l'épreuve écrite, plus le code semble simple, moins vous devez le prendre à la légère. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:Java后端技术全栈
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!