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

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

プログラミング言語ランキングでも常に上位に食い込んでくるJava。Hrogさんによる2016年の中間集計でもダントツの求人数を誇り。1996年の誕生から20年以上が経っているにも関わらず非常に人気の言語です。

現在ではAndroidアプリの開発からTwitterや楽天のHPなど、多くの有名企業がJavaを利用したサイトを構築しています。

しかし、一方で初心者の方が学習する際に「難しそう」と思うのも事実。そこで、Javaの概要からメリット/デメリット、どんな人が学ぶと良いかまで初心者の方のために分かりやすく解説します!

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

本記事は、CodeCampのJava基礎講座で学習する内容を踏まえ紹介しています。

目次
  1. プログラミング初心者必見『Java 』マルッとまるわかり!
  2. Java とは
  3. Java の歴史
  4. Java で身近にある例
  5. Java のメリット・デメリット
  6. どんな人が学んでいるのか
  7. どんな人におすすめなのか
  8. Java の書き方
  9. Java の基本構文
  10. インストール方法
  11. アップデートの方法
  12. Javaの資格
  13. Javaの学習方法
  14. スッキリわかるJava入門 第2版
  15. やさしいJava 第6版
  16. 本で学習に困った時には
  17. まとめ

image

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

Java とは

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

またプログラミング言語 C # と並ぶ、もしくはそれ以上の処理速度があるとされ、そのスピードは、数多くあるプログラミング言語の中でもトップクラスの処理スピードを誇っています。

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

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

Java の歴史

Java は、1991年にインタラクティブ・テレビ用に開発がスタートしたプログラミング言語です。しかし、当時のテレビ産業業界において Java は必要とされなく日の目を浴びることはありませんでした。

その後、1996年にサンマイクロシステムズ社(オラクル社により買収済)からはじめてのJava がリリースされて、高いセキュリティーと高い汎用性、開発時間の短縮化とコスト削減を売りにwebブラウザをはじめ多くのソフト開発現場で採用されました。

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

Java で身近にある例

image

アプリ(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 用のソフトウェアにも Java は活用されています。(参考/日本オラクル

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

メリット

  • セキュリティー
    デバイス毎に最適化された Java が用意されていて、それぞれのシチュエーション・リスクをカバーしています。現在 13 種類の Java が用意されています。
  • オブジェクト指向
    オブジェクト指向とは、プログラムの作り方の1つです、各アクションを細かく管理できて、プログラムの管理・制作の作業効率に優れています。[結局何なの?5分で分かるオブジェクト指向!](https://blog.codecamp.jp/object-languages)
  • クロスプラットフォーム
    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の凄さがわかってきたところで、どんな方がJavaを学んでいるのか見てみたいと思います。

  • 高校生(高等学校 商業科でのプログラミング科目)
    平成25年に高等学校学習指導要領が改定されて、科目「プログラミング」において Javaを学習している学校もあります。(例:弘前学院聖愛中学高等学校

  • 大学生(大学の授業やゼミで)
    機械工学科や情報工学科をはじめ、経営情報学科や経済学部などのゼミでもJavaは学習・利用されています。 (例:阪南大学 経営情報学部

  • 就職が内定した人
    高校生や大学生でIT企業に内定された方*もJavaを学習しています。内定先の会社からポンと参考書を渡されるケースもあるみたいですね。

  • 新入社員
    LINE*やリクルート*をはじめ、IT企業に入った新入社員さんがJavaを学習(研修)されています。

  • IT企業への転職検討者
    リクナビNEXTで「java 未経験」と入力すると、170件ほど該当案件が表示されます。またCodeIncubateなどエンジニア転職を支援するサービスでも、Javaが行われています。

  • Android用のアプリ開発検討者
    Androidアプリのネイティブ開発言語は、Javaです。小さいお子さんから大人までAndroidアプリ開発を目的にJavaを学習されています。

どんな人におすすめなのか

Javaをオススメしたい人をご紹介します。

  • 大手IT企業へ就職してみたい方
    NTT Dataや東芝ソリューションなどでは、Javaを使った自社サービスを展開しています。 また富士通やキャノンなど大手企業もJavaスキラーを募集しています。

  • 生涯仕事をしたい方に
    人間誰でも40歳、50歳になると「リストラ」という文字が頭をよぎります。しかし、汎用性の高いJavaができれば会社員として、フリーランスとして生涯仕事に従事することに期待できます。50代でも正社員として転職できた事例もあるみたいですよ。*

  • Web業界でデカイ仕事をしたい方に
    amazon.comやGitHub、Linkdin、LINEなど世界的に有名な企業のWebアプリに、Javaは使われています。

  • 起業したい方
    Progate代表の加藤さん*や㈱万葉 代表の大場さん*は、学生時分にJavaを学習されていました。最終的なプロダクトがJavaでなかったとしても、その経験は評価されています。

  • アプリを開発したい方
    Androidアプリをはじめ、iOSアプリ*もJavaで開発することができます。オリジナルのアプリを作りたい方、アプリで一攫千金したい方におすすめです。 CodeCampでもJava基礎コースアプリマスターコースなどでJavaを学習することができます。

Java の書き方

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

■例■ 現在時間を取得するプログラム ファイル名:Get_Time.jsp

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

他には変数宣言として、<%!  %> があります。

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

 

Java の基本構文

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

ファイル名:java_if_else.java

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

■結果■ image

ファイル名:java_if_else_3kou.java

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

■結果■ image

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

インストール方法

【Windows版 Java SEインストールの参考動画】 Windows、Mac、Linuxでも、Javaソフトをインストールする必要があります。 たくさんあるJavaソフトの中から標準的に利用される Java SE をダウンロードする方法を紹介します。

Java SEの公式サイト

公式サイトにアクセス、利用規約に同意し、自分のOSにあったJava SEを選択してダウンロードします。

image

■Windowsの方■
Windowsの場合は、Java SEのインストールが完了したらパスを追加しておきましょう。

  1. コントロールパネルを開いて、右上にある検索枠に『システム環境変数』 と入力し、システム環境変数の編集をクリック。そしてプロパティ枠右下の環境変数をクリックします。 image

  2. そして下段システム環境変数の枠内にあるPathをクリックして、編集をクリックします。 image

  3. 新規をクリックして  C:\Program Files\Java\jdk1.8.0_131\bin と入力し、OKをクリックします。 これでパスの設定は完了です。 image

実際にJavaがインストールサれているかチェックしてみましょう。 コマンドもしくはターミナルを起動して、

javac -version
java -version

を実行します。

javaのバージョン名が出力されればJavaが動いていることが分かります。 image

■Macの方■
【MacのOSが最新版でない場合】
Sierraではなく、El CapitanやYosemiteなどちょっと前のOSを使っておられる方は、公式のJava SE以外に Java for OS Xをインストールする必要があります。
Java for OS Xの公式サイト

注意 !!
Java公式サイトトップのダウンロードからソフトをダウンロードすると、コンパイル済みのJavaしか実行できません。プログラミングしてJavaを実行する上では、コンパイルが必須なので、パッケージ化されたJava SEをダウンロードする必要があります。

■このような画面からJavaをインストールしてもプログラミングできません■ image

アップデートの方法

Windows、Macの場合は、基本的にアップデートは自動的に行われます。 Javaの設定状況を確認するとアップデートが自動的に行われるかチェックすることができます。

■Windows10の場合■ image

■Macの場合■ image

■Linux(Ubuntu)の場合■
ターミナルから以下のコマンドを打つと更新されます。

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

Javaの資格

image 国内で運営されていますJavaの資格をご紹介します。 資格があると、就転職に活かせるだけでなく、フリーランスとしても箔が付きますね。

  • Java SE 8 認定資格
    Java資格の鉄板系で、一番人気の資格です。Javaを運営・管理するオラクル社が運営していることもあり、社会的信頼度も高く、Javaプログラマーとしては目標としたい資格といえるのではないでしょうか? 尚、Java SE 8 認定資格には3つのランクがあります。 image

  • Android™技術者認定試験
    2010年から運営されている試験制度で、Android開発を対象としたJavaの資格です。 運営は、一般社団法人Open Embedded Software Foundationが行っております。

  • Java™プログラミング能力認定試験
    こちらは30年以上資格運営の実績があるサーティファイ社が運営するJavaの資格です。Java資格については累計で44,000人以上の方がチャレンジし、合格率は 65%となっています。

  • セールスフォース認定制度
    Java特化の資格ではありませんが、セールスフォース社が運営する資格にJavaが盛り込まれています。indeedを見ると、セールスフォース資格ホルダー優遇など就転職に役立つ資格となります。
    ●セールスフォース社●アメリカで最も価値のあるクラウドコンピューティング企業として知られています。

  • paiza
    こちらは資格ではありませんが、就転職に活かせる材料なのでご紹介します。 paizaが用意しているテストをクリアするとその実績が自分のアカウントに付与されて、IT企業からオファーがくることに期待できます。

Javaの学習方法

ここではJavaの学習方法としてベストセラーになっている本を2冊紹介します。

スッキリわかるJava入門 第2版

image

  • 料金:¥2,600+税

  • 著:中山 清喬・国本 大悟

  • インプレスブックス

インプレスブックスの書籍紹介ページ

Javaプログラミングの「なぜ?」がわかる解説と約300点の豊富なイラストで、楽しく・詳しく・スッキリとマスターできる構成です。特にプログラミング学習でネックとなりがちな「開発環境の準備」と「多発するエラーへの対応」についてはこの本独自の特典が。ブラウザ上でコーディング、コンパイル、実行ができる仮想開発環境「dokojava」を用意、エラー対応には巻末付録の「虎の巻」が用意されています。

Amazonではベストセラー1位となることがしばしばある本です。さらにステップアップしたい人に向けて、「スッキリわかる Java入門 実践編」という関連書籍もあります。

やさしいJava 第6版

image

  • 料金:2580円+税

  • 著:高橋 麻奈

  • 出版 SBクリエイティブ

SBクリエイティブの書籍紹介ページ

Java入門書のベストセラー第6版。Java 8に対応。Javaプログラミングの基礎の一つ一つを丁寧に解説。基本文法からクラス、オブジェクト指向まで、しっかりと理解できる構成で、無理なく読み進められる書籍です。

著者の高橋 麻奈さんは「やさしい〇〇」シリーズを数多く手がけてこられた方。実用的なプログラム作りに必須となる基礎知識を網羅した、「やさしいJava 活用編 第5版」もあります。この本が物足りなくなったら、次の本にいいでしょう。

本で学習に困った時には

本や無料サイトの学習で行き詰まった時は、有料サービスを試すというのも1つの手です。しかしいきなり数十万も払う覚悟は難しいですよね。

そんな方のためにCodeCampでは無料体験を実施しています。これからJavaを学びたい方、行き詰った方は最終的にどの勉強法を続けるかは別として試してみると良いでしょう。

参考程度にJavaマスターコースもご用意してあります。

まとめ

いかがでしたでしょうか?Javaってなんだか高度なプログラミング言語って思っていた方、Android Studio をインストールしたものの意味不明のコードで開発をやめた方、改めて Java いかがでしょうか?

以前は Java 開発というと Eclipse や Android Studio が有名でしたが、今は Microsoft Azure BlueJ など初心者でも使いやすそうなツールがリリースされています。

image

オシママサラ
ライター
オシママサラ

関連記事