분류 전체보기 (56) 썸네일형 리스트형 プログラミング自主学習 23日目 変数 今まではYoutube '생활코딩’を通して、とても浅く、ざっくりでJavaを勉強してみた。 次は、800pの本より、知識を深まりより様々な例を書き打つしつつ、基本を充実にする。 新しく習得した知識 1章 Javaスタート ・Eclipseのworkspaceが作成されるにつれ、.metadataフォルダーも自動的に作成される。 workspaceでのオプションが記録されるフォルダーであり、Eclipseを初期設定に戻したい場合は、 そのworkspaceの.metadataフォルダーを削除すればいい。 ・他のworkspaceを呼び出したい場合、File->Switch Workspaceを通して、簡単に変更できる。 ・クラスファイル名は必ずキャピタルレターにする。 2章 変数 ・変数とは一つの値を保存できるメモリ空間のことである。 ・変数の名前はメモリアドレスの名前でもあるため、プ.. プログラミング自主学習 22日目 1日12コミット 1日12コミット まだ、Youtubeからの浅い知識とコード作成経験が足りないため、11時間がかかってしまった。 効率の向上のため、コーディングテストの練習は3時間に決め、 まずはJavaの本を読みながら、知識と理解、経験を深める。 https://github.com/HyonHyonKOR/Programmers_Java/commits?author=HyonHyonKOR&since=2023-06-16&until=2023-06-17 プログラミング自主学習 21日目 例外(Exception)/例外の処理/例外の優先順位/例外とデバッガ/finally&resource/try with resource 例外(Exception) System.out.println(2/0); ->error Javaでは、整数を0に分けることは許されず、ログラムが停止する。このような現象を例外と呼ぶ。 例外の例> ・整数を0で割り算を行った。 ・配列の要素数より大きい要素数を指定してアクセスした。 ・ユーザーは入力間違いを行った。(数値入力を要求しているのに、英子の入力等) ・存在しないファイルを指定し、ファイルの読み込みを行った。 ・データーべースに接触が行えなかった。 ・割り当てられていない記憶領域へのアクセスを行った。(不正な値のポインタを参照など) このような状況を予測して、例外を処理することが重要である。 例外の処理 try&catch エラーが発生する可能性があるコードはtry&catchを使用して例外処理ができる。 try{エラーが発生する可能性があるコード} catch(例外の種類.. プログラミング自主学習 20日目 this&super/継承とコンストラクタ/Polymorphism(ポリモーフィズム/多態性/多相性) this&super thisはインスタンス、superはスーパークラスのことだ。 Overridingした後、またスーパクラスのメソッドを使いたい場合は、継承したメソッドにsuperを付ける。 Cal3の値はCalと同様5であるが、実際は"Oh,yeah!"を出力した後からはcalのsumメソッドを呼び出している。 また、コードを読みやすくするため、Overloadingしたメッソドはthis.を使用してまとめることができる。 例えば、クラスCalのメソッドであるsum(int v1, int v2, int v3)はsum(int v1, int v2)よりOverloadingしたメッソドであり、ある意味では包含関係であるため、this.を使用し、まとめることができる。 以下がまとめた例である。 継承とコンストラクタ スーパクラスにコンストラクタがあると仮定すれば、サブクラスにも.. プログラミング自主学習 19日目 コンストラクタ・this /Class化/Instance化/継承 コンストラクタ・this コンストラクタは、インスタンス(オブジェクト)を生成するための特別なメソッドである。 コンストラクタはクラスと同じ名称であり、戻り値を持っていない。 Print p1 = new Print(); CLASS CONSTRUCTOR また、初期状態を設定することで、ヒューマンエラーや無駄を減らすことができる。 例えば、FileWriterの場合、 「インスタンス化をする際に、必ず修正するファイルの名前を指定しなければインスタンス化しない。」という条件などをコンストラクタを定義することにより設定することができる。 public class MyOOP { public static void main(String[] args) { Print p1 = new Print(); p1.delimiter = "----"; p1.A(); p1.A(); p.. プログラミング自主学習 18日目 静的クラス・動的クラス/フィールドとメソッド/Class/Instance/Static 静的クラス・動的クラス 静的クラス 静的クラスとは、インスタンス化をせずに、主にメソッドを使用して使用されるクラスのことだ。 数学的演算や時間・日付などの処理などの機能が提供される。 例:Math. Math.PI; Math.ceil(1.1); 動的クラス 動的クラスとは、インスタンス化を通して、必要なデーターを保持し、メソッドを呼び出すことができるクラスのことだ。同じクラスから複数のインスタンス(クラスの分身だと考えば良い)を制作することで、それぞれのインスタンスを独立して管理することができ、柔軟性を提供する。 例:FileWriter FileWriter a1 = new FileWriter("text.txt"); a1.write("hello"); a1.close; FileWriter a2 = new FileWriter("text2.txt"); a2.wr.. プログラミング自主学習 17日目 メソッドの出力/メソッドの活用/アクセス修飾子 メソッドの出力 戻り値(リータン値) 呼び出された関数、メッソドなどが処理を終了する後に戻ってくる値。 メッソドの種類 戻り値があるㅡメソッド 戻り値がないメソッド(void) 今まではsysoutのように、コンソールに出力するのみに終わるコードを勉強したが、 戻り値を活用することで、sysoutの形ではなく、一つの値として存在するので、 メッソドの活用度が向上した。 メソッドの活用 次はメソッドを使用し、以前作成したアプリケーションを改善してみる。 以下は税金と配当額を計算するアプリケーションである。 public class AccountingApp2 { public static void main(String[] args) { //供給価格 double valueOfSupply = 10000.0; //消費税率 double vatRate = 0.1; //消費.. プログラミング自主学習 16日目 メソッドの入力 メソッドの入力 次は、一一メソッドを再定義するのではなく、メッソドに入力値を引数として渡す仕組みを作り、リプレイ機能を半自動化にアップグレードしてみる。 1) メソッドを再定義する。(引数を活用する) public static void printTwoTImes(String text){ 이전 1 2 3 4 5 6 7 다음