Javaのまとめ

言語
スポンサーリンク

言語ごとに書き方が若干異なる部分を中心にまとめています。

特徴

Javaは、1995年にSun Microsystemsによって開発されたプログラミング言語です。その特徴は以下の通りです。

  • オブジェクト指向言語であること
  • プラットフォームに依存しないこと。Javaのコードは、Java Virtual Machine(JVM)上で実行されるため、WindowsやmacOS、Linuxなどのさまざまなプラットフォームで実行できる
  • スレッドを簡単に扱えること
  • セキュリティーが強いこと
  • ライブラリが豊富であること
  • ガベージコレクションが提供されること(自動メモリ管理)

Javaは、企業アプリケーション、モバイルアプリ、Webアプリ、ゲーム開発など幅広い分野で使用されています。
また、Javaはオープンソースとして公開されており、開発者による改良や拡張が可能です。

お試し実行環境

ブラウザでプログラミング・実行ができる「オンライン実行環境」| paiza.IO
paiza.IOはオンラインですぐにプログラミングが始められる、オンライン実行環境です。Java,Ruby,Python,PHP,Perlなど主要32言語に対応。プログラミング学習にも。

参考サイト

Package Index  |  Android Developers

ログだし

System.out.println("Hello world");

コメント

// 1行コメント
/*
複数行コメント
*/

条件演算子

<条件式> ? <真式> : <偽式>

比較演算子

演算子 説明
== 等しい
!= 等しくない
> より大きい
>= 以上
< より小さい
<= 以下
instanceof 同一クラス

真偽値

型・定義 説明
boolean
true
false

論理演算子

演算子 説明
&& And
|| Or
! Not
if (true && true) {
    System.out.println("true");
}
if (true || false) {
    System.out.println("true");
}
if (!false) {
    System.out.println("true");
}

繰り返し

for (int i = 0; i<10; i++) {
    System.out.println(i);
}
int datas[] = {1, 2, 3, 4, 5};

for (int data: datas){
    System.out.println(data);
}

配列

int array[] = {1, 2, 3, 4, 5};

for (int i: array) {
    System.out.println(i);
}

メソッドチェーン

Javaにおいて、戻り値にthisを返すことで、メソッドチェーンという機能を実現することができます。
これは、オブジェクト指向プログラミングの一般的な概念で、同じオブジェクトを対象とした複数のメソッド呼び出しを一度に行うことができます。

例えば、以下のようなコードが考えられます。

public class MyClass {
    private int value;

    public MyClass add(int num) {
        this.value += num;
        return this;
    }

    public MyClass subtract(int num) {
        this.value -= num;
        return this;
    }

    public int getValue() {
        return this.value;
    }
}

このクラスでは、addとsubtractというメソッドがあり、それぞれ値を加算したり減算したりします。
これらのメソッドは、自分自身を戻り値として返すため、メソッドチェーンを行うことができます。

MyClass obj = new MyClass();
int result = obj.add(5).subtract(3).add(10).getValue();

このように、1行で複数のメソッドを呼び出すことができ、最終的な結果を取得することができます。

実装サンプル

直近30個のデータの最大値と最小値を求める

/**
 * 直近30個のデータの最大値を最小値を求める
 * for文により疑似的に100回試行しているが、実際はデータを取得する度にキューに詰める事になる
 */

import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        Queue<Integer> queue = new ArrayDeque<>();
        Random random = new Random();
        
        for (int i = 0; i <= 100; i++) {
            queue.add(random.nextInt(100));  //乱数で適当な値を入れているが、実際は取得したデータを詰める
            if (queue.size() > 30) {  //30を超えたらキューから削除する
                queue.remove();
            }
            System.out.println("キューの中身:" + queue);
            System.out.println("中身の数:" + queue.size());
            System.out.println("最大値:" + Collections.max(queue));
            System.out.println("最小値:" + Collections.min(queue));
        }
    }
}
ArrayDeque (Java Platform SE 8)
Collections (Java Platform SE 8)

 

タイトルとURLをコピーしました