配列
配列とは
- 配列とは
- 同一種類の複数データを順序を付けて格納する箱
- 注意点
- ・順序付けは、「0」からスタートする
- ・1つの箱には同一種類のデータしか格納出来ない
配列の作成
- 作成順序
- ①配列変数の作成(箱の作成)
要素のデータ型[] 配列変数名;
- ②要素の作成と代入(中身の作成)
配列変数名 = new 要素のデータ型[要素数] ;
※newを使用する場合
- 箱と中身の作成を同時に行う場合
要素のデータ型[] 配列変数名 = new 要素のデータ型[要素数] ;
配列の初期値
- 変数と違って、配列は初期値が決まってる!
- 初期値は以下の通り
- 作成順序
- ①配列変数の作成(箱の作成)
- ②要素の作成と代入(中身の作成)
要素のデータ型[] 配列変数名;
配列変数名 = new 要素のデータ型[要素数] ;
※newを使用する場合
- 箱と中身の作成を同時に行う場合
要素のデータ型[] 配列変数名 = new 要素のデータ型[要素数] ;
配列の初期値
- 変数と違って、配列は初期値が決まってる!
- 初期値は以下の通り
データの種類 | 初期値 |
---|---|
数値型 | 0 |
boolean型 | false |
配列の初期化
要素のデータ型[] 配列変数名 = new 要素のデータ型{初期値1,初期値2,初期値3,初期値4,・・・} ;
要素のデータ型[] 配列変数名 = {初期値1,初期値2,初期値3,初期値4,・・・} ;
配列をfor文で使用する
使用例
int[] score = {20,30,40,50,80};
for (int i = 0; i<score.length; i++) {
System.out.println(score[i]);
{
・20、30、40、50、80が順に表示される
・score.length
には「5」が入る
・i
には「0〜4」までが入る
書き方
int[] score = {20,30,40,50,80};
for (int i = 0; i<score.length; i++) {
System.out.println(score[i]);
{
score.length
には「5」が入るi
には「0〜4」までが入るfor(int i = 0; i<配列変数名.length; i++)
拡張for文
書き方
for(要素の型 任意の変数名:配列変数名){
}
配列が裏でどのように処理されているか
まずはじめに・・・
int[] score =new int{5}が実行された場合
プログラム上でscore{2}
が実行された場合`
ガベージコレクション
通常、ifブロック内で作成した変数はブロックが消えたら適用されない。
newで確保された要素たちは、ブロックが終了しても消えずに、メモリ上にゴミとなって残り続ける。
これらを自動で削除してくれるJavaの機能が、ガベージコレクション。
null値
if ( b== true) {
int[] i = {1,2,3};
i=null;
}
if ( b== true) {
int[] i = {1,2,3};
i=null;
}
以上の様に、null値を代入することで、変数の値が格納されたメモリへ参照しなくなる
多次元配列
2次元配列の宣言
要素の型[][] 配列変数名 = new 要素の型[行数][列数]
配列変数名[行の番号][列の番号]
要素の型[][] 配列変数名 = {//1行目{//1列目 要素数 //2列目 要素数 //3列目要素数・・},//2行目{},//3行目・・・}
Author And Source
この問題について(配列), 我々は、より多くの情報をここで見つけました https://qiita.com/k_sk193/items/ff9579ec1733b17e9d97著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .