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ツール

Undress AI Tool
脱衣画像を無料で

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

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

Stock Market GPT
AIを活用した投資調査により賢明な意思決定を実現

人気の記事

ホットツール

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

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

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

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

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

-CPパラメーターを使用してJARをClassPathに追加して、JVMがjava-cplibrary.jarcom.example.mainなどの内部クラスとリソースをロードできるようにします。

最も直接的な方法は、通常はデスクトップ、ドキュメント、ダウンロードなどのフォルダーでストレージの場所を思い出すことです。見つからない場合は、システム検索機能を使用できます。ファイルの「欠落」は、主に保存パスの攻撃、名前メモリ偏差、ファイルの隠れ、またはクラウドの同期などの問題が原因です。効率的な管理の提案:プロジェクト、時間、タイプごとに分類し、迅速なアクセスを適切に使用し、定期的にクリーンでアーカイブし、命名を標準化します。ファイルエクスプローラーとタスクバーを検索および検索しますが、MacOSはFinderとSpotlightに依存しています。これはよりスマートで効率的です。ツールを習得し、良い習慣を開発することが重要です。

usefile.createNewfile()tocreatefileonlyifitdoes notexist、avolididingoverwriting;

最初に、ネットワーク接続が正常かどうかを確認します。他のWebサイトを開くことができない場合、問題はネットワーク上にあります。 1.ブラウザのキャッシュとCookieをクリアし、Chromeの設定を入力して、閲覧データをクリアします。 2。拡張機能を閉じると、スカレッレスモードを使用して、プラグインの競合によって引き起こされるかどうかをテストできます。 3.ネットワーク接続が傍受されないように、プロキシまたはVPN設定を確認して閉じます。 4. Chromeネットワーク設定をリセットし、デフォルトの構成を復元します。 5.互換性の問題を解決するために、Chromeを最新バージョンに更新または再インストールします。 6.他のブラウザを使用して比較およびテストして、問題がChromeのみであるかどうかを確認します。 err_connection_timed_outやerr_ssl_protocol_erなどのエラープロンプトに応じて

javagenericsprovideCompile-timeTypeSafeTypeTypeTypeTypeTypeTypeTypeTypeTypeTypeTypeTypeTypeTypeTypeTyParaMetersonClasses、interfaces、and methods; wildcards(?、extendStype、?supertype)HeandnwondTypeswithFexibility.1.1.UnunboundCardCardCardCardCardCardCardCardCardCardCardの装備

リアルタイムシステムには、正確性が結果配信時間に依存するため、決定論的応答が必要です。ハードリアルタイムシステムには厳格な締め切りが必要であり、逃したことは災害につながりますが、ソフトリアルタイムは時折遅延を可能にします。スケジューリング、割り込み、キャッシュ、メモリ管理などの非決定的要因はタイミングに影響します。建設計画には、RTOの選択、WCET分析、リソース管理、ハードウェアの最適化、厳密なテストが含まれます。

まず、UCブラウザの組み込みスケーリング関数を有効にし、設定→[設定]→[フォントと版画]またはページスケーリングを参照し、プリセット比またはカスタムパーセンテージを選択します。第二に、2本の指でジェスチャーを開いたりピンチしたりすることにより、ページディスプレイサイズを強制することができます。スケーリングを制限するWebページの場合、Webサイトのデスクトップバージョンに制限のロックを解除することを要求できます。上級ユーザーは、アドレスバーでJavaScriptコードを実行して、より柔軟な強制スケーリング効果を実現することにより、ViewPort属性を変更することもできます。

答えは、thread.currentthread()。getStackTrace()を使用してコールメソッド名を取得し、インデックス2から別のコールのソモメトッド名を取得することです。インデックス0はgetStackTraceであるため、1は現在のメソッドであり、2は発信者であり、2は例です。 インパクト。
