Java言語入門 ~C言語を学んだ君へ~
C言語を学んだ方へ贈るJava言語の学習コンテンツです。学習の進行に応じた練習問題、演習問題があります。
[第1回]Javaとは何か
ほぷしぃのPC特集技術Java言語入門 ~C言語を学んだ君へ~へようこそ。当コンテンツはC言語を学んだ人がC言語で培った知識を利用し、Javaを学習するという目的で作成としたコンテンツです。そのため、このコンテンツは「C言語を入門書1冊分」を学んだ人向けに作成しました。C言語を全く知らないとかなり厳しい内容となっています。C言語を学んでいない方は、ほぷしぃの納得C言語をご覧ください。 目次 [1]...
[第2回]Javaの設定
第2回では、実際にJava言語を学習するための準備を行っていきます。C言語でコンパイラの設定を行いました。人それぞれ環境は違うと思いますが、Borland、VC++等を使ったと思います。Javaでも実行するためにはJava用のコンパイラが必要です。その準備をこれからしていきましょう。 目次 [1] Java(JDK 1.4.2)のダウンロード [2] Java(JDK 1.4.2)のインストール ...
[第3回]Javaを使ってみよう
これから実際にJavaのプログラムを書いていくのですが、その前に準備があります。Eclipseを使っていくので、プロジェクトの作成をしたりする必要があります。 目次 [1] プロジェクトを作る [2] ソースファイルを作る [3] ソースを書いて実行 [4] Javaを実行してみよう [5] エラーが出たら? [6] Javaプログラムの解説 [7] C言語とJavaの比較 [8] Javaプログ...
[第4回]変数と演算と配列と
第4回では、プログラムの基礎知識について学びます。 プログラムの基礎知識とは・・・ 変数、データ型、配列、文字列、エスケープ文字、各種演算子、キャストについてです。 C言語を学んできたみなさんは変数とか配列とか演算とか分かっていると思います。 そのため、この回ではC言語と比較してJavaでできるようになったことをメインに紹介します。 [1] 変数 [2] 文字列 [3] 変数の表示 [4] 配列...
[第5回]繰り返し処理と分岐処理
繰り返し処理と分岐処理について学びます。C言語で知った知識がJavaで活用することができます。 しつこいですが、Javaで変更になった点と新しく出来る点に気をつけて進めていきましょう。 目次 [1] for文 [2] while文 [3] boolean型 [4] if文 [5] switch文 [6] break文とcontinue文 [7] 練習問題 第1問 [8] 第1問解答 [9] 練習問...
[第6回]演習問題Ⅰ
第6回は、第3回~第5回まで学習した内容を元に演習問題を解いてもらいます。もしわからない場合には、前のページに戻り必要な情報を調べてください。調べるのも勉強の1つです。 目次 [1] 演習問題Ⅰ 第1問 [2] 第1問解答 [3] 演習問題Ⅰ 第2問 [4] 第2問解答 [5] 演習問題Ⅰ 第3問 [6] 第3問解答 [1]演習問題Ⅰ 第1問 以下の指示に従ってプログラムを作成しなさい。なおファイ...
[第7回]オブジェクト指向プログラミング
オブジェクト指向の考え方は重要であり、この回からが本格的なJavaの学習です。C言語にはなかった、新しい要素であるオブジェクト指向を学びましょう。これを学んでいくことにより、C言語にはない新しい世界が開けます。オブジェクト指向を理解して、Javaプログラミングができるようになりましょう。 目次 [1] オブジェクト指向プログラミングとは [2] オブジェクト指向プログラミングの利点 [3] オブジ...
[第8回]クラス
いよいよクラスについて学習します。ここからC言語にはなかった新しい用語が数多く出てきます。最初からすべて覚えることは大変でしょうが、頑張って進めていきましょう。 目次 [1] クラスとは [2] クラスを構成する要素 [3] クラスの作成 [4] オブジェクト生成 [5] カプセル化 [6] Humanクラスの問題点を改善 [7] アクセス修飾子 [8] カプセル化を適応したHumanクラス [9...
[第9回]継承
継承はオブジェクト指向における重要な概念の1つです。ここでしっかり基礎を覚えてください。 目次 [1] 継承とは [2] コンストラクタの呼び出し [3] オーバーライド [4] final [5] 継承とアクセス修飾子 [6] オブジェクトのキャスト [7] 継承とポリモーフィズム [8] 抽象クラスと抽象メソッド [9] Objectクラス [10] UML [11] 練習問題 第1問 [1...
[第10回] インタフェース
今まで継承をメインに進めてきましたが、継承だけではどうしても駄目な点がありました。そう、多重継承(class A extends B, C等)ができない点です。その多重継承を解決するために用意されているものが、これから説明するインタフェースなのです。この継承に似ているインタフェースがどういうもので、どのような機能があるか、どんな時に使うのかを覚えてください。 目次 [1] インタフェースの基本 [...
[第11回]パッケージ
パッケージと聞いたら、お店に売っている商品のパッケージを思い浮かべます。では、Javaのパッケージとはいったいなんのことでしょうか。 [1] パッケージとは [2] ファイルの分割 [3] アクセス修飾子 [4] パッケージのプログラム [5] Eclipseを使ってパッケージを作成 [6] パッケージの作成手順 [7] プログラムの記述 [8] パッケージの階層構造 [9] インポート [10]...
[第12回]演習問題Ⅱ
第7~第11回で学習した内容をメインに演習問題を解いてもらいます。もしわからない場合には、前のページに戻り必要な情報を調べてください。調べるのも勉強の1つです。 演習問題Ⅱ 以下の指示に従ってプログラムを作成しなさい。なお、ファイル名は「Ex12_01.java」とし、すべて1つのファイルで作成する。 プログラムを作成するにあたっての注意点 1.プログラムで使うインタフェースは上の画像の通りである...
[第13回]例外処理
Javaは、異常事態を2つの種類に分けて扱います。その異常事態とは「エラー」と「例外」です。何か似ている2つの言葉ですが、何が違うのか見ていきましょう。 目次 [1]Javaから見たエラーと例外 [2] 例外処理に関する用語 [3] 例外処理の基本 try-catch-finally [4] 複数書いた場合の try-catch-finally [5] 意図的に例外を発生する throw [6] ...
[第14回]マルチスレッド
この回ではマルチスレッドについて学習しましょう。 目次 [1] マルチスレッドとは [2] マルチスレッドの方法1 Threadクラス [3] マルチスレッドの方法2 Runnableインタフェース [4] ThreadとRunnableの使い分け [5] 排他制御 [6] メソッド(synchronized) [7] 文(synchronized) [8] マルチスレッドの注意点 [9] 練習問...
[第15回]クラスライブラリ
今までクラスを作成したり、継承したりしてきました。ところで、Thread等、実際に作らずに使っていたクラスがありました。これは、Javaで準備されているクラス群です。その名をクラスライブラリといいます。 目次 [1] クラスライブラリとは [2] クラスライブラリの種類 [3] Mathクラス [4] Randomクラス [5] ラッパークラス [6] まだまだあるぞ、クラスライブラリ [1] ク...
[第16回]入出力
Javaでの入出力を行うための基礎を説明します。 目次 [1] 入出力の基礎知識 [2] コンソール入力 [3] ファイル入出力 [4] データ解析 [5] 練習問題 第1問 [6] 第1問解答 [7] 練習問題 第2問 [8] 第2問解答 [1] 入出力の基礎知識 Javaで入出力を行うにはストリームを使います。ストリームとは「データの流れ」を表す抽象的な概念です。ストリームを使用する目的は、異...
[第17回]Javaアプリ
ここまでで基本的なJavaプログラムの学習が終わりました。ここでは、補足程度でJavaのその他の機能についてやります。それは、ウィンドウアプリケーション、アプレットの2種類です。基本的なことを説明するだけなので軽く流す程度で構いません。 目次 [1] ウィンドウアプリケーション [2] アプレット [1] ウィンドウアプリケーション Javaでは、ウィンドウアプリケーションも比較的簡単に作成するこ...
[第18回]演習問題Ⅲ
この回がJava言語の最後になります。学習したすべての内容を元に演習問題を解いてもらいます。もしわからない場合には、前のページに戻り必要な情報を調べてください。調べるのも勉強の1つです。 演習問題 第1問 まず、可変長のint型配列を実現するMyVectorクラスを作成しなさい。クラスとコンストラクタとメソッドは次の条件を満たしなさい。 クラス クラス:public class MyVectorフ...