TIL-JAVA初心者


📃 Java Coding Convention

  • クラス名は大文字で始まる.
  • class myClass {} (x)
  • class MyClass {} (O)
  • メソッドまたは変数名は、小文字で始まります.(Camel)
  • int my_Variable = 0; (X)
  • int myVariable = 0; (O)
  • void GoHome() {} (X)
  • void goHome() {} (O)
  • Indent
  • Tab、スペースを混用できません
  • 🏠 Reference

  • Javaでは、すべてが参照値です.
  • arrayはreferenceではありませんが、処理中です.
  • 例外(Primitive)
  • byte
  • boolean
  • int
  • short
  • long
  • float
  • double
  • char
  • int a = 100; // a는 100을 전달
    Integer b = 100; // b는 Reference 값 전달

    🔎 参照サンプルコード


  • mainとMethodの変数

    ->実行時の結果は100です.
    ->mainのaとdosomethingのaは異なる変数であるからです.

  • オブジェクト内の変数

    ->実行時の結果は200です.
    ->主文のaとメソッドのIntaは異なるオブジェクトですが、同じオブジェクトを指しているため、200になります.
  • 🚀Call by value vs Call by reference

  • 値別コール(値別コール)
    =>受信した値をパラメータとしてコピーして送信します.
  • by reference(reference呼び出し)を呼び出す
    =>パラメータとして受信した値のアドレスを送信し、値に直接影響します.
    =>javaにはCall by referenceがありません!
  • 😋 Constant Pool


    特別経営
  • String.

    [運転結果]

    [Constant Poolの状態]

    [String reference]
    ->true、false、falseの順
    ->HelloWorldはすでにConstant Poolに登録されているので、bも同じHelloWorldを指します.
    ->newキーで値を割り当てると、heap領域にメモリ領域が動的に割り当てられます.
  • StringBuffer & StringBuilder

  • StringBuffer:同期をサポートし、マルチスレッド環境で安全(Thread-Safe)
  • StringBuilder:同期がサポートされていない単一スレッドでは、StringBufferよりもパフォーマンスが優れています.
  • 🍀 Object

  • すべてのオブジェクトの最上位オブジェクト
  • すべてのオブジェクトがオブジェクトを継承します.
    =>すべてのオブジェクトがObjectメソッドを呼び出すことができます.
  • 🔍 オブジェクトのメソッド

  • toString()
    :文字列
  • としてすべてのオブジェクトの情報を返します.
  • equals()
    :
  • メソッドで、異なる物理メモリに存在するオブジェクトが論理的に同じかどうかを比較します.
  • hashCode()
    :hashcode値が同じかどうかを確認し、異なる場合は異なるオブジェクトと判断し、同じ場合はequalsと再比較します.2つの関数の結果が等しい場合、それらを同じオブジェクトと判断します.
  • ⛄ Git

  • gitのコマンドを暗記するよりも、どのように使用するかを理解したほうがいいです.
  • Toolを使用します.(github desktop, Sourcetree)
  • gitignoreをよく利用しなければなりません。

  • バージョン結果、バイナリファイル、拡張可能ファイル、ローカル設定、鍵/セキュリティ設定
  • *.class, *.jar, build/