目次
1.Javaのメソッド
1.1 メソッドの作成と形式
[访问权限修饰符 修饰符][返回值类型]方法名(形式参数类型 参数名){
Java语句;
[return 返回值;]
}
eg:
// 调用时候直接调用方法名
// void:表示无返回值
public static void hello(){
System.out.println("Hello!");
}
パラメータも戻り値も持たないメソッドを定義します。
パブリック static は固定の書き込みメソッドです
。void は、このメソッドに戻り値がないことを意味します
。hello メソッド名
() パラメータ リストは空にすることもできます。
メソッド: 特定の問題を解決するために使用されるコードのコレクション。複数回呼び出すことができます。
パラメータと戻り値を含むメソッドを定義する
public static int max(int a,int b){
// 比较大小
int max=(a>b)?a:b;
return max;
}
このメソッドを呼び出す際にはパラメータを入力する必要がありますが、入力パラメータの形式はメソッド内で定義されているデータ型と同じである必要があることに注意してください。
例: このコードでは、a と b のデータ型は整数型で定義されていますが、パラメータを与える際に int 型、浮動小数点型、文字型などを超えるパラメータを与えることはできないため、システムはエラーを報告します。 . .
1.2 メソッド呼び出し形式
メソッドを呼び出す場合: メソッドが存在するクラス名 + .+ メソッド名を使用します。
例: 上記のコードで作成したメソッドを呼び出し、クラスを FangFa にします。
Fangfa.max();
この時点でコードが実行されると、作成したメソッドが呼び出されます。
public class FangFa {
public static void main(String[] args) {
int a=FangFa.max(8,5);//调用比较大小的方法,将方法中返回的值赋给变量a。
System.out.println(a);
}
}
public static int max(int a,int b ){
int max = (a>b)?a:b;
return max;
}
return max: return キーワードによるメソッド処理後の結果を返す 1 つはメソッドを終了する方法、もう 1 つは結果を返す方法です。
戻らないメソッドでは、return キーワードを使用することもできますが、return の後に他の式を指定することはできず、その機能はメソッドを終了することです。
例えば:
public static void hello(String name){
if(name==null){
return;
}
ここで、メソッドを呼び出す際にコンソールにnameを入力する必要がありますが、入力しない場合はif文を入力することになりますが、このときのreturnがメソッドを終了する役割を果たします。
2.配列
2.1 配列の基本概念
- 配列は、同じデータ型の要素のコレクションです。
- 配列自体は参照データ型、つまりオブジェクトです。
- 配列には、基本データ型と参照データ型の両方を格納できます。
2.2 配列宣言
配列宣言には 2 つの形式があります。
- データ型 [ ] 配列名 例: int [ ] a;
- データ型 配列名 [ ] 例: int a [ ];
注: これら 2 つの形式に実際には違いはありませんが、Java での a のデータ型の混乱を避けるために、できる限り最初の形式が使用されます。
例: int a [ ] b; // ここで、a は配列を表し、b は整数変数を表します。
2.3 配列の作成
配列の作成には 3 つの形式があります。
- 配列を宣言すると、配列内の要素の長さに応じてメモリが割り当てられますが、配列内の要素の値はすべてデフォルトの初期化値です。例: int [ ] a = new int [10];
-
配列を宣言し、初期化中にメモリを割り当てます。例: int [ ] a = new int [ ]{1,2,3};
-
前の方法と同様に、構文は比較的単純です。例: int [ ] a = {1,2,3};
注: Java での配列の作成時にその容量が決定されると、その容量を変更することはできません。
配列の作成は、動的と静的の 2 つの形式に分けることもできます。
- 配列を動的に作成します (配列要素は指定されません) 例: int [ ] a = new int [3]; 配列に値を割り当てない場合、配列内のデフォルトの要素は 0 です。
- 配列を静的に作成します (配列の作成時に値を割り当てます)。
2.4 配列の長さ
長さ属性:
int a [ ] = {1,2,3,4,5,6};
System.out.println(a.length);//出力は配列 a の長さです。
出力: 6
3. 配列へのアクセスと反復
3.1 配列要素へのアクセス
配列名 [インデックス]; 例: a[0],a[1];
知らせ:
- 配列のインデックスは 0 から始まります。
- インデックスのデータ型は整数です
- インデックスの最大値と配列の長さは常に 1 異なります。
3.2 配列要素の反復
最初のタイプ: for ループ
int [] a = {1,2,3,4};
for(int i=0;i<a.length;i++){
System.out.println(Arrays.toString(a[i]));
}
2 番目のタイプ: 拡張 for ループ
int [] a = {1,2,3,4};
for(int t:a){
System.out.println(t);
}
4. 配列のソート
4.1 バブルソート
原則: 毎回比較のために隣接する 2 つの要素を取り出し、大きい方を後ろに、小さい方を前に置き、毎回ソートして最大の要素を取得します。
考え:
{5,4,3,2,1}
4、3、2、1、5
3、2、1、4、5
2、1、3、4、5
1、2、3、4、5
コードは以下のように表示されます。int [] a = {5,4,3,2,1};
for(int i = 0;i < a.length-1;i++){ //外循环,表示循环次数
for(int j = 0;j < a.length-1-i;j++){ //内循环,外循环一次取出当前最大值,在内循环时候就少判断一次
if(a[j]>a[j+1]){
int t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
System.out.println(Arrays.toString(a));
}
4.2 選択の並べ替え
原則: 選択による並べ替えでは、隣接する 2 つの要素を比較し、小さい方の要素を前に置き、次に小さい方の要素を使用して次の要素とともに並べ替え、現在の最小の要素を一度に選択します。
考え:
[3 ,1 ,2 ,5 ,4]
1 ,3 ,2 ,
5 ,4 1 ,2 ,3 ,5 ,4
1 ,2 ,3 ,5 ,4
1 ,2 ,3 ,4 ,5
コードは以下のように表示されます。
int [] a = {3,1,2,5,4};
for (int i = 0; i < a.length-1; i++) {
for (int j = i+1; j <a.length; j++) {
if(a[i]>a[j]){
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
System.out.println(Arrays.toString(a));
}
5. 2次元配列
5.1 2次元配列の作成
2 次元配列の作成は 1 次元配列と似ています。
データ型 [ ] [ ] 配列名 = 新しいデータ型 [1 次元配列の容量] [各 1 次元配列の要素数];
例えば:
int [ ] [ ] a = new int [3][5]; //一度決定した容量は変更できません
5.2 2次元配列の代入
次の 2 つのタイプがあります。
- int [] [] a = { {1,2.3},{1,2,3},{1,2,3}};
- int [] [] a = new int [] []{ {1,2,3},{1,2,3},{1,2,3}};
5.3 2次元配列の走査
2 次元配列の走査では for ループを使用することもできますが、二重の入れ子が必要です。
public static void main(String[] args) {
int [][] a = {
{1,2,3},{4,5,6},{7,8,9}};
for (int i = 0; i < a.length; i++) { //a.length就是二维数组中一维数组的长度
for (int j = 0; j <a[i].length; j++) {
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
知らせ:
Java を学習するときは、もっと練習する必要があります。