1 ... do-while文
フォーマット
初期化ステートメント; DO { ループ文、 条件文を制御; } ながら(判定条件文); フローは: 最初の文を実行し 、ループ文を実行し 、その後、条件付き制御ステートメントを実行するには、 条件を行い決定: trueに、ループが継続し条件を制御 偽のループエンド 機能を: ループ本体の文は少なくとも一度実行されます
ケース
1.奇妙に求めているとさえと1-100ながら...やると
パッケージcom._51doit.javase.day04.loop。 パブリック クラスDoWhile { 公共 静的 ボイドメイン(文字列[]引数){ int型 I = 1 。 int型 SUM1 = 0 ; int型の SUM2 = 0 ; やる{ // するSystem.out.println( "我是你爹"); もし(I%2 == 0 ){ SUM1 + = I。 } 他{ SUM2 + = I。 } 私は ++します; }一方、(I = 100 < ) のSystem.out.println( "偶数" + SUM1) のSystem.out.println( "数が奇数である:" + SUM2); } }
1.1サイクル統合ケース
ヘビ:
要件:それは1であれば、食べ物を食べるためにヘビを表し、プラス10ポイントと、入力が非数値1である場合、入力し続けて、プログラムを停止し、キーボード上の番号を入力し、出力スコア
用パッケージ変更com._51doit.javase.day04.loop; インポートjava.util.Scanner; パブリック クラス蛇{ 公共 静的 ボイドメイン(文字列[]引数){ するSystem.out.println(「蛇へようこそ」) システム.out.println( "数値を入力してください" ); int型スコア= 0 、 スキャナSCは = 新しい新しいスキャナ(System.in); int型 NUM = sc.nextInt(); ながら(NUM == 1 ){ スコア + = 10 ; NUM = sc.nextInt(); //再割り当てnumの } のSystem.out.println( "あなたのスコアがある:" +はスコア); } }
1.2ログイン運動サイクル
要件:1つのコンソールパスワードを入力するようにユーザに促す、パスワードを入力するための2ユーザ3、ユーザが入力したパスワード1234に等しくない場合、ステップ1に戻り、4ユーザが入力したパスワード1234に等しい場合、ログイン成功を示します
分析:
スキャナを使用する必要性
ループを:不確か:何回も実行しながら、
条件ループ:ユーザーが入力したパスワードは1234に等しくない
ループ:、パスワードのユーザーパスワードをユーザーに求めます
以下のためのパッケージ変更com._51doit.javase.day04.loop; インポートjava.util.Scanner; パブリック クラスLoginDemo { 公共の 静的な 無効メイン(文字列[] args)を{ System.out.printlnは( "あなたのパスワードを入力してください" ); スキャナSC = 新しい新しいスキャナ(System.in); int型パスワード= sc.nextInt(); しばらく(パスワード= 1234!){ System.out.printlnは( "パスワードが間違っている、パスワードを再入力してください" ); パスワード = sc.nextInt( ); } のSystem.out.println( "ログイン成功")。 } }
やるの形でこのような場合に行うには...しばらく
1つの パッケージcom._51doit.javase.day04.loop。 2 3 インポートjava.util.Scanner。 4 5 パブリック クラスLoginDemo { 6 パブリック 静的 ボイドメイン(文字列[]引数){ 7 スキャナSC = 新しいスキャナ(System.in)。 8 行う{ 9 のSystem.out.println( "请输入您的密码:" )。 10 int型パスワード= sc.nextInt(); 11 } しばらく(パスワード= 1234! )。 12 } 13 }
上記の問題は、コードの11行目になることに注意してくださいライン11が無定義と同じであるが、溶液は変数を宣言され、使用することができないように、パスワードスコープライン10は、DO {}内のコードであります次のように
1 パッケージcom._51doit.javase.day04.loop; 2 。3 インポートjava.util.Scanner; 4 。5 パブリック クラスLoginDemo { 6 パブリック 静的 ボイドメイン(文字列[]引数){ 7 スキャナSC = 新しい新しいスキャナ(System.in) ; 8。 int型のパスワード; //変数を宣言し、ローカル変数は初期値なしで使用することができない 9。 やる{ 10 のSystem.out.println( "あなたのパスワードを入力してください:" ); 。11 パスワード= sc.nextIntを(); 12れます } しばらく(パスワード= 1234! )。 13である のSystem.out.println( "ログイン成功" ); 14 } 15 }
1.3控訴コードは、パスワード文字列を書き換えます
文字列の内容を比較するときに使用することはできません 「==」、 「!=」で
比較では、文字列の内容は、等号を使用する場合
使用法:a.equals文字列(文字列B)、内容が同じである場合はtrueを返し、そうでない場合はfalse