【初心者向け】Javaについて

プログラミング

これからJavaエンジニアを目指している人に向けて、
最低限知っておかなければならない内容を記載していきます。
基礎的な内容ではありますが、エンジニアを目指す中で、
Java言語を学ぼうか迷っている人にもみていただければ嬉しいです。

プログラミング言語の種類と役割

プログラミング言語とは

そもそもプログラミング言語とは何かというと、プログラムを書くための言語のことです。
当たり前のことかもしれませんが、説明しようとすると、
コンピュータに対する、あらかじめ定めた命令群のことを言います。

プログラミング言語の種類

プログラミング言語には様々な種類があり、どのようなアプリケーションを作成したいかで、
変わってきます。

①デスクトップアプリ
ローカルマシン上で動作するアプリケーション
例)サクラエディタ、Officeなど

・スマホアプリ
スマホ上で動作するアプリケーション
例)ゲームなど

Webアプリ
Webアプリケーションサーバ上で動作するアプリ
例)楽天、AmazonなどのECサイト 

Java言語とは

デスクトップアプリ、スマホアプリ、Webアプリなど、
様々な種類のアプリケーションが開発できる言語でして、
業務アプリケーションのシェアNo.1です!

つまり、Java言語を習得していれば、仕事がなくなることはまずありません。
※プログラミング言語は流行りがあるので、絶対とは言い切れませんが…

Java言語の特徴

  • オブジェクト指向
  • マルチプラットホーム
  • ガーベジコレクト
  • ネットワーク機能

などの特徴があります。

マルチプラットフォームとは

マルチプラットフォームをむりやり和訳すると

マルチ:複数
プラットフォーム: OSやハードウェアといった基礎部分のこと

どういうことかと言いますと、
Java言語で書かれたプログラムはJVM(Java Virtual Machine)がインストールされている
環境であれば異なるプラットフォームでも同じプログラムが動作するということです。

つまり、OSがWindowsであろうと、Linuxであろうと、JVMさんのおかげで、
プログラミングを変える必要がなく、動作するということです。

Javaのキャッチコピー
write once run anywhere.
一度書けばどんなプラットフォーム(OS上)でも動作するという意味です。

ガーベジコレクトとは

この機能があるおかげで、プログラマーが自身でメモリの管理をする必要がなく、
メモリを圧迫してうまくいかない!!みたいなことが起こりません。

メモリ半自動管理機能と言い、プログラムが動的に確保したメモリ領域のうち、
不要になった領域を自動的に解放する機能のことです。

ネットワーク機能

ネットワークAPIを標準搭載しています。

APIとは…アプリケーションプログラミングインターフェースのことです。

簡単に言うと、ネットワークとつなぐ機能と思ってください。
※非常に簡単に言ってますが…

Javaアプリケーション開発環境の構築方法

Javaアプリケーション開発に必要なもの

ここでは、基礎を伝えるため、Eclipseなどの統合開発環境ではなく、
本当に最低限必要なものを説明します。

  • テキストエディタ
  • JDK

テキストエディタとは、メモ帳などのことですが、
ここでは『サクラエディタ』を推奨します。
サクラエディタは無料でインストールできるもので、検索すればすぐインストール出来るので、
説明は割愛します。

JDKとは 『Java Development Kit 』の略称で、これをインストールしないと何も始まりません。

JDKダウンロード方法

①Oracle社のHPよりJDKをダウンロードをダウンロード
②インストール
③「javac.exe」「java.exe」をコマンド名だけで実行できるようにする

上記3点でJavaでプログラミングを書いて実行できます。
③のコマンド名だけで実行するには設定が必要なので、設定方法についても
説明していきます。

Javaをコマンド名で実行するための方法 環境変数「PATH」を利用する

ちゃんと説明したいのですが、下記のサイトが非常に分かりやすいので、
そちらを参考にしてみて下さい。

ちゃんとできてる?Javaの環境変数の設定方法
WindowsなどでJavaを使うときには環境変数を設定する必要がある。このページでは環境変数についてお伝えした。Javaの環境準備を行う際に参考にしていただければと思う。

Javaはコンパイル言語

プログラミング言語の種類

上記にプログラミング言語の種類について説明しましたが、
ここで言う種類とは、”コンパイル”について簡単に説明します。

コンパイル型言語…コンパイルを手動で行う
例:Java , C など

インタプリンタ型言語…実行時にコンパイルを自動的に行う
例:シェルスクリプト , Python , PHP , VBなど

各言語のメリット
コンパイル…実行が早い
インタプリンタ…手間が少ない
上記のようなメリットがあり、Javaはコンパイル言語なので、
実行が早いです。
※つまりJavaはコンパイルを行わないと実行できません。

コンパイルとは

コンパイルとは翻訳という意味です。
人間に理解できるソースコードからコンピュータに理解できる
機械語(バイナリファイル)に変換することをコンパイルと言います。

バイナリファイルとは…テキストファイル以外すべてバイナリファイルと言います。

プログラムを実行するまでのプロセス

コンパイル型言語の場合
①コーディング(ソースコードを書くことです)
②「①」のコンパイル
③「②」の実行

インタプリンタ型
①コーディング
②「①」を実行(内部的にはコンパイルは行われます)

Javaプログラムのコンパイルと実行

Javaをコンパイルをする方法

JDKに含まれる「javac.exe」ファイルを使用します。
コマンドプロンプトから実行可能で、拡張子は不要です。

引数:コンパイル対象のソースファイルパスで実行できます。
例)javac C:\Test.java

Javaを実行する方法

JDKに含まれる「java.exe」ファイルを使用します。
引数:コンパイル後のファイル名
※本当は実行対象(mainメソッドを持つ)クラス名となりますが、下記で説明します。

Javaコマンド実行時のカレントフォルダは、コンパイル済みファイルが
格納されているフォルダとしていないと実行できません。
※拡張子は不要です。
例)java Test

実際にJavaを書いてコンパイルして、実行してみましょう

格納フォルダ …C:\work\java
ファイル名    …Helloworld.java

サクラエディタにとりあえず、下記のコードを書いてみましょう!

public class Helloworld{
public static void main(String[] args){
System.out.println(“Helloworld‼”);
}

注意点
ファイル名とクラス名は同名に必ずしてください(mainメソッドを持つクラス)
コンパイル、実行した際にコンソール上で、 Helloworld‼ と出力できれば成功です!

コードの説明

クラスの宣言文

public class クラス名 {

ポイント
・クラス名は任意で構いません。
・クラス名は必ず、頭文字を大文字にします。
上記コードの”class”はクラス名を表す予約語と言います。
{ }で囲っているのがブロックの開始と終了を表しています。

メソッドの宣言文(mainメソッド)

public static void main(String[] args){ 
 }

ポイント
メソッドの宣言文はクラスの宣言文内に記述しなくてはなりません!

ブロックについて
『{ 』…ブロックの開始
※ブロック内はインデントを付けます。
『 }』…ブロックの終了               

処理の終了について
文末に『;』を付けます。

コメントについて
『//』…単一コメント行  
『/* ~ */』…複数コメント行
※コメントとは、プログラミングで何を記載しているかをメモのように残すことで、
プログラミングの内容に影響がでない箇所になります。

サクラエディタの色分けについて

サクラエディタは内容によって色が変わり、非常に見た目が分かりやすいので、
メモ帳ではなく、サクラエディタを使用することをオススメします。

…コメント行
…予約語
…文字列
…数値

Javaコマンドの実行とは

java クラス名 というコマンドは
指定したクラス内のmainメソッド内の処理を実行せよ
という命令になります。

つまり、mainメソッドを記載していないと、何も実行されず、
エラーになってしまいます。

完全に導入ですが、ここまでできれば、Java言語を使用して、
プログラミングを書き、実行できたということです!

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