検索
ホームページJava&#&チュートリアル【Java入門ノート】Java言語の基礎(5):配列

はじめに

配列は複数のデータを格納するために使用できます。Java 配列では、すべての配列要素が同じデータ型である必要があります。配列が初期化されると、配列のメモリ内のスペースは固定され、配列の要素がクリアされても、占有されたスペースは保持されたままになります。

ライフケース: ミュージアムラック

【Java入門ノート】Java言語の基礎(5):配列

各アイテムラックには同じ種類のアイテムが含まれており、アイテムが棚から取り外されてもアイテムラックは変わりません。

配列を定義する

【Java入門ノート】Java言語の基礎(5):配列

配列を使用するための 4 つのステップ:

1. 配列を宣言する

Java は 2 つの形式の配列定義形式をサポートします。 型変数名[];

例:

int[] a;int b[]; //どちらの方法も機能しますが、最初の方法を使用することをお勧めします。

配列の宣言は、上記の例では博物館でカスタマイズされたアイテム ラック (配列) を購入することに相当しますが、アイテム ラックのサイズ (配列サイズ) はまだ決定されておらず、アイテムラック(配列要素)。

2. スペースを割り当てる

スペースを割り当てるには、配列を初期化する方法が 2 つあります:

1 つ目: 静的初期化

静的初期化の構文形式は次のとおりです:

データ型 [] 変数name = 新しいデータ型 []{データ 1, データ 2, データ 3,...};

例:

int[] a = new int[]{4,2,64,12,3}; /これらの数値を配列に格納します。配列のサイズ (長さ) は中括弧内の要素の数です。この例では、サイズは 5String[] b = new String[]{"Zhang San", "Li Si", " Wang Wu"}; //すべてのデータの型は定義されたデータ型である必要があります int[] c = {2,5,7}; //この略語も使用できます

これは次のようなものですカスタマイズされたアイテムを購入する アイテムラックが戻ってきて、ディスプレイアイテムがアイテムラックに配置され、アイテムがアイテムラックのサイズと同じ大きさになります。

2 番目: 動的初期化

動的初期化は、配列のサイズのみを指定し、システムに各要素の初期値を指定させる方法です。構文形式は次のとおりです:

データ型 [] 変数名 = 新しいデータ型 [サイズ];

この形式では、データの長さを指定した後、整数型の配列サイズを指定する必要があります。配列に格納できる要素の数が決まります。また、すべての要素にデフォルトの初期値を割り当てます。

例:

int[] a = new int[5]; //長さ 5 の配列を定義します。つまり、同時に 5 つの int 型の値を格納できます。初期化中のデフォルト値は次のように設定されます:

byte、short、int、long のデフォルトは 0;

float、double のデフォルトは 0.0; 'u0000';

boolean のデフォルトは false;

他の参照型のデフォルトは null;

3. 割り当て

配列を初期化しても、内部のデータは割り当てによって変更できます。配列は初期化され、配列のサイズは決定されました。各配列要素に値を割り当てるにはどうすればよいでしょうか。

配列には添字の概念もあります。配列が初期化されると、項目の表示棚の番号と同じように、各要素に添字が割り当てられます。

配列の添字は 0 から始まります。つまり、最初の要素の添字は 0 です。なぜ 0 から始まるのかについては、後で説明します。まず代入の例を見てみましょう。

int[] a = new int[3]; //長さ 3 の int 型配列を定義し、3 つの要素の値はデフォルトで 0 に設定されます。 //最初の要素を設定します。 value to 4a[1] = 5; //2 番目の要素の値を 5a[2] = 7 に設定します

なぜ配列の添字は 0 から始まるのでしょうか?

最初に知っておく必要があるのは、プログラムがコンピューターのメモリ内で実行されると、データを保存するためにメモリ内に小さなスペースが開かれ、コード内で変数が定義されるということです。 、例:

int a = 5;

値が 5 の int 型変数を定義します。これはメモリ内で次のように表され、a という名前の小さなメモリをメモリ内に割り当てます。そこに格納される値は 5 です。

【Java入門ノート】Java言語の基礎(5):配列

そして、a のような変数名を通じてメモリ内の値を取得するにはどうすればよいでしょうか?それは、私たちが住んでいる家に住所があるのと同じように、どんな小さな記憶にも住所があるからです。その住所を通して、そこに誰が住んでいるのかを知ることができるからです。

配列操作を容易にするために、2 つの配列がメモリ内の接続された場所に保存されます。

int[] b = new int[3] //長さ 3 の int 型の配列を定義します。内部の要素のデフォルト値は 0 です

このときのメモリは次のようになります:

【Java入門ノート】Java言語の基礎(5):配列

配列内のデータを取得する場合も同様です。 b 配列の各要素のデータを知る方法。 ?まず、配列 b がメモリ内のどこにあるかがわかります。配列はメモリ内の接続されたメモリ空間であるため、b[0] の位置は b+0 に等しく、b[1] の位置は次のようになります。 b+ 1,b[2]=b+2,... など、配列のすべての要素の位置がわかります。配列の最初の要素が b[0] で表される場合、それは正確に b で表される位置になります。最初の要素の位置を表すために 1 が使用される場合は、次のようにする必要があります。 a+1-1で表せます。

4. データの処理

前のコンテンツでは、配列を定義し、配列を初期化し、値を割り当てました。配列の添字を使用して、配列の各要素の値も配列の添字を介して取得されます。

int[] a = 新しい int[3]; a[0] = 3; a[1] = 4; a[2] = 5; System.out.println(a[1]); //配列の 2 番目の位置の値を取得して出力します。 //配列内の各要素をループすることもできます。 for(int i = 0; i

上記の例では、出力するためにループするときに、配列を渡すために a.length が使用されていることがわかります。変数名 .length は配列の長さを取得できるので、上記では a.length を使用して配列の長さを 3 に取得し、3 回ループして配列の要素を出力します。

存在しない添字にはアクセスしないでください

上記のように、変数名 [添字] を通じて変数に値を代入または取得することで配列を制御します。アクセスが配列の長さの添字を超える場合、異常に見えるでしょう。

int[] a = 新しい int[2]; a[5] = 2; // a 配列の長さは 2 倍だけで、添字 5 を通じて 6 番目の要素にアクセスします。この位置が実際の a 配列に存在しない場合、例外が発生します。

2 次元配列または多次元配列

上で説明したのは、基本データ型または参照データ型を配列に格納することですが、配列を配列に格納することもできます:

【Java入門ノート】Java言語の基礎(5):配列

上記では、配列要素に別の配列要素を格納し、その内部の配列にはデータ型 int の値が格納されます。このような配列を 2 次元配列と呼びます。

二次元配列の定義、初期化、代入

データ型 [ ] [ ] 配列名 = new データ型 [長さ 1] [長さ 2] ;

長さ 1 は配列の外層の長さ, length 2桁以内の1層の長さ。

上の図のフォームを定義して初期化するには、次のようにすることができます:

int[][] a = new int[3][3]; a[0][0] = 2; //アクセスする場合、最初の角括弧内の数字は配列の外側の層の要素の添字を表し、2 番目の角括弧内の数字は配列の内側の層の添字を表します。配列 a[0 ][1] = 3; a[0][2] = 4; a[1][0] = 5; a[1][1] = 3; a[1][2] = 9; a[2][0] = 90; a[2][1] = 70; a[2][2] = 85;

次のような形式で 2 次元配列を定義することもできます:

【Java入門ノート】Java言語の基礎(5):配列

int[][] a = new int[3][ ]; //初期化を定義するときに外側の層の長さを 3 に設定し、内側の層の長さを設定しないでください。
a[0] = new int[2] //内部の各層を初期化して、長さ a[1] = 新しい int[1]; a[2] = 新しい int[3]; a[0][0] = 3 //各要素に値を代入します a[0][1] = 4; a[1][0] = 9; a[2][0] = 90; a[2][1] = 70; a[2][2] = 85;


三次元配列は、配列を格納する配列内の配列です~~~~~ 類推すると、n 個の多次元配列が存在する可能性がありますが、ほとんどの人はあまり使用しません ~~~^_^~~ ~

以上、【Java入門】メモ】Java言語の基礎(5):配列の内容 その他の関連内容については、PHP中国語Webサイト(www.php.cn)にご注目ください。


声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Java语言中的智慧农业应用开发介绍Java语言中的智慧农业应用开发介绍Jun 10, 2023 am 11:21 AM

随着时代的发展,农业领域也开始借助现代科技手段升级转型,智慧农业也因此应运而生。Java作为一种性能优异、可移植性强的计算机编程语言,具备着较高的普及度和应用价值,成为智慧农业应用开发的重要解决方案之一。本文旨在介绍Java语言中智慧农业应用的开发流程、应用场景和优势点等方面的内容。一、Java语言中智慧农业应用的开发流程智慧农业应用的开发流程分为需求分析、

如何在Java中将JSON数组转换为CSV?如何在Java中将JSON数组转换为CSV?Aug 21, 2023 pm 08:27 PM

JSON可以用作数据交换格式,它是轻量级的且与语言无关。一个JSONArray可以解析文本字符串以生成类似于向量的对象,并支持java.util.List接口。我们可以使用org.json.CDL类将JSON数组转换为CSV格式,它提供了一个静态方法toString(),用于将JSONArray转换为逗号分隔的文本。我们需要导入org.apache.commons.io.FileUtils包,以使用writeStringToFile()方法将数据存储在CSV文件中。语法publicstaticj

ChatGPT Java:如何构建一个精准的语义搜索引擎ChatGPT Java:如何构建一个精准的语义搜索引擎Oct 24, 2023 am 10:21 AM

ChatGPTJava:如何构建一个精准的语义搜索引擎,需要具体代码示例引言:随着互联网的迅速发展,信息爆炸式增长,人们在获取所需信息的过程中,往往会遇到搜索结果质量不佳、不准确的问题。为了提供更精准、高效的搜索结果,语义搜索引擎应运而生。本文将介绍如何使用ChatGPTJava构建一个精准的语义搜索引擎,并给出具体的代码示例。一、了解ChatGPTJ

Java中的二叉树结构详解Java中的二叉树结构详解Jun 16, 2023 am 08:58 AM

二叉树是计算机科学中常见的数据结构,也是Java编程中常用的一种数据结构。本文将详细介绍Java中的二叉树结构。一、什么是二叉树?在计算机科学中,二叉树是一种树形结构,每个节点最多有两个子节点。其中,左侧子节点比父节点小,右侧子节点则比父节点大。在Java编程中,常用二叉树表示排序,搜索以及提高对数据的查询效率。二、Java中的二叉树实现在Java中,二叉树

Java语言中的图像处理算法介绍Java语言中的图像处理算法介绍Jun 10, 2023 pm 10:03 PM

Java语言中的图像处理算法介绍随着数字化时代的到来,图像处理已经成为了计算机科学中的一个重要分支。在计算机中,图像是以数字形式存储的,而图像处理则是通过对这些数字进行一系列的算法运算,改变图像的质量和外观。Java语言作为一种跨平台的编程语言,其丰富的图像处理库和强大的算法支持,使得它成为了很多开发者的首选。本文将介绍Java语言中常用的图像处理算法,以及

Java语言中的金融应用开发介绍Java语言中的金融应用开发介绍Jun 10, 2023 pm 02:01 PM

Java语言是一种广泛应用于金融领域的编程语言。由于其强大的功能和高效的性能,Java语言成为了金融机构开发软件的首选语言。本文将介绍Java语言在金融应用开发中的重要性,并介绍一些常见的金融应用程序。一、Java语言在金融领域中的应用Java语言在金融领域中的应用已经十分广泛,其主要优势包括:1.跨平台能力Java语言具有跨平台能力,这意味着同一段Java

Java语言下对接百度AI接口实现图像风格迁移的方法与步骤Java语言下对接百度AI接口实现图像风格迁移的方法与步骤Aug 12, 2023 pm 04:00 PM

Java语言下对接百度AI接口实现图像风格迁移的方法与步骤引言:图像风格迁移是一种有趣的技术,在艺术和媒体创作中具有广泛的应用。百度AI提供了图像风格迁移的API,使开发者能够方便地使用这一功能。本文将介绍如何使用Java语言对接百度AI接口,实现图像风格迁移的方法与步骤,并提供示例代码。步骤一:申请百度AI接口的访问权限要使用百度AI提供的图像风格迁移AP

Java语言中的Spring Cloud框架介绍Java语言中的Spring Cloud框架介绍Jun 09, 2023 pm 10:54 PM

Java语言中的SpringCloud框架介绍随着云计算和微服务的流行,SpringCloud框架成为了Java语言中构建云原生应用的首选框架之一。本文将介绍SpringCloud框架的概念和特点,以及如何使用SpringCloud构建微服务架构。SpringCloud简介SpringCloud框架是基于SpringBoot的微服务框架。它为

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

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

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 Mac版

SublimeText3 Mac版

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