Javaを勉強し始めるとすぐに出てくるのが変数の宣言とその初期化方法です。
初めて勉強し始めた方ですと、「宣言ってなんだろう?」「初期化ってどうやってするのだろうか?」といったお悩みを抱える方もいるはずです。
また他のプログラミング言語を学んだことがある方でもJavaと異なる宣言や初期化方法のため、こんがらがってしまうという経験をした方もいるかもしれません。
そういった方に向けて今回は変数の宣言方法、変数の初期化方法、そして応用編としてアクセス修飾子について解説していきます。
変数の宣言方法
まず変数の宣言方法について解説していきます。
その前に変数の宣言とは何なのか?ということについて初心者向けに解説しておくと、「これからこの変数を使用するのでよろしく!!」という言葉通りの意味です。
この宣言をせずに変数を使おうとすると、「え?そんな変数あるなんて聞いてないんだけど?どういうこと?」となって、エラーが発生します。
そういったことを防ぐために変数の宣言をするのです。
そして具体的な変数の宣言方法は下記のように実施します。
変数の型 変数名;
変数の型については下記の2記事で詳しく解説していますので、一度読んでみてください。
Javaのプリミティブ型(データ型)解説【初学者・初心者用】 | エンジニアKISARAGIの備忘録 (kisaragi-it.com)
Javaの参照型(データ型)解説【初学者・初心者用】 | エンジニアKISARAGIの備忘録 (kisaragi-it.com)
宣言の方法自体は上記の通りとても簡単です。
そして一気に複数宣言したいということもあると思いますので、そのような場合は下記のように実施します。
変数の型 変数名1,変数名2,・・・;
ここで複数一気に宣言した場合変数はすべて同様の型になります。
例えば下記のように宣言すると変数a,b,c,dすべてint型となります。
int a,b,c,d;
変数の初期化方法
次に変数の初期化方法について解説していきます。
先ほどご紹介した変数の宣言だけですと中身が何も入っていないため、エラーが発生してしまします。
変数の初期化は下記のようにその変数の型にあった値を代入します。
変数名=値;
上記変数の初期化の前には変数の宣言を実施する必要があるため、それは忘れないようにしましょう。
実際に変数の宣言~初期化を実施すると下記の通りになります。
int a;
a=5;
上記コードは1行目でint型の変数aを宣言して、2行目でint型の変数aに5を代入して初期化しています。
この操作により変数aが正式に使用可能となります。
ただ変数宣言、変数の初期化と2行で書くのが面倒と感じる方は、下記の通り宣言と同時に初期化を実施することも可能です。
変数の型 変数名=値;
これで変数の宣言、変数の初期化と2行で実施していた作業を1行で実施することが可能となりました。
変数の初期化は以上となります。
そこまで難しい作業ではないので、本記事を読んでぜひマスターしてください。
アクセス修飾子について
最後にご紹介するのはアクセス修飾子についてです。
アクセス修飾子とは、変数やクラス、メソッドといったものに付与することで、アクセスできる範囲を決めることができます。
クラス、メソッドってなんだ?という方は下記記事で詳しく解説していますので、ぜひ読んでみてください。
【Java】クラスとは何か?メソッドとは何か? | エンジニアKISARAGIの備忘録 (kisaragi-it.com)
アクセス修飾子は下記の4種類が存在します。
- public
- protected
- private
- デフォルト
それぞれ解説していきます。
アクセス修飾子(public)
publicは一切アクセス制限がかかっていない状態の事です。
つまりどこからでもアクセスすることができるというもので、簡単に言うと自分の家に誰でも簡単に入ることができるようなものです。
Javaを勉強し始めた際にまずお世話になるメソッドであるmainメソッドに下記の通りpublicは付与されています。
public static void main(String[] args){}
このmainメソッドが他のどのクラスやメソッドからでもアクセスできるというものです。
アクセス修飾子(protected)
protectedは同じパッケージ内のクラスや、異なるパッケージでもprotectedを付与したクラスのサブクラスからアクセスすることができます。
publicほどセキュリティが甘いわけではないですが、身近な人だと簡単に入ることができるというものです。
現実でいうと自分の家に知らない人は入ることはできないが、友人は入ることができるようなものです。
変数で使用すると下記のように指定します。
protected 変数の型 変数名=値;
変数初期化の先頭に「protected」をつけるだけという簡単なものとなっています。
実際の使用例として下記のような感じとなります。
【使用例】
public class ex1{
public static void main(String[] args){
ex2 ex_new=new ex2();
System.out.println(ex_new.a);
}
}
class ex2{
protected int a=7;
}
【実行結果】
7
上記は同一パッケージ内のex1、ex2という2つのクラスがあり、ex1からex2のaという変数にアクセスしています。
そしてその変数の値をex1で出力しているというもので、クラスは異なりますがaという変数にアクセスできていることが分かると思います。
アクセス修飾子(private)
privateは同一クラスのみからしかアクセスできないというものです。
つまり現実でいうところの「家に入れるのは家族だけだから他の人は入れないよ!!」という感じの、最もセキュリティの高いアクセス修飾子となっています。
では実際の使用例を見ていきましょう。
【使用例】
public class ex3{
public static void main(String[] args){
ex4 h=new ex4();
h.home();
System.out.println("→家族だけ!!");
}
}
class ex4{
private String b="家に入れるのは?";
public void home() {
System.out.print(b);
}
}
【実行結果】
家に入れるのは?→家族だけ!!
privateで指定した変数へアクセスできるのは同じクラス内からだけですので、変数bへex3から直接アクセスすることはできません。
そのため上記例では変数bと同一クラス内のhomeメソッドへ一度アクセスしてそこから変数bへアクセスするという方法をとっています。
もし仮に直接ex3から変数bへアクセスしようとするとエラーが発生してしまいます。
このようにprivateを使用することで、決められたクラスやメソッドからしかアクセスできないようにすることが可能となります。
アクセス修飾子(デフォルト)
最後にご紹介するのはデフォルトの状態です。
デフォルトは、同一パッケージ内のすべてのクラスからアクセスが可能となります。
現実世界で例えると、仲のいい友人は家に入れるがそこまで仲が良くない友人は家に上げないというような感じです。
デフォルトの使用方法ですが、何もアクセス修飾子をつけないことで実現することができます。
実際に記入すると下記のようになります。
void メソッド名(){}
まとめ
本記事では変数の宣言と初期化方法について下記項目で解説してきました。
- 変数の宣言方法
- 変数の初期化方法
- アクセス修飾子について
Javaを勉強し始めれば、ほぼ最初に学ぶことになることだと思いますが、ここで手を抜くと以降学ぶことが、段々と分からなくなってきます。
本当に初歩的な段階ですが、おろそかにしないことがプログラミング習得への近道であると考えています。
ですので、今回ご紹介した変数の宣言・初期化方法などの内容をしっかりと学んでいきましょう。
以上で今回の解説は終了となります。
コメント