LoginSignup
0
1

More than 3 years have passed since last update.

あらためてJavaを学習する(その0)

Posted at

1〜2年前にJavaを学習してから、最近はJavaScript(Node.js)やAWSといった学習がメインでJavaからは久しく離れてました。
最近Java知識が必要になる可能性が出たので、簡単に復習がてら学習を行おう!と思った次第。その備忘録として記事にしています。Qiita初投稿です。

その0では主にJava言語についてと環境構築、Hello Worldをコンソールに表示するまでの内容がメインです。

Javaの特徴

  • OSに依存しない(OS非依存)
  • オブジェクト指向
  • 静的型付け言語
  • JVMによるメモリ管理

※C言語(1972年) → C++(1983年) → Java(1996年) の順番で登場している

Java実行までの流れ

OS非依存を実現しているのがJava Virtual Machine(JVM)
人間が書いたり読んだりできるコード(高級言語)は機械側では理解できない。
(機械が理解できるのは0と1の羅列で構成された機械語)

C言語やJava言語といった高級言語を機械語に翻訳することをコンパイルと呼ぶ。
また、上記のコンパイルは全文を一括で機械語に翻訳するのに対し、処理順に機械語に翻訳しながら実行するのをインタプリタと呼ぶ。

Javaの場合は少し特殊で、
1. コンパイルした際に機械語の中間コードを作成する。これをバイトコードと呼ぶ。拡張子は.class
2. 実行する際にバイトコードをインタプリタで機械語に翻訳して実行する。(JVMが担当)

なお、JVMはWindowsやLinuxといったOS毎に提供されており、各OS毎の機械語に翻訳される。

Javaの最新バージョン

最新はJava SE15(2021年2月現在)
学習面では最新ではなくSE8やSE11で十分

エディション一覧

  • Java ME(Micro Edition)
    組み込み機器、モバイル向けのエディション
  • Java SE(Standard Edition)
    標準のエディション、Javaを一から学習するならこれ
  • Java EE(Enterprise Edition)
    サーバー向け、Web開発はこっち

Javaのインストール

下記リンク先をスクロールしていくとSE8やSE11がDL可能
※Oracleのアカウント登録(無料)が必要
Java SE - Downloads

画像のOracle JDKをクリック
Oracle JDKのDL

各OS毎にJDKが用意されており、適宜OSにあったJDKをダウンロードする。
JDK選択画面

Mac

  1. macOS Installer右側にあるjdk-11.0.10_osx-x64_bin.dmgをクリック
  2. Oracleアカウントログインを求められるので、アカウントがない場合はここで新規登録を行う
  3. ダウンロードしたjdk-11.0.10_osx-x64_bin.dmgをクリック MacでのJDKインストール画面
  4. 画面の指示に従ってインストールを行う
  5. ターミナルを開き下記コマンドを順に入力。どちらもバージョン表示されればインストール完了
java -version
javac -version

Windows

  1. Windows x64 Installer右側のjdk-11.0.10_windows-x64_binをクリック
  2. Oracleアカウントログインを求められるので、アカウントがない場合はここで新規登録を行う
  3. ダウンロードしたjdk-11.0.10_windows-x64_binをクリック windowsのjdk画面
  4. インストール先など指定がなければそのままインストール
  5. インストールが完了したら、環境変数の設定を行う windows環境変数の設定1
  6. 詳細設定タブ環境変数をクリック windows環境変数の設定2
  7. システム環境変数Pathを選択して編集をクリック windows環境変数の設定3
  8. 新規ボタンを押してjdkのインストール先¥binを登録する

    今回の場合はC:¥Program Files¥Java¥jdk-11.0.10¥bin
    windows環境変数の設定4

  9. コマンドプロンプトを開き下記コマンドを順に入力。どちらもバージョン表示されればインストール完了

java -version
javac -version

Hello World

おなじみのサンプルプログラム。

Sample.java
public class Sample {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

コンパイル

SE8
takuya@DEV-SERVER:~/workdir/java$ javac Sample.java
takuya@DEV-SERVER:~/workdir/java$ java Sample
Hello World

SE11だとソースファイルが1つで完結する場合はコンパイル(javac)せずjava ファイル名.java で実行可能

SE11
takuya@DEV-SERVER:~/workdir/java$ java Sample.java
Hello World

Javaファイルの作り方

もう少しクラスの内容をみていきます。
基本的な(処理を実行する)クラスファイルの記述は下記となります。

class class名 {
    public static void main(String[] args){
        処理を記述;
    }
}

クラスファイル

class名にはファイルの名前を指定する。
例)Sample.java → class Sample
なお、慣習で先頭の文字は大文字にする。
単語の組み合わせになる際は単語毎の先頭文字を大文字にする(キャメルケース)

{ から } の間がそのクラスの内容となる。

HogeSampleClass.java
class HogeSampleClass {
    // クラスの内容
}

メインメソッド

public static void main(String[] args){ 
    // 処理1;
    // 処理2;
    //   .
    //   .
}

Javaはこのメインメソッドを探して、そこに記述されている処理を順に実行していく。参考書などでは「おまじない」として紹介されがち。
クラスと同じく、{ から } の間がメインメソッドの内容となり、ここに処理を書いていく。

おまじないとして紹介される理由】
このメインメソッドを記述する際にあれやこれやと指定しているものにはしっかりと意味がありますが、
これらは学習を進めていく内に「あ〜なるほど」と理解できます。
最初に解説を行うと逆に混乱するため、「まずはこれを書けばJavaは動く。」としたほうが良いのが大きな理由の一つだと勝手に思ってます。

処理の記述

プログラムで実行する処理内容を記述する。
処理の最後には;(セミコロン)を記述する必要がある。
Sample.javaでは「コンソール画面に"Hello World"を出力せよ」という処理が書かれている。

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

コメント

一行コメント(//)

// コメントだよ

複数行コメント(/* */)

/* 複数行だよ
  これもコメントだよ */

まとめ

今回はJavaについてとインストール方法、Javaプログラムのコンパイル〜実行までを行い、ザッとクラスについてもみていきました。

0
1
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
1