体重133キロからのプログラミング

体重はちょっと減って今125キロです。

Javaを勉強し始めた

最近就活してます。体重は多分142キロを超えました、私です。
SESの求人に応募してまして、現在2社落ちていて、1社2次面接っていう感じです。
まあわかってはいたんですが、現場で働くにはまずJavaを覚える必要があります。
研修のあるところしか応募してませんが、Javaがどんなもんなのか触れてみようということで少し勉強してます。
自分で忘れないためにもRubyとの違いなどを書きとめていきます。

型宣言

Javaでは、型宣言を毎回行います。
「型」というのは「データ型」のことで、文字列ならString、数字ならintといったもののことです。

//Stirng型の変数hogeにhugaを代入。
String hoge = huga;

また、必ず命令文は「;」で終わらなければエラーになります。
また、以下のように戻り値・引数までにも型宣言をする必要があります。

public static String hoge(String huga) {
    return huga;
}

Rubyしかやったことがなかったので、一見するとただ読みづらいだけに見えましたが、後からコードを読んだ時に理解しやすく、コンパイルにも優しかったりと、業務上で役立つ仕組みになっています。
逆にRubyは表面に書いてある情報がとても少なく、コードはすっきりと読めますが、より堅牢な設計が求められます。

メソッドの呼び出し

メソッドの呼び出しもRubyと違います

//hello!を出力するhelloメソッドを定義
public static void hello() {
    System.out.println("hello!");
}
//helloメソッドを呼び出す
hello();

//入力された値を2倍にするメソッドを定義
public static int double(int value){
    return value * 2;
}

//doubleメソッドを呼び出す
double(2);

上記コードからわかるように、引数が不要な場合も()を用いて、引数が不要であることを示す必要があります。
また、Rubyは全てに戻り値がありますが、Javaにはありません。
「void」というのは「戻り値なし」を示しています。
この戻り値の定義は正直うまく噛み砕けていないのですが、「return」が含まれるメソッドには戻り値があるという理解で一旦保留しています。
クラスメソッドの呼び出しはRubyと似たような感じで、「クラス名.メソッド名();」で呼び出すことができます。

クラスフィールド

Railsでいう所のデータモデルのようなもの。

class Car {
        public String name;
        public int value;
        public String color;
        public double milage = 0;
}

Car.nameのようにして、属性の値を取り出せる。
尚実際にはCar.nameのように直接アクセスはせず、ゲッターと言われるメソッドを定義してアクセスする作法がある様子。
正直このあたりは言葉で説明できるほど理解できていない。

風邪ひいてしんどいので今日はこの辺で切り上げよう。
自分の学びのためだけにブログ書いてるけど、そろそろ発信していくことも意識していかないとなあ。