【Java】lengthを使って配列(Array)の長さを調べる!
配列(Array)の長さを調べる場合にはlengthを使用します。
lengthは、配列の要素数を調べるフィールドとなります。
イメージするなら、lengthは配列の要素の数を入れる箱みたいなものです。
また、lengthとは別にlength()がありますが、length()は文字列の長さを取得するメソッドですので使い方が変わってきます。
似ているようですが使い方が異なりますので注意が必要です。
今回はlengthを使って以下の場合での配列の長さを調べていきます。
⚫︎ 一次元配列の長さを調べる場合
⚫︎ 二次元配列の長さを調べる場合
⚫︎ 二次元配列の各要素の長さを調べる場合
目次
lengthとは
lengthは、配列の長さを取得するフィールドとなります。
lengthとは別にlength()がありますが、length()は文字列の長さを取得するメソッドです。
名前がそっくりですが使い方が異なりますので注意しておきましょう。
lengthの書き方
lengthの構文は下記となります。
1 |
配列変数.length; |
lengthを呼び出すことでlengthの前に指定した配列変数の要素数を取得します。
また、lengthとlength()について詳しく知りたい場合はこちらを御参考ください。
配列の長さを調べるサンプルコード
配列の長さを調べるサンプルコードを紹介します。
一次元配列の長さを調べる場合
例
1 2 3 4 5 6 7 8 9 |
// 配列の長さを調べる public class Main { public static void main(String[] args) throws Exception { // 一次元配列の長さ int[] array1 = {10, 11, 20, 33}; System.out.println("一次元配列の長さ:" + array1.length); } } |
出力結果
一次元配列の長さ:4
lengthで一次元配列の長さを格納して表示しています。
二次元配列の長さを調べる場合
例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// 配列の長さを調べる public class Main { public static void main(String[] args) throws Exception { // 二次元配列の長さ int[][] array2 = { {10, 11, 20, 33}, {}, {34, 45, 67, 100}}; System.out.println("二次元配列の長さ:" + array2.length); } } |
出力結果
二次元配列の長さ:3
lengthで二次元配列の長さを格納して表示しています。
二次元配列の各要素の長さを調べる場合
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
// 配列の長さを調べる public class Main { public static void main(String[] args) throws Exception { int[][] array3 = { {10, 11, 20, 33}, {}, {34, 45, 67, 100}, {56, 100, 45, 6, 7 ,8 ,9}}; //二次元配列の各要素の長さ for (int i = 0; i < array3.length; i++) { System.out.println( "二次元配列[" + i + "]の要素の長さ:" + array3[i].length); } } } |
出力結果
array[0]:4
二次元配列[1]の要素の長さ:0
二次元配列[2]の要素の長さ:4
二次元配列[3]の要素の長さ:7
for文を使って配列の長さ分を条件として繰り返し処理を行い、さらにその中にある配列の要素数をlengthで格納して表示しています。
今回のポイント
lengthで配列の長さを調べる
配列の長さを調べるにはlengthフィールドを使用する。
⚫︎ lengthで配列の長さ(要素数)を調べ、書き方は「配列変数.length」となる
⚫︎ lengthはメソッドではなくフィールドである
⚫︎ 多次元配列でlengthを使用すると、その配列の長さを取得することになる
⚫︎ 多次元配列で配列の各要素の長さを調べたい場合は「配列変数名[n].length」で各要素の長さを取得することができる
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。