Javaプログラミングの基本的な構造 - サイクル構造
テキストキーワード:基本的な構造、ループ構造、一方、行う-しばらく、用
まず、ループの基本構造
説明を容易にするために、我々は、ループ構造を説明するための4つのセクションに分割されることができます。もちろん、これらの四つの部分はまた、ループ構造が構成されていない場合であっても、表示されません。そして、異なる環状構造のために、各部品の相対位置が異なっています。
1.初期化部
ループ構造に入る前に、可変サイクルを定義することができ、サイクルの終わりを使用する、割り当てられます。
2.条件部の決意
falseの場合、ループが終了した場合、サイクルを継続するかどうかを決定します。判定部は、ブール変数として使用することができる、または式を使用するが、結果は、ブール式であることを確認しなければなりません。
前記ループ部
環状構造のコア部分、あなたが繰り返し実行のためのコードを記述するたびに、プログラムが正常に機能するように設計されなければなりません。
4.繰り返し部分
補助制御周期を終了するために、可変増分としてループの後に行う、などが挙げられます。
そして、使用しないで、循環制御構造のみが1行のコードすることができたときに、中括弧と同様の構造を決定するために、我々は通常、中括弧を追加します
二、しばらく循環
1.ループ構造
[初始化部分]
while(条件判断部分){
循环体
[迭代部分]
}
2.サイクル特性
ループを終了するときに、ユーザーが決定することを可能にする:whileループのために通常場合のような不確実性のサイクルの数に使用されます。
- あなたは直接のサイクルを継続するかどうかを決定するブール変数を使用することができます
- キーワードは、任意の時点でのサイクルから抜け出すことができます
- 条件は、周期判定部の端部を満たさない場合
- そして反復初期化部部分が省略されてもよいです
- セクションセミコロン構造の判定条件が直接エンドにつながる場合
3.サンプルアプリケーション
- 巡回出力1-9
public static void main(String[] args){
// 初始化部分
int i = 1;
// 括号中为循环继续执行的条件:当i的值小于等于9时
while(i <= 9){
// 循环体部分
System.out.println(i);
// 迭代部分:辅助控制循环结束或根据循环体的需要来写
i++;
}
}
- ハングマンプログラム
import java.util.Scanner;
import java.util.Random;
public class Test{
public static void main(String[] args){
// 初始化Scanner,用于从键盘读入数据
Scanner sc = new Scanner(System.in);
// 初始化随机数生成工具
Random random = new Random();
// 随机生成一个0~99的整数
int n = random.nextInt(100);
// 定义一个布尔类型的变量,用于控制循环的结束
boolean flag = true;
// 使用flag作为控制循环结束的变量
while(flag){
System.out.println("请输入一个数:");
// 从键盘读取一个数
int temp = sc.nextInt();
// 判断输入的数是否与随机数相同,猜中则退出
if(temp == n){
System.out.println("猜中了!");
// 修改flag为false,使得循环退出
flag = false;
}else{
// 如果没有猜中,就让用户自己决定是不是要继续猜
System.out.println("猜错了!还要继续吗?1:继续2:退出");
// 如果输入的数字为2则退出(此处暂不考虑输入出错等其他情况)
if(sc.nextInt() == 2){
// 修改flag为false,使得循环退出
flag = false;
}
}
}
// 使用后关闭
sc.close();
}
}
三つは、やる-whileループ
1.ループ構造
[初始化部分]
do{
循环体
[迭代部分]
}while(条件判断部分);
2.サイクル特性
使い方行う-whileループ、ループが実質的に同じであるが、主な違いは、ループ(繰り返しセクションが)前に一度実行され、その後、判断し、初心者のプログラムメニューのため、それは非常に適して行われることです。
- あなたは直接のサイクルを継続するかどうかを決定するブール変数を使用することができます
- キーワードは、任意の時点でのサイクルから抜け出すことができます
- 条件は、周期判定部の端部を満たさない場合
- そして反復初期化部部分が省略されてもよいです
3.サンプルアプリケーション
- メニューのプログラム
指定された層、利用カスタムラベルする必要がある場合は、直接サイクルのうち、一つだけ、最寄りのスイッチケースまたは環状構造のから抜け出します。カスタムラベルの使用は比較的簡単で、直接言葉を加えた環状構造の開始位置行う際に、コロンを使用して、指定された層へのループの外に、後でカスタムラベル名BREAKに添加することができます。
import java.util.Scanner;
public class Test{
public static void main(String[] args){
// 初始化Scanner,用于从键盘读入数据
Scanner sc = new Scanner(System.in);
// 在此处使用自定义标签out(名称可以自定义)来进行标记
out:do{
System.out.println("****欢迎使用xxx系统****");
System.out.println("****1.系统功能一*******");
System.out.println("****2.系统功能二*******");
System.out.println("****3.退出系统*********");
System.out.print("请输入功能选项:");
// 从键盘读入一个数选择要执行的功能
int select = sc.nextInt();
switch(select){
case 1:
// 功能一相关代码
break;
case 2:
// 功能二相关代码
break;
case 3:
// 指定跳出外层的do-while循环,否则只能跳出当前的switch-case结构
break out;
}
// 判断条件一直为真,除非用户输入选项3退出系统,则使用break跳出。
}while(true);
// 使用后关闭
sc.close();
}
}
四、循環用
1.ループ構造
for(初始化部分;条件判断部分;迭代部分){
循环体
}
2.サイクル特性
ループサイクルの場合は、主ループのブレイクアウトを使用して、一般的に直接使用して決定されるため、作業プロセスの効率を改善するために、残りの不要な終端サイクルを完了しているので、必要とされます。
- ことを特徴とループ初期化部、制御部、より便利反復に対する明白、サイクルが完全に内部を完成させることができます
- 一度だけ、最初の位置に括弧の中に書かれた初期の一部
- 初期化部は、新しい変数を宣言する場合、変数はループ内でのみ使用することができます
- 分析条件は、ブール変数または式であってもよいし、手動でキーワード直接省略ブレークを使用することができる、括弧内の中間位置で発生します
- 反復部分は、通常、ループの各実行の後、制御変数のために使用されます
- キーワードは、すべてのループ構造のために使用することができる継続的な役割は、現在のサイクルへの即時終了です(まだ、反復実行の一部となり、ループ本体の残りのコンテンツをスキップする)、次のサイクルを入力します
3.サンプルアプリケーション
- 1〜10の整数を計算し、追加
public static void main(String[] args){
// 定义一个整数类型变量,用于记录结果
int sum = 0;
for(int i = 1;i <= 10;i++){
// 根据逻辑,将每次得到的值相加
sum += i;
}
// 输出计算结果
System.out.println(sum);
}
- 全ての偶数0〜100の出力の整数の範囲内
public static void main(String[] args){
for(int i = 0;i <= 100;i++){
// 判断当前数字的奇偶性,如果是奇数则跳过输出语句
if(i % 2 != 0){
// 如果是奇数,将跳过循环体剩余的部分,迭代部分不受影响
continue;
}
System.out.println(i);
}
// 输出计算结果
System.out.println(sum);
}
第五に、死のサイクル
我々は構造がサイクルの終わりにはできませんのでことを、条件に該当しているかを決定部分で、その結果、指定されたループの終了条件と変数関連するコントロールを修正していないので、無限ループがあります。停止するときに、ユーザによって決定されたメニュープログラム、循環から飛び出す:しかし、私たちは手動で無限ループを構築する機能に応じてする必要があり、その後、飛び出すためにブレークを使用し、などでしょうがございます。無限ループのマニュアルを構築することは非常にシンプルですが、無限ループ条件の予想外の出現が確認されている場合は、関連する変数の優先順位および一部を変更する必要があります。
1. whileループ
while(true){
循环体
}
2.行う-whileループ
do{
循环体
}while(true)
forループ3
// 是的,你没有看错,所有的部分都不需要填写,但是分号不能省略
for(;;){
循环体
}