初心者必見!Java とは?をわかりやすく解説!

      2016/12/06

Code部

今年で 21 歳になる Java
人間同様に成熟の様子も見られて、開発環境・学習環境・労働環境が整い、今最大の注目プログラミング言語として各界から LOVE コールを受けています。

(参考ブログ/これからの時代はプログラミングって聞くけど、どの言語がいいの?

 

こちらも合わせてどうぞ!(別タブで開きます)

 

プログラミング初心者必見『Java 』マルッとまるわかり!

Java とは

Java とは、私たちの身の回りの物、例えばスマホやテレビ、ブルーレイプレイヤーや銀行などのソフトウェアに使われているプログラミング言語になります。
Write once, Run anywhere(一度書けば、どこでも使える)というキャッチフレーズが印象的で、Java でコーディングすれば Windows でも Mac でも Linux でもスマホでもスーパーコンピューターでもプログラムが実行される特徴があります。
またプログラミング言語 C # と並ぶ、もしくはそれ以上の処理速度があるとされ、数多くあるプログラミング言語の中でもトップクラスの処理スピードを誇っています。

 

Java は端末以外のソフト、つまりサーバーなどでも多く採用されているプログラミング言語で、現代の社会インフラにも大きく貢献しています。

 

それに伴って Java エンジニアの需要も高く、プログラミング言語別年収ランキングではトップに君臨しています(平均年収1200万円ほど**)。
プログラミングに興味ある者としては、素通りできないですよね。

Java の歴史

Java は、1991年にインタラクティブ・テレビ用に開発がスタートしたプログラミング言語になります。しかし、当時のテレビ産業業界において Java は必要とされなく日の目を浴びることはありませんでした。
その後、1995年にサンマイクロシステムズ社(オラクル社により買収済)からはじめてのJava がリリースされて、高いセキュリティーと高い汎用性、開発時間の短縮化とコスト削減を売りにwebブラウザをはじめ多くのソフト開発現場で採用されました。

 

Java の時系列による発展は上の YouTube が参考になると思います(英語)。
その後バージョンアップを繰り返し、現在の最新バージョンは 8 となっています。

Java で身近にある例

java-life

アプリ(Android App、Web App)

Android アプリをはじめ、web アプリでも Java によって続々とアプリが開発されています。Android Studio をはじめ、Microsoft Azure のプラットフォームで Java のアプリ開発が行われています。

CG(コンピューター・グラフィックス)

ファインディングニモやトイストーリーなどの 2D、3D CGのソフトウェアも Java で開発されたりしています。

宇宙開発

ロケットや衛星などに搭載されるソフトウェアにも Java 使われています。(参考/NASA

クレジットカード

世界 50 億枚以上のクレジットカードが、 Java によるソフトウェアで決済処理が使われています。

ブルーレイ・プレイヤー

すべてのブルーレイ・プレイヤーに Java が使用されています。

テレビに

番組表や天気予報などのソフトウェアに Java が使われています。

ビッグデータ用ソフトウェアに

ボーイング社をはじめ、独自に開発するビッグデータ用ソフトに Java が利用されるケースが目立ちます。

顧客管理&顧客サービス

1000万件以上に及ぶような大きな顧客データも Java によってスマート管理されています。(参考/東京電力

銀行

オンラインバンク等の承認・決済として Java を使った web アプリサーバーの「BEA WebLogic Server 8.1」などが使用されています。(参考/UFJ銀行

ATM

VB(ビジュアル・ベーシック)で動いていた ATM もJava に書き換えられたりしています。

家電

ソフトウェアが原因による製品不良を回避するために Linux などの OS 採用が積極的で、それに伴って Java を使ったソフト開発も行われています。(参考/パナソニック

ゲーム

オンライン・ゲームをはじめ、ゲームアプリの開発に Java が使われています。

ソフトウェア

Adobe や Scratch など多くのソフトウェアに Java は利用されています。

電気自動車 テスラのソフトウェア

IoT

IoT 用のソフトウェアにも Java は活用されています。(参考/日本オラクル

など

Java のメリット・デメリット

メリット

  • セキュリティー
    デバイス毎に最適化された Java が用意されていて、それぞれのシチュエーション・リスクをカバーしています。現在 13 種類の Java が用意されています。
  • オブジェクト指向
    各アクションを細かく管理できて、プログラムの管理・制作の作業効率に優れています。
  • クロスプラットフォーム
    Java は OS 関係なく、Windows、iOS、Linux、モバイルで動作し、サーバーやスーパーコンピュータにも利用することができます。
  • 分散型コンピュータ
    近年話題の P2P ネットワークのプログラムにも Java は活用できます。
  • マルチスレッド機能
    クロスプラットフォームに動く Java は、OS に関係なく並行処理できます。
  • フレームワーク
    世界にたくさんいる Java ユーザーからたくさんの便利なフレームワークがリリースされています。
  • データベース用言語として
    ビジネスの現場で最もニーズのある分野ではないでしょうか。
  • 速い処理速度
    C# や GO よりも早く処理するケースがあります。
  • 充実したコミュニティー環境
    Java を利用するプログラマーは世界で900万人以上(2012時点**)に及び、プログラミングで困ったときも世界の Javaラー(Java技術者)を頼ることができます。

デメリット

  • 学習サービスが少ない
    PHP や Ruby、JavaScript など他のプログラミング言語に比べて学習環境が劣ります、特に日本語環境で。
  • コンパイルがめんどくさい
    Java は、いちいちコンパイルしてプログラムを実行しないといけません
  • Java 対応のレンタルサーバーが少ない
    Java を動かせるレンタルサーバーが少なく、海外もしくは VPS サーバーの利用が必要になります。
  • Web アプリ起動の準備が面倒
    PHP などに比べると Java で Web アプリケーションを動かすことに手間がかかります(WEB-INF フォルダ作成など)。

 

Java の書き方

web アプリケーションを制作する際の例を見てみます。
jsp ファイル(java ファイル) における Java のシンボルは <%  %> になります。

■例■ 現在時間を取得するプログラム

&lt;%-- ページのエンコーディング指定 --%&gt;
&lt;%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %&gt;
&lt;%@ page import="java.util.Date" %&gt;
&lt;%@ page import="java.text.DateFormat" %&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;現在時刻サンプル&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;%-- 実行するプログラム --%&gt;
&lt;% Date d = new Date(); DateFormat df = DateFormat.getDateTimeInstance(); %&gt;
現在時刻:
&lt;%-- プログラム結果の出力 --%&gt;
&lt;%= df.format(d) %&gt;
&lt;/body&gt;
&lt;/html&gt; 

他には変数宣言として、<%!  %>  があります。
■例■ <%! int a, b, c; %>
尚、web アプリとして Java を利用する場合は、Java に対応したサーバーと jsp ファイルとセットになる WEB-INF フォルダが必要になる等いくつかのポイントがあります。

 

Java の基本構文

プログラミングの基本である条件分岐 if else 文をご紹介します。
同じプログラム処理でも記述方法は2通りありますので、以下に2パターンご紹介します。

//if else文(条件分岐) 商品価格1200円のシチュエーション
//最初の2行は決まり文句
public class if_else{
    public static void main (String[] args){
        //値段が 1200円だった場合
        int price =1200;
        String message;
        //1000円以上の場合のコメント
        if (price &gt; 1000) {
            System.out.println("高い値段だよ");
        //1000円以上でなかったら ↓ 
        }else {
            System.out.println("安いね");
        }
    }}

 

//if else 三項演算子で書くと、商品価格900円のシチュエーション
public class if_else_3kou{
    public static void main (String[] args){
        //値段が 900円だった場合
        int price =900;
        String message;
        // ? マークで1000円以上の場合とそうでない場合を判断、 真なら高い値段だよ、偽なら安いね とメッセージする            
        message = (price &gt; 1000) ? "高い値段だよ" : "安いね";
        System.out.println(message);
    }}

■出力結果■
java-if-else
このように同じプログラム処理でも2通りの記述方法があり、これは条件分岐に限らず、for文などのループ文にも存在します。

まとめ

いかがでしたでしょうか?Javaってなんだか高度なプログラミング言語って思っていた方、Android Studio をインストールしたものの意味不明のコードで開発をやめた方、改めて Java いかがでしょうか?
以前は Java 開発というと Eclipse や Android Studio が有名でしたが、今は Microsoft Azure BlueJ など初心者でも使いやすそうなツールがリリースされています。

 

こちらの記事も参考にどうぞ!

java-android-app-pr

 

 - Java, プログラミング ,