0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Javaで使用するvarについて(Local Variable Type)

Last updated at Posted at 2020-05-15

この記事は、他の言語でプログラミングしていた人が、Javaでプログラムを組んでみると言う人に向けて書いた記事です。

Local Variable Type とは

ざっくりまとめると、Javaでもvarが使えるようになりました、ということのようです。

varとは

複数の言語にvarはありますが、ここではJavaのvarにのみ着目します。
varは「variable(=変数)」のことです。その名の通り、変数を使うときに使用します。ただし、Javaではローカル変数にしか使用できません。
varは型のように
var 変数名 = 変数の内容;
と記載しますが、他の変数と違って変数の内容が必ず必要です。
なぜなら、varの型は変数の内容によって変化するからです。

具体例として、次のようなものが挙げられます。

practice.java
class Main {
  public static void main(String[] args) {
    var i = 5; //int型
    var msg = "Hello World!"; //String型
    var c = 'あ'; //char型
  
    System.out.println(msg+i); //Hello World!5 が表示
    System.out.println(c); //あ が表示
  }
}

iの場合、左側が整数であることから、varは整数型の int として扱われます。このように、左側で明らかにこの言語だと推測できる場合のみvarは使用できます。

varの意義

varはあくまで型推論型で、決まった型の方がわかりやすく思えますが、大きな利点があります。それが、型の指定を省略できる ということです。

型の指定を省略できる

これも文章だけだとわかりにくいので例を2つ記載します。
1.リスト、クラスの記載

practice_list.java
List<String> Obj1 = new ArrayList<String>(); //varなし
var Obj2 = new ArrayList<string>(); //varあり

practice_class.java
class Main {
  public static void main(String[] args) {
    longname_callclass cc = new longname_callclass(); //varなし
    var vcc = new longname_callclass(); //varあり
  }
}

class longname_callclass {
  public void callmethod() {
    System.out.println("呼び出し成功");
  }
}

このように左の型を省略出来るので、文章が短くなり、結果読みやすくなります。

2.数字の記載

practice_number.java
var i = 1; // int
var l = 3L; // long
var d = 1.0; // double
var f = 4.2f; // float;

整数型はLのあるなしでintとlongが別れるようになるため、数字だけ見たときに型が分かるようになります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?