2021.06.18

変数の初期値

はじめに

int型変数を宣言するだけで値を代入しない場合に、その変数の値を確認するJavaソースコードを作りました。

Javaソースコード - 値を代入していないint型の変数の掛け算

以下がJavaソースコードです。これは、int型変数aと変数bを宣言だけして、変数cにaとbの掛け算の結果を代入し、変数の値をコンソール出力するものです。

CompileError1.java

001
002
003
004
005
006
007
008
009
010
011
012
013
// このJavaソースコードは、コンパイルに失敗します!!
public class CompileError1 {
	public static void main( String[] args ) {
		// 変数を宣言
		int a, b, c;

		// aとbを初期化せずcを計算
		c = a * b;

		// cをコンソール出力
		System.out.println( c );
	}
}

コンパイル ソースコードが「ANSI」の場合

C:\talavax\javasample>javac -encoding sjis CompileError1.java

コンパイル ソースコードが「UTF-8」の場合

C:\talavax\javasample>javac CompileError1.java

このJavaソースコードは、コンパイルに失敗して実行できません。エラーメッセージの内容は、「エラー: 変数aは初期化されていない可能性があります」、「エラー: 変数bは初期化されていない可能性があります」です。

Javaの場合、使用する変数の初期の値を必ず代入する必要があります。

Javaソースコード - 値を代入したint型の変数の掛け算

次のJavaソースコードは、変数aと変数bに値を代入し、コンパイルに成功するようにしたものです。

CompileError2.java

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
// このJavaソースコードは、コンパイルに成功します!!
public class CompileError2 {
	public static void main( String[] args ) {
		// 変数を宣言
		int a, b, c;

		// aとbに値を代入
		a = 3;
		b = 7;

		// aとbを初期化せずcを計算
		c = a * b;

		// cをコンソール出力
		System.out.println( c );
	}
}

コンパイル ソースコードが「ANSI」の場合

C:\talavax\javasample>javac -encoding sjis CompileError2.java

コンパイル ソースコードが「UTF-8」の場合

C:\talavax\javasample>javac CompileError2.java

実行

C:\talavax\javasample>java CompileError2

出力結果

21

コンパイルに成功し、計算結果が出力されます。

Javaソースコード - 値を代入していないint型の配列の掛け算

次に、配列の初期値を確認していきます。以下のJavaソースコードは、2つのint型の要素を持つ配列を作成し、値を代入せずに2つの要素の掛け算を行い、その結果をコンソール出力するものです。

CompileError3.java

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
// このJavaソースコードは、コンパイルに成功します!!
public class CompileError3 {
	public static void main( String[] args ) {
		// 変数を宣言
		int c;

		// 配列を宣言
		int[] a = new int[ 2 ];

		// a[ 0 ]とa[ 1 ]に値を代入せずにcを計算
		c = a[ 0 ] * a[ 1 ];

		// 配列の値をコンソール出力
		System.out.println( a[ 0 ] );
		System.out.println( a[ 1 ] );

		// 計算結果をコンソール出力
		System.out.println( c );
	}
}

コンパイル ソースコードが「ANSI」の場合

C:\talavax\javasample>javac -encoding sjis CompileError3.java

コンパイル ソースコードが「UTF-8」の場合

C:\talavax\javasample>javac CompileError3.java

実行

C:\talavax\javasample>java CompileError3

出力結果

0
0
0

配列に値を代入しなくてもコンパイルに成功しました。配列の値は0でした。int型配列の場合は0が規定値として格納されるからです。

以上です。

関連コンテンツ

「Javaソースコード」から実行可能な「オブジェクトコード」に変換する方法をくわしく説明しています。

2020.03.23

同じ型の変数(データ)を複数個まとめて管理するデータの持ちかたがあります。これが配列です。くわしくは、記事をご覧ください。

2016.01.14

変数やクラスに格納されている値をコンソール出力する方法は?

2020.03.23

演算子'*'を使ってshort型どうしの掛け算を使用する際の注意点について。

2020.03.23

基本的な計算である足し算(加法)/引き算(減法)/掛け算(乗法)/割り算(除法)を行うプログラム作成。

2020.03.23

プログラミングで使う変数って何?

2020.03.23

プログラムの最初に実行されるメソッドは?

2022.12.13

Javaのプログラムを書いてみませんか?プログラムの書き方をくわしく説明しています。

2020.03.23

Javaのプログラムを作ってみませんか?プログラミングに必要なものの用意から実行までを説明しています。

2020.03.23

Javaの学習に役立つソースコードを多数紹介しています。是非、ご覧ください。

2022.09.10

Swingパッケージを使ってグラフィック表示を行う方法を解説しています。

2020.03.23

画像フォーマット形式・色・大きさ・傾きなどの変更、特定の図形(文字・記号など)を見つけたり、取り出したりする画像処理について詳しく解説。

2015.11.29

繰り返し処理を使ったJavaのソースコードサンプルを紹介しています。

2020.03.23

配列を使うJavaソースコードを多数紹介しています。

2021.05.18

数学に関係するJavaのメソッドやソースコードなどを紹介しています。

2022.10.25

三角形、台形、円などいろいろな図形の面積を計算するプログラムを紹介しています。詳しくは、記事をご覧ください。

2021.05.18

StringクラスとStringBuilderクラスを利用したプログラミングの仕方を紹介しています。

2016.12.16

Javaを使った簡単な応用プログラム(生年月日から年齢を計算プログラムなど)を紹介しています。

2022.07.07

プログラミング、ITに関する用語をまとめています。

2022.10.17

日本で使われてきた伝統文様「和柄」について解説しています。

2022.07.27

プログラミング言語とは?種類や特徴について説明しています。

2022.08.03

「ゆるゆるプログラム」のコンテンツを紹介しています。興味のある方はこの記事をご覧ください。

2020.03.23

広告