chevron_left

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

cancel
未来エンジニア養成所Blog https://phoeducation.work/

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

まつい@未来エンジニア養成所
フォロー
住所
未設定
出身
未設定
ブログ村参加

2021/02/27

arrow_drop_down
  • 【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オブジェクトに変換する…

  • draw.io

    draw.ioとは draw.ioとは、無料で利用できるドローイングができるWebアプリのことです。 会員登録も不要で、商用利用に制限もありません。 ブラウザを起動後、draw.ioを開くだけですぐに利用できます。 パソコンだけではなく、スマホやタブレットからも利用できます。 本格的なドローイングが、パーツをドラッグ&ドロップするだけで簡単に作図できます。 app.diagrams.net 独学で挫折しそうになったら、オンラインプログラミングスクール (adsbygoogle = window.adsbygoogle []).push({});

  • 【Bubble/ノーコード】別のページに移動する

    クリックすると別のページに移動する クリックすると別のページに移動するワークフローを作ってみましょう。 まずは下記のように「Textエレメント」を作成します。 文字、形、色などは何でもOKです。 次に移動先のページを作ります。 画面左上にある「Page 〜」の「▼」をクリックします。 「Add a new page ...」を選択して新しいページを作ります。 今回は「Page name」を「second」として、「Clone from」はなしで作成します。 「CREATE」をクリックすると新しいページが作成でき、ページが「second」になります。 ページが変わったことをわかりやすくするために…

  • 【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つのクラスと考えます。これらクラスやインターフェースを整理する方法がパッケージです。 例えば、会社内で顧客管理や販売管理といった営業業務にかかわるプログラムと社内の社内人事の勤怠管理を扱うプログラムがあったとします。 これらがごちゃごちゃあると煩雑になりますね。 これらを営業用のパッケ…

  • CommentScreen

    CommentScreenとは CommentScreen(コメントスクリーン)とは、ZoomやGoogle Meet、Microsoft Teamsなどを利用したオンライン会議の共有画面に、参加者のコメントやリアクション(いいね!)を、ニコニコ動画のように表示できるアプリのことです。 commentscreen.com 参加者は、投稿画面からパソコンやスマートフォンを利用して、コメントやリアクションを簡単に投稿できます。主催者は、会議中にアンケートを取り、参加者が投票した結果を、共有画面上に円グラフや棒グラフで表示することもできます。 ただのオンライン講義より盛り上がりがあり、参加者も楽しく…

  • 【Bubble/ノーコード】ボタンを押した時のアクション

    ボタンを押した時に指定のアクションをする ボタンを押した時に指定したアクションが起きるようにしてみます。 まずは「Textエレメント」と「Buttonエレメント」を下記のように配置します。 次に、ボタンが押されたら「Textエレメント」が消えるようにワークフローを設定します。 「Buttonエレメント」のプロパティーを開いて、「Start/Edit workflow」を選択します。 Workflowタブに移動すると下記のように表示されています。 「When 〜」の部分は、いつ起こすアクションかを指定しています。 今回は「ボタンをクリックした時」となります。 「ボタンをクリックした時」に何のアク…

  • 【Java】静的メンバ

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

  • 【Java】内部クラス Part2

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

  • 【Java】内部クラス Part1

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

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

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

  • 【Java】抽象クラス

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

  • 仮想空間での会議

    Teamsが仮想空間でアバター会議 Microsoftは、2021年11月3日(日本時間)に、オンライン会議にアバターで参加できる仮想空間Mesh for Microsoft Teamsを、2022年上半期に公開することを発表しました。 news.microsoft.com メタバースを利用することで、アバターを介して仮想空間内で会議や共同作業ができるようですね。 作成したアバターは、オンライン会議(Teams)で利用できるため、服装を気にせず、気軽に参加できるようです。 これからの主流になってくるでしょうか。 メタバースとは メタバースとは、インターネット上の三次元仮想世界のことで、メタ((…

  • 【bubble/ノーコード】エレメントを確認してみよう Part4

    前回までは「Design」タブの中にある「Visual elements」と「Containers」、「Input forms」について紹介しました。 phoeducation.work phoeducation.work phoeducation.work 今回は「Elements tree」について紹介します。 ここでは各エレメントの親子関係などを一覧で確認することができます。 「Group グループ(親)」に「Text テキスト(子)」+「Button ボタン(子)」+「Icon アイコン(子)」+「Alert アラート(子)」が入っていることを表しています。 親である「Group グル…

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

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

  • 【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 …

  • 【Java】継承 Part2

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

  • 【Java】継承 Part1

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

  • 天職へたどり着いた まついのプロフィール

    私は、プログラミングが好きでありながら、 プログラマーとしては成功せず鬱になりかけました。 そこから「プログラミング講師」という天職を手に入れ、 毎日仕事が楽しくてたまらない、まついのプロフィールです。 phoeducation.work

  • 【bubble/ノーコード】エレメントを確認してみよう Part3

    前回までは「Design」タブの中にある「Visual elements」と「Containers」について紹介しました。 phoeducation.work phoeducation.work 今回は「Input forms」について紹介します。 ユーザーに何か入力してもらう、ユーザーに何かを選択してもらうといった時に使用するエレメントです。 Input 1行のみの入力をしてもらう時に使用します。 また、Inputエレメントの「Content format」で入力形式を指定することも可能です。 例えば「ユーザー名」を入力させる場合であれば「Text」で良いでしょう。 他にも「メールアドレス」…

  • 【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】アクセス制御

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

arrow_drop_down

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

ハンドル名
まつい@未来エンジニア養成所さん
ブログタイトル
未来エンジニア養成所Blog
フォロー
未来エンジニア養成所Blog

にほんブログ村 カテゴリー一覧

商用