searchカテゴリー選択
chevron_left

カテゴリーを選択しなおす

カテゴリーのご意見・ご要望はこちら
cancel
プロフィール
PROFILE

まつい@未来エンジニア養成所さんのプロフィール

住所
未設定
出身
未設定

自由文未設定

ブログタイトル
未来エンジニア養成所Blog
ブログURL
https://phoeducation.work/
ブログ紹介文
プログラミングを皆に楽しんでもらうための情報をお届けします。 様々なプログラム言語やIT技術等について紹介していきます。知りたいことがあれば気軽にメールでもコメントでも質問していただきたいです。
更新頻度(1年)

54回 / 116日(平均3.3回/週)

ブログ村参加:2021/02/27

本日のランキング(IN)
フォロー

ブログリーダー」を活用して、まつい@未来エンジニア養成所さんをフォローしませんか?

ハンドル名
まつい@未来エンジニア養成所さん
ブログタイトル
未来エンジニア養成所Blog
更新頻度
54回 / 116日(平均3.3回/週)
フォロー
未来エンジニア養成所Blog

まつい@未来エンジニア養成所さんの新着記事

1件〜30件

  • 【Java】例外処理 Part3

    前回に引き続き例外処理の解説をします。 前回の記事はこちら phoeducation.work phoeducation.work 独自に例外クラスを作成する方法 メソッドのオーバーライドの注意点 まとめ 参考図書 あわせて学習したい 独自に例外クラスを作成する方法 これまでは例外が発生したときJavaに用意されている例外クラスに処理を任せていましたが、エラーが発生したときに独自の処理を行うこともできます。 独自の例外処理を行うには、具体的な例外処理を記述したオリジナルの例外クラスを作成します。 オリジナルの例外クラスを作成する手順は次の通りです。 Exceptionクラスを継承したオリジナル…

  • 【Java】例外処理 Part2

    前回に引き続き例外処理の解説をします。 前回の記事はこちら phoeducation.work 複数のcatchブロックの定義 マルチcatchブロックの定義 参考図書 あわせて学習したい 複数のcatchブロックの定義 try-catch構文を使って例外処理を記述する場合、例外処理を記述する部分であるcatchブロックを複数記述することが可能です。 その場合、最初のcatchブロックで受け取れない例外は次のcatchブロックで受け取ります。 もしどのcatchブロックでも受け取れない場合は、プログラムは例外処理を行うことができず、中断してしまいます。 catchブロックを複数記述する場合は、…

  • 【Java】例外処理 Part1

    例外処理とは 例外処理を行う方法 例外の種類 参考図書 あわせて学習したい 例外処理とは 例外とは、プログラム実行中に発生する予期せぬエラーのことです。 このエラーが発生することを「例外がスローされる」といいます。 スローとは英語でthrowと書きますが、まさにプログラムがエラーを「投げる」という意味です。 プログラミングする際、エラーが発生しないように注意深くプログラミングしなければなりません。 エラーが発生するとアプリケーションは強制終了してしまうからです。 しかし防ぎようがないエラーもあります。 一例ですがそれは物理的な問題などです。 ネットワークを利用したアプリケーションを動作させた際…

  • 【Java】アサーション

    アサーションとは アサーションを利用する場面 アサーションの不適切な使用例 まとめ 参考図書 あわせて学習したい アサーションとは プログラムには、3つのエラーがあります。 コンパイルエラー:文法チェック 実行エラー:実際に実行した時に発生するエラー(実行時例外) 論理エラー:プログラムのコンパイルや実行はできるが、プログラマの意図した結果にならないもの アサーションとは、プログラマがプログラム完成後には決して起こってはならない論理エラーを、開発中にあらかじめチェックする機能です。 例えば、日付の月フィールドに1から12以外のデータが入ってしまった、年齢フィールドにマイナスデータが入ってしまっ…

  • 【Java】列挙型

    独学で挫折しそうになったら、オンラインプログラミングスクール 列挙型 列挙型の利用 まとめ 参考図書 あわせて学習したい 列挙型 列挙型はJDK5から追加された機能で、特定の値のみ持つクラスです。 クラスですから参照型となります。 通常、定数はfinal修飾子を付けた単独の変数ですが、これを使用することにより複数の定数をまとめて管理することができます。 定数以外のインスタンスを作成できないので、誤って異なる値が入る可能性がありません。 クラスやインターフェースと同様に単独で定義することもできれば、クラス内にメンバとして定義することも可能です。 ただしメソッド内にローカルインナークラスのように定…

  • 【Java】java.util.ArrayListクラス

    配列とArrayListの違い java.util.ArrayListの利用 ジェネリックス ダイアモンド演算子 まとめ 参考図書 あわせて学習したい 配列とArrayListの違い これまで値を保管しておきたいという場合に、1つの値だけを保管したいときは変数を、1つの名前で複数の値を保管したいときは、配列を使用してきました。 例えば次のような配列があったとします。 int[] i = new int[3]; この配列には、たとえi[0]を使用しなくても必ず3つ分の領域が格納されます。 そして要素範囲外のi[3]にアクセスすると実行時エラーが発生します。 配列は一度作成されると、要素数を増やし…

  • 【Java】ラッパークラス Part2

    前回に引き続きラッパークラスを解説します。 phoeducation.work ラッパークラスのメソッド ラッパークラスのequals()メソッド autoboxing/unboxing機能 まとめ 参考図書 あわせて学習したい ラッパークラスのメソッド ラッパークラスのコンストラクタを使ってラッパークラスのオブジェクトを作成する以外に、ラッパークラスには基本データ型やString型をラッパークラスのオブジェクトに変換するメソッドが用意されています。 また逆にラッパークラスオブジェクトを基本データ型に変換するメソッドも用意されています。 引数に指定された値をIntegerオブジェクトに変換する…

  • 【Java】ラッパークラス Part1

    ラッパークラスとは 基本データ型とラッパークラス ラッパークラスのコンストラクタ 参考図書 あわせて学習したい ラッパークラスとは int型やdouble型といった基本データ型は、その値そのものを表現しているだけで、動作を定義するメソッドを持っていません。 文字列で表現されている数値をint型に変換したり、その逆だったりと、基本データ型に対しても処理を行いたい場合があります。 例えば、コマンドライン引数でユーザーから値を取得したとしましょう。 コマンドライン引数はmain()メソッドの引数として定義されたString型の配列変数argsに格納されます。 受け取った値はString型とみなされる…

  • 【Java】ガベージコレクション

    ガベージコレクション機能 オブジェクトをガベージコレクションの対象とする finalize()メソッド まとめ 参考図書 あわせて学習したい ガベージコレクション機能 ガベージコレクションとは、Javaのメモリ管理を自動的に行ってくれるもので、外部からの参照がなくなったオブジェクトをJavaVMが削除してくれる機能です。 C言語などは使ったメモリを解放するために、明示的にプログラムを書く必要があります。 このメモリの解放処理を忘れると、使用可能なメモリ領域が少なくなり、システムが止まってしまうことがあります。 Javaではこのメモリ管理をガベージコレクションが自動的に行ってくれるため、プログラ…

  • 【Java】基本パッケージ Part2

    前回に引き続き基本(java.lang)パッケージにあるStringクラスや、Objectクラスについて解説します。 前回の記事はこちら phoeducation.work Stringクラスのインスタンス化 Objectクラスのequals()メソッド Stringクラスのequals()メソッド まとめ 参考図書 あわせて学習したい Stringクラスのインスタンス化 Stfingクラスのインスタンス化には2通りの方法があります。 インスタンス化の方法によってメモリ上のインスタンスの保管場所が異なります。 newキーワードを使ってインスタンス化した場合は、newされるたびに1つずつインスタ…

  • 【Java】基本パッケージ Part1

    java.langパッケージとObjectクラス Stringクラス StringBufferクラス 参考図書 あわせて学習したい java.langパッケージとObjectクラス 前の記事ででパッケージを解説しましたが、今まで使用してきたStringクラスは完全修飾名も使っていませんし、import文もありませんでした。 Stringクラスはjava.langパッケージのクラスです。 このjava.langパッケージはJavaプログラム言語の設計にあたり基本的なクラスを持ちます。 ObjectクラスやSystemクラスもこのパッケージに属します。 非常によく使用する重要なクラスが多いため、こ…

  • 【Java】パッケージ宣言とインポート

    パッケージの利用 パッケージの作成 staticインポート まとめ 参考図書 あわせて学習したい パッケージの利用 Javaではプログラムをクラスという単位で扱うので、クラスの管理をしっかりしておく必要があります。 多くのクラスを使用しやすくするためには、目的ごとに整理して管理しておきます。 インターフェースも1つのクラスと考えます。これらクラスやインターフェースを整理する方法がパッケージです。 例えば、会社内で顧客管理や販売管理といった営業業務にかかわるプログラムと社内の社内人事の勤怠管理を扱うプログラムがあったとします。 これらがごちゃごちゃあると煩雑になりますね。 これらを営業用のパッケ…

  • 【Java】静的メンバ

    インスタンスメンバとstaticメンバ staticメンバからインスタンスメンバへのアクセス staticイニシャライザ まとめ 参考図書 あわせて学習したい インスタンスメンバとstaticメンバ これまで見てきたフィールドやメソッドは、static修飾子がついていないメンバです。 これらはインスタンスフィールドおよびインスタンスメソッドとよばれ、newキーワードを使用してクラスからインスタンス化されたインスタンス(オブジェクト)ごとに生成されます。 インスタンスはメモリ上のヒープ領域という場所に格納されます。 一方、フィールドやメソッドに、staticという修飾子を付けるとstatic(静…

  • 【Java】内部クラス Part2

    前回に引き続き、内部クラスについて解説します。 前回の記事はこちら phoeducation.work メンバーインナークラス ローカルインナークラス 無名インナークラス まとめ 参考図書 あわせて学習したい メンバーインナークラス メンバーインナークラスはクラスのメンバとして定義されたクラスです。 クラスにはこれまで見てきたようにフィールドやメソッドがありますが、それらと同じようにクラスの一つ内側(mainメソッドや他のブロックの外側)に定義します。 アクセス方法はインスタンスを作成する場所によって異なります。 外側のクラス内でインスタンス化する場合と他のクラスでインナークラスのインスタンス…

  • 【Java】内部クラス Part1

    内部クラスとは ネストクラス 参考図書 内部クラスとは 内部クラスとは、クラスの中に定義されたクラスのことを指します。 内部クラスを利用することで、クラス間の関係がわかりやすくなり、ソースコードがシンプルになり、可読性が増します。 また、使用場所を限定し、その存在を外部から隠したい場合にも使用します。 内部クラスの必要性 ここでMyObj クラスがMain以外のクラスからは使われないとします。 すると、少し不便なことが出てきます。 もし他にMyObjというクラスを作りたい場合、クラス名がすでに使われているため作成することが出来ません。 それは片方のMyObj.classによってもう片方のMyO…

  • 【Java】インターフェース

    インターフェース インターフェースの継承 まとめ 参考図書 インターフェース 前回では抽象クラスの解説をおこないました。 その抽象クラスのさらに特殊なものが「インターフェース」です。 インターフェースは「interface」キーワードを利用して宣言します。 以下がインターフェースの例です。 public interface Vehicle{ public void start( ); public void stop( ); } これは「乗り物」を表すクラスですが、何の機能も実装されていません。 インターフェース内のメソッドは抽象クラスの抽象メソッドと同じです。 ただ抽象クラスは抽象メソッド以…

  • 【Java】抽象クラス

    インスタンスを生成しないクラス 抽象メソッドと抽象クラス 特化と汎化 まとめ 参考図書 インスタンスを生成しないクラス ポリモーフィズムを使うことにはさまざまな利点があります。 例えば以下のような状況を考えてみましょう。 犬クラスと猫クラスがあり、それぞれ「鳴く」という機能bark( )メソッドがあります。 動物であることは一緒なのでAnimalクラスを作りました。 これでポリモーフィズムを用いて一緒に扱えます。 さっそく次のコードで確認してみましょう。 【インスタンスを生成しないクラス】 Animalクラス public class Animal{ public void bark( ){ …

  • 【Java】ポリモーフィズム

    ポリモーフィズムとは オブジェクトのキャスト メソッドの動的結合 まとめ 参考図書 ポリモーフィズムとは 前までの記事で扱ってきたSalarymanクラスはHumanクラスを継承していました。 当然、Humanクラスの機能をすべて持っています。 そのため、Salarymanクラスで新たに定義したメンバや、Salarymanクラスであることを無視してHumanクラスのオブジェクトとして扱うこともできます。 例えば、以下のような書き方ができます。 Human taro = new Salaryman( ); これは「SalarymanのインスタンスをHumanとして扱う」ということです。 newが…

  • 【Java】メソッドのオーバーライド

    メソッドのオーバーライド オーバーライドされたメソッドの呼び出し 継承とfinal まとめ 参考図書 あわせて学習したい メソッドのオーバーライド 継承をすると、スーパークラスのメンバをすべて利用することができます。 privateの場合は直接アクセスできませんが、メンバとして持ってはいます。 ここで、スーパークラスが持っているメソッドと同じ名前のメソッドを記述できるでしょうか? 例えば、前回書いたサンプルのクラスSalarymanにselfIntroduce( )というメソッドを記述するとどうなるでしょうか。 結論を言うと、同じ名前、引数のメソッドでもクラスが違えば定義することができます。 …

  • 【Java】継承 Part3

    継承について2回にわたって解説しました。 phoeducation.work phoeducation.work 今回は最終回です。 継承時のコンストラクタ まとめ 参考図書 あわせて学習したい 継承時のコンストラクタ 前回のプログラムを再度見てみましょう。 public class Human{ private String name; private int age; private double height; public Human( ){ System.out.println("引数なしコンストラクタが呼ばれました!"); } public Human(String n, int …

  • 「プログラムはなぜ動くのか」をよもう!

    「プログラムはなぜ動くのか」について どんなことが書いてあるか 第1章 プログラマにとってCPUとはなにか 第2章 データを2進数でイメージしよう 第3章 コンピュータが小数点数の計算を間違える理由 第4章 四角いメモリーを丸く使う 第5章 メモリーとディスクの親密な関係 第6章 自分でデータを圧縮してみよう 第7章 プログラムはどんな環境で動くのか 第8章 ソース・ファイルから実行可能ファイルができるまで 第9章 OSとアプリケーションの関係 第10章 アセンブリ言語からプログラムの本当の姿を知る 第11章 ハードウエアを制御する方法 第12章 コンピュータに「学習」をさせるには まとめ 「…

  • 【Java】継承 Part2

    前回に続いて「継承」について解説します。 phoeducation.work 継承関係におけるメンバアクセス クラス間の関係 参考図書 あわせて学習したい 継承関係におけるメンバアクセス protectedアクセス指定 スーパークラスはサブクラスの情報を知る必要はありませんし、利用することもできません。 逆に、サブクラスではスーパークラスのメンバをすべて持っている、と考えられます。 しかし、持っていてもアクセスできないメンバもあります。 privateなメンバは「そのクラス内のみ」に有効なので、たとえSalarymanがHumanクラスを継承していても、Humanクラスのprivateなフィー…

  • 【Java】継承 Part1

    なぜ継承が必要なのか 継承とは 参考図書 あわせて学習したい なぜ継承が必要なのか ここまではクラスの使い方を学びました。 例えばHumanクラスというものを使用していましたが、場合によってはこのクラスをちょっと改良したい、という場合があります。 Humanクラスの機能は使えるので問題ないが、もう少し機能が欲しいという感じです。 例えば、Salarymanというクラスが欲しかったとします。 【継承を使わない例】 Humanクラス public class Human{ private String name; private int age; private double height; pu…

  • 簡単に「論理的思考」を身につける

    論理的思考を身に付けよう 覚えるのはただひとつ 流れを省略しないで まとめ 論理的思考を身に付けよう 論理的思考はなぜ必要なのでしょうか? 最近ではプログラミングの学習が小学校から必須科目になるなど、これも論理的思考を身に付けるための学習ですね。 仕事において論理的思考が必要になるのは「相手を納得させるため」です。(決して「相手を論破する」ためではありませんよ。) 相手を納得させるためには、いわゆる「ロジカルシンキング」とか「MECE」とか「ロジックツリー」とかの難しいことがありますが、ここでは一切触れません。 気になる方は別途学習してみてくださいね。 覚えるのはただひとつ ここで覚えて欲しい…

  • 【Java】参照型 Part 2

    前回に引き続き参照型のなかでも、配列について確認していきます。 前回の記事はこちら。 phoeducation.work 配列の正体 多次元配列 コマンドライン引数 まとめ 参考図書 あわせて学習したい 配列の正体 配列は一つの変数名で複数のデータを管理する仕組みでしたね。 実は、配列の正体はオブジェクトなのです。 言い換えると、配列は参照型です。 紛らわしいことに、配列の要素は普通の変数でも参照型でも構いません。 【配列】 public class ArraySample01{ public static void main(String[ ] args){ int[ ] a = new i…

  • 【Java】参照型 Part 1

    参照型変数とは 参照型変数の特性 まとめ 参考図書 あわせて学習したい 参照型変数とは 変数宣言しただけのオブジェクトはインスタンスを持ちません。 newによってインスタンス化してはじめてデータを扱うことができます。 では、宣言した変数はいったい何を意味するのでしょうか? これは「参照型変数」と言い、インスタンスのアドレス(場所)を格納しています。 【参照型変数の値の確認】 public class Sample2{ public static void main(String[ ] args){ SomeObject obj1 = new SomeObject( ); System.out.…

  • 【Java】コンストラクタ

    オブジェクトの初期化とコンストラクタ コンストラクタの利用 1 コンストラクタの利用 2 デフォルトコンストラクタ まとめ 参考図書 あわせて学習したい オブジェクトの初期化とコンストラクタ 「カプセル化」では、クラスにゲッターとセッターを実装することを学びました。 phoeducation.work これによりprivateにしたフィールドでも他のクラスから値を与えることができます。 しかし、もしフィールドがたくさん、例えば100個あったらどうしましょうか? オブジェクトを1つ作るたびにセッターを100回呼ばなければなりません。 値を設定しなければ自動的にデフォルトの引数が設定されますが、i…

  • 【Java】カプセル化

    カプセル化 まとめ 参考図書 あわせて学習したい カプセル化 情報隠蔽をすることによって、「このオブジェクトの中身がいったいどういうことをやっているのかは知らないが、頼んだことは実行してくれる」ということを実現できます。 これを「カプセル化」といいます。 従来の手続き型言語などとの最大の違いは、このカプセル化ができることです。 オブジェクトは「機能」と「データ」をカプセル化した独立した部品で、メッセージを送りあうことによって相互に動作します。 クラスのフィールドは、基本的にはprivateにします。 そのため、クラス外から利用したいときにはアクセスするためのメソッドが必要です。 カプセル化を実…

  • 【Java】アクセス制御

    アクセス修飾子 責任とメッセージ まとめ 参考図書 あわせて学習したい アクセス修飾子 「クラスの作成」で、オブジェクトのフィールドにアクセスした場合とメソッドにアクセスした場合、両方のパターンを見ました。 どちらも可能だったわけですが、オブジェクトの情報であるフィールドに他のオブジェクトから直接アクセスするのは作り方として良くない、とされています。 なぜ、直接フィールドにアクセスするのが良くないのかといいますと、部品の中身(どのような名前の変数があり、データ型が何か、など)を知らないと使えないからです。 これでは部品化した意味がありません。 部品の中身を変更したら、部品を使用している側も変更…

  • 【Java】クラスの作成

    前回はオブジェクト指向について、クラスの使い方について解説しました。 phoeducation.work 今回は自身でクラスを作成する方法について解説します。 フィールドのみのクラス作成 フィールドとメソッドを持つクラス作成 まとめ 参考図書 あわせて学習したい フィールドのみのクラス作成 それでは、今度は自分でクラスを作ってみましょう。 クラスにはいろいろな「メンバ」(要素のこと)を入れることができるのですが、まずは「フィールド」を使用してみます。 フィールドには、今までの変数を使用できます。intやcharなどの変数は非常に単純なので、これらのデータをいくつかまとめた大きなデータを作ること…

カテゴリー一覧
商用

フォローできる上限に達しました。

新規登録/ログインすることで
フォロー上限を増やすことができます。

フォローしました

リーダーで読む

フォロー
clear この画面を閉じる

フォローしてブログ村リーダーで
このブログをチェック!

未来エンジニア養成所Blog

プログラミングを皆に楽しんでもらうための情報をお届けします。 様々なプログラム言語やIT技術等について紹介していきます。知りたいことがあれば気軽にメールでもコメントでも質問していただきたいです。

フォロー