JAVA_Basis-3.メソッド+プロセスコントロール+サイクル

1つの方法

Java言語のメソッドは、特定の論理関数をカプセル化し、プログラム構造を明確にし、コードの再利用を容易にするコードブロックを指します。

1.1構文:

Modifierは、戻り値のメソッド名(パラメーターリスト){ メソッド本体}を返します。1.結果が返される場合は戻り値のタイプを使用し、戻り結果がない場合はvoidを使用します。2.パラメーター処理メソッドは柔軟またはオプションです3.戻り値が必要ですreturnステートメントを書く4. returnステートメントの役割:結果を返し、現在のメソッドを終了する





1.2戻り値なしメソッド

メソッド名();
メソッド名(パラメーター値);

public void say(){
  System.out.println("Hello");
}
say();//调用
public void say(String str){
  System.out.println(str);
}
say("Hello");//调用
1.3戻り値を持つメソッド

データ型変数=メソッド名();
データ型変数=メソッド名(パラメーター値);

public int add(){
     int c=3+2;
     return c;
}
int d=add();//调用
public int add(int a,int b){
     int c=a+b;
     return c;
}
int d=add(5,4);//调用

注:戻り値がある場合は、returnを追加する必要があり、returnステートメントによって返される値のタイプは戻り値のタイプと一致する必要があります。

2プロセス制御

![Java言語フロー制御には、分岐結果の制御とループ構造の制御が含まれます。
[外部リンク画像の転送に失敗しました。ソースサイトにアンチリーチリンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-JXxF0CXS-1599406276332)(/ img / bVbMgJd)]](https://img-blog.csdnimg.cn /20200906233156970.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzM4ODk1Nt,color=#,size

2.1分岐構造

分岐構造は、家庭への水道水と見なすことができます:1つのバス(メイン)+ 1つの/ N分岐(If / IF ... ELSE / SWITCH ... CASE)、バス内の水流は分岐(IF ...ステートメント)分岐(TRUE / FALSE)が必要かどうかを判断し、水が必要な場合(TRUE)、水が(サイクルに)供給され、最後までコードを実行し続けるために水は必要ありません(FALSE)。判断して選択する必要がある質問は、分岐構造を使用する必要があります。

2.1.1 IF単一ブランチ

構造図

[外部リンク画像の転送に失敗しました。ソースサイトにアンチリーチリンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-UJkWqcq5-1599406276336)(/ img / bVbMuss)]

場合
int num=5;
  if(num%2==0){
     System.out.println(num+"是偶数");
} 

2.1.2 IF…ELSEマルチブランチ

IF ... ELSEステートメントはIFステートメントに似ており、どちらも2つの経路をとりますが、IF ... ELSEステートメントは別のタイプのステートメントも処理するという違いがあります。

構造図

[外部リンク画像の転送に失敗しました。ソースサイトにアンチリーチリンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-ipuQPlEc-1599406276339)(/ img / bVbMusC)]

if( 条件表达式 ){
    ...
}else{
    ...
}
場合

うるう年

package com.mtingcat.javabasis.branchstructure03;

import java.util.Scanner;

/**
 *分支结构金典案例:平年闰年
 *	分支条件:
 *		1.能被4整除,并且不能被100整除
 *		2.能被400整除
 * @author MTing
 *
 */
public class branchStructureIf {
	public static void main(String[] args) {
		System.out.println("年号:");
		@SuppressWarnings("resource")
		Scanner scanner = new Scanner(System.in);
		int Y = scanner.nextInt();
		if(Y%4==0&&Y%100!=0||Y%400==0){
			System.out.println(Y + "年是闰年");
		}
		else{
			System.out.println(Y + "年是平年");
		}
	}
	

}

2.1.3 IF…ELSE IFネストされたブランチ

構造図

[外部リンク画像の転送に失敗しました。ソースサイトに反リーチメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-yO7eoDRQ-1599406276343)(/ img / bVbMuv1)]

if( 条件表达式 ){
    ...
}else if( 条件表达式 ){
    ...
}else{
    ...
}
場合
package com.mtingcat.javabasis.branchstructure03;

import java.util.Scanner;

/**
 * 商品打折
 * 	规则:满10000打7折,满20000打6折,满30000打5折
 * @author MTing
 *
 */
public class branchStructureIf02_discount {
	
	public static void main(String[] args) {
		System.out.println("消费总额:");
		@SuppressWarnings("resource")
		double price = new Scanner(System.in).nextDouble();
		double now = Discount(price);
		System.out.println(now);
	}
	
	public static double Discount(double price){
		if ( price >= 10000 ){
			price = price * 0.7;
		}else if ( price >=20000 ){
			price = price * 0.6;
		}else if ( price > 30000){
			price = price * 0.5;
		}
		return price;
	}
}


package com.mtingcat.javabasis.branchstructure03;

import java.util.Scanner;

/**
 * 按照学生的成绩给学生分等级
 * 	规则:100<= score >=90 优秀
 * 		80<= score < 90 良好
 * 		60<= score < 80 一般
 * 		0<= score <60 不及格
 * @author MTing
 *
 */
public class branchStructureIf03_studentScore {
	
	public static void main(String[] args) {
		System.out.println("请输入您的成绩");
		@SuppressWarnings("resource")
		double score = new Scanner(System.in).nextDouble();
		if( score <= 100 && score >= 90 ){
			System.out.println("您的成绩属于优秀");
		}else if( score >= 80 && score < 90 ){
			System.out.println("您的成绩属于良好");
		}else if( score >= 60 && score < 80 ){
			System.out.println("您的成绩属于一般");
		}else if( score >= 0 && score < 60 ){
			System.out.println("您的成绩属于不及格");
		}else{
			System.out.println("成绩无效,请重新输入");
		}
	}

}

2.1.4 SWITCh CASEステートメント

ケースが確立された場合、このケースから、デフォルトを含むすべてのケースを逆にたどって、プログラムの終了またはブレークプログラムに遭遇します。

構造図

[外部リンク画像の転送に失敗しました。ソースサイトにアンチリーチリンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-qSswNkHk-1599406276345)(/ img / bVbMuAP)]

switch (key) {
		case value:
			break;
		default:
			break;
		}
場合
package com.mtingcat.javabasis.branchstructure03;

import java.util.Scanner;

/**
 * 数字匹配
 * @author MTing
 *
 */
public class branchStructureSwitch_dataMarry {
	public static void main(String[] args) {
		System.out.println("请输入您的数字");
		@SuppressWarnings("resource")
		int data = new Scanner(System.in).nextInt();
		switch (data) {
		case 1:
			System.out.println("匹配1");
			break;
		case 2:
			System.out.println("匹配2");
			break;
		case 3:
			System.out.println("匹配3");
			break;

		default:
			System.out.println("匹配错误");
			break;
		}
	}

}

2.2ループ構造

ループとは、プログラム内で繰り返し実行する必要がある特定の関数のプログラムコードを指します。ループを終了するかどうかは、条件によって判断されます。条件によっては、最初に判断してループする構造と、判断後にループする構造に分けることもできます。

2.2.1 FORシングルループ

構造図

[外部リンク画像の転送に失敗しました。ソースサイトにアンチリーチリンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-YAqmSx0o-1599406276350)(/ img / bVbMuEk)]

for (int i = 0; i < args.length; i++) {
	...		
}
場合
package com.mtingcat.javabasis.branchstructure03;
/**
 * 输出在1-1000中5的倍数
 * @author MTing
 *
 */
public class branchStructureFor01_outPutData {
	public static void main(String[] args) {
		for (int i = 0; i < 1000; i++) {
			if(i % 5 == 0){
				System.out.println(i);
			}	
		}
	}

}

2.2.2 FORネストループ

構造図

[外部リンク画像の転送に失敗しました。ソースサイトにアンチリーチリンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-xdhxvR8g-1599406276353)(/ img / bVbMuHW)]

for (int i = 0; i < args.length; i++) {
			for (int j = 0; j < args.length; j++) {
			    ...	
			}
		}	
場合
package com.mtingcat.javabasis.branchstructure03;
/**
 * 九九乘法表
 * @author MTing
 *
 */
public class branchStructureFor02_multiplicationTable {
	public static void main(String[] args) {
		System.out.println("九九乘法表啊");
		for (int i = 1; i < 10; i++) {
			for (int j = 1; j <= i; j++) {
				System.out.print(i +"*"+ j +"="+ i*j+"\t");
				
			}
			System.out.println("\n");
		}	
		
	}

}

2.2.3続行と中断

for (int i = 0; i < args.length; i++) {
	if(判断条件){
        ...
        break;//如果成立,直接跳出这个for循环
    }	
    if(判断条件){
        ...
        continue;//如果成立,跳出本次for循环,进入下一轮
    }	
}
場合
package com.mtingcat.javabasis.branchstructure03;

import java.util.Scanner;

public class branchStructureFor03_continueBreak {
	public static void main(String[] args) {
		System.out.println("Your number:");
		@SuppressWarnings("resource")
		int j = new Scanner(System.in).nextInt();
		for (int i = 10; i > 0; i--) {
			if (j > i) {
				System.out.println("break");
				break;
			}
			if (j < i) {
				System.out.println("continue");
				continue;
			}
		}

	}

}

2.2.4 WHILEループ

判断後のサイクル

構造図

[外部リンク画像の転送に失敗しました。ソースサイトにアンチリーチングメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-BTVmc82​​T-1599406276356)(/ img / bVbMuMR)]

while (en.hasMoreElements()) {
			type type = (type) en.nextElement();
		}
場合
package com.mtingcat.javabasis.branchstructure03;

import java.util.Random;
import java.util.Scanner;

/**
 * 猜数字
 * @author MTing
 *
 */

public class branchStructureFor03_guessData {
	public static void main(String[] args) {
		System.out.println("猜1-6的随机数字");
		int Data = new Random().nextInt(10)+1;
		while (true) {
			@SuppressWarnings("resource")
			int Input = new Scanner(System.in).nextInt();
			if(Input > Data){
				System.out.println("大了呦");
			}else if(Input == Data){
				System.out.println("正确");
			}else{
				System.out.println("小了小了");
			}
			System.out.println("正确答案:" +Data);
		}
	
	}

}

2.2.3 DO ... WHILEループ

最初に循環し、後で判断する

 do {
			
		} while (condition);
場合
package com.mtingcat.javabasis.branchstructure03;

import java.util.Random;
import java.util.Scanner;

/**
 * 猜数字
 * @author MTing
 *
 */

public class branchStructureFor03_guessData {
	public static void main(String[] args) {
		System.out.println("猜1-6的随机数字");
		int Data = new Random().nextInt(10)+1;
		 do {
			 @SuppressWarnings("resource")
			int Input = new Scanner(System.in).nextInt();
				if(Input > Data){
					System.out.println("大了呦");
				}else if(Input == Data){
					System.out.println("正确");
				}else{
					System.out.println("小了小了");
				}
				System.out.println("正确答案:" +Data);
		} while (true);
	
	}

}

おすすめ

転載: blog.csdn.net/weixin_43388956/article/details/108438985