Java 配列を定義および使用する方法
1. 配列の基本的な使い方
1. 配列とは
Array: 一連のデータを格納するコレクション同じデータ型。
2. 配列の定義
int[]: int 型配列
double[]: double 型配列
変数は型ごとに定義できます。例:
int[] array, array はこの型の変数です この変数は同じデータの集合を格納する変数です。
配列を定義する 3 つの方法:
最初の方法:
int[] array = {1,2 , 3,4,5,6};
配列を定義して初期化します
new は書かれていませんが、実際にはオブジェクトです
Notes:
int[10] array = {1,2,3,4,5,6};
書き方が間違っています。int[] は type に属しており、角括弧内に数字を追加することはできません。これは破壊に相当します。ここにそのタイプがあります。
2 番目の型:
int[] array2 = new int[3];
配列を定義します初期化されていません
3 番目のタイプ:
int[] array3 = new int[]{1,2,3,4,5,6};
定義と初期化
3 つの中で最も一般的に使用されるのは最初の
3. 配列の使用
配列の長さの取得:
#最初のタイプ: (for ループ)
# 2 番目のタイプ: (for ループ)
印刷配列:
# type: (強化された for ループ、for each ループ)##各ループでは添字を使用できません。コレクションではさらに多くのものが使用されます。
3 番目のタイプ: Java の配列操作ツール クラス Arrays を使用します。
2. メソッドとしての配列 パラメータ
基本的な使用法
JVM の簡単な紹介
ローカル変数のメモリへの保存 :
参照がオブジェクトを指していません 書き方:
This参照はどのオブジェクトも指していません
参照は同時に複数のオブジェクトを指すことができますか?
このコードでは、1 つのオブジェクトのみを指し、オブジェクトのアドレスを保存できます。最終的には、最後のオブジェクトのアドレスのみが保存されます。
メソッドのパラメータとして配列を渡すプロセス:
解決策と印刷結果:
#before 2 つの解決策:
fun2 印刷結果:
を表していますか?
は、array2 の参照を表し、array1 の参照が指すオブジェクトを指します。
次の図は、上記の例の意味を表しています:
注:
引用部分は引用部分を指します。この文は次のとおりです。参照はオブジェクトのみを指すことができます
参照はスタック上にある必要がありますか?
必ずしもではありません。変数がスタック上にあるかどうかは、変数の性質によって決まります。ローカル変数の場合は、スタック上にある必要があります。そうでない場合、たとえば、インスタンスのメンバー変数がスタック上にある必要はありません。
3. 配列の演習
1. 2 つの変数の値を交換する
public class TestDemo { public static void swap(int[] array){ int tmp = array[0]; array[0] = array[1]; array[1] = tmp; } public static void main(String[] args) { int[] array = {10,20}; System.out.println("交换前: "+array[0]+" "+array[1]); swap(array); System.out.println("交换后: "+array[0]+" "+array[1]); }
結果の出力:
2. * 2 にメソッドを記述します。
/** * 在原来的数组上扩大2倍 * @param array */ public static void enlarge(int[] array){ for (int i = 0; i <array.length ; i++) { array[i] = array[i]*2; } } public static void main(String[] args) { int[] array = {1,2,3,4,5,6,7}; enlarge(array); System.out.println(Arrays.toString(array)); }
配列内の各要素の結果を出力します。
元の配列を 2 倍に拡大します。 value 新しい配列
/** * 把原来数组扩大2倍的值放在一个新的数组中 * @param array * @return */ public static int[] func(int[] array) { int[] ret = new int[array.length]; for (int i = 0; i < array.length; i++) { ret[i] = array[i] * 2; } return ret; } public static void main(String[] args) { int[] array = {1,2,3,4,5,6,7}; int[] ret = func(array); System.out.println(Arrays.toString(ret)); }
3.tostring 関数の実装をシミュレートします
public static String myToString(int[] array){ String str = "["; for (int i = 0; i <array.length ; i++) { str = str+array[i]; if(i != array.length-1){ str+= ","; } } str= str + "]"; return str; } public static void main(String[] args) { int[] array = {1,2,3,4,5,6,7}; String str = myToString(array); System.out.println(str); }
結果を出力します:
4.検索最大要素
public static int maxNum(int[] array){ if(array == null) return -1; if (array.length == 0) return -1; int max = array[0]; for (int i = 1; i <array.length ; i++) { if(max < array[i]){ max = array[i]; } } return max; } public static void main(String[] args) { int[] array = {12,8,14,26,5,7,8}; int max = maxNum(array); System.out.println(max); }
結果の出力:
5. 配列内の指定された要素の検索 (順次検索)
public static int findNum(int[] array,int key){ for (int i = 0; i <array.length ; i++) { if(array[i] == key){ return i; } } return -1; } public static void main(String[] args) { int[] array = {2,4,5,6,11,7,8,9}; System.out.println(findNum(array, 7)); }
結果の出力:
6. 配列内の指定された要素を検索します (二分探索)
二分查找的必要条件是必须有序的数列 public static int binarySearch(int[] array,int key){ int left = 0; int right = array.length-1; while(left <= right){ int mid = (left+right)/2; if(array[mid] > key){ right = mid - 1; }else if(array[mid] < key){ left = left + 1; }else{ return mid; } } return -1; } public static void main(String[] args) { int[] array = {12,14,15,16,18,23}; System.out.println(binarySearch(array, 15)); }
結果を出力します:
以上がJava 配列を定義および使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです

Java での日付までのタイムスタンプに関するガイド。ここでは、Java でタイムスタンプを日付に変換する方法とその概要について、例とともに説明します。
