21.07.21


DAY 03
▼▼eclipsの使い方
  • Javaプロジェクトの作成
    1)File->new->javaプロジェクト(ない場合はotherからjavaプロジェクトに移動)
    2)Javaプロジェクトの作成

    3)パッケージの作成


    4)クラスの作成

  • -src->ソース/bin->class

  • クリップショートカット
    1) main + ctrl + space => public static void main
    2) syso + ctrl + space => System.out.println
    3)ctrl+space+s=>自動ソート
    .java -> class -> package -> project -> jar
  • 宣言
    -Package:現在のクラスが存在するnamespace
    -import package:現在のクラスが参照できるクラスの名前空間を含む
    - import static package.class.メソッド:現在のクラスを参照するための静的メソッド
  • コード領域
    - .Java名と同じである必要があります./Javaの実行単位はclassです.
    -複数のクラスを適用できますが、アクセス制限の小さいクラスの後にのみ適用できます(優先度)
    -main()入力ポイント=mainメソッド
    -メソッドにコードを記述し、コマンドの終了を通知します.セミコロンで終わる.
  • ▼▼変数、関数、メソッド
    test -> 변수
    test() -> 함수 function()
    Test.test -> 메소드 method()
    
    변수 : 지역변수, 전역변수
     - 지역변수 : 메소드 안에 선언하는 변수 , 반드시 초기화
     - 전역변수 : 클래스안에 선언하는 변수
     
    ▼▼▼類
    -class=データ型=実行単位
    -class=値+機能
    -class=属性+メソッド
    -class = static final + user_method()
    [선언]
    접근제한자 [abstract, final] class userName{
    
    	속성 (값) + 메소드 (기능) _[static,non-static],[abstract,final = 상속],[void, data type]
    
    }
    public static final void Prn(){}
    public void Disp(){}
    public int Prn(){return 100};
    クラスメンバーのstatic voidメソッド
    [형식]
        접근제한자 static void userName(매개인자...){
        	명령;
        }
        
     [호출]
     	class명.userName(); // 클래스명.메소드명()
    ✍️ static , non-static
    -static:クラス名.メソッド名()
    -non-static:オブジェクト.メソッド名()
    -non-staticはアドレスを生成しません->呼び出せません(アドレスを作成する必要があります)
    -静的作成時にアドレスを割り当て、呼び出す
  • jvm=heap(自由領域空間)
  • heap(クラス)領域および静的スタック領域
  • os = m/m = memory map (cs,ds,static,heap,stack)
  • cs(コードセグメント):コードを管理する領域
  • ds(データセグメント):値を管理する領域
  • static:静的領域であり、クラス、union、struct、static、user functionなどが管理された領域として宣言された場合、宣言と同時にアドレスがバインドされます.
  • heap:自由領域空間=動的割当て空間、プログラム実行時に他のプロセスが実行していない空間を割当てて実行(動的割当て=作成=new)、実行終了時に消去された空間(破棄、GC領域)
  • スタック:固定領域、固定領域変数、領域値等の管理領域
  • に用いる.
    ▼▼javaの識別子ルール
    -区分名、インタフェース名、メソッド名、変数名、定数名のルールです.
    大文字と小文字を区別する
  • .
  • 12132字を超えない.
  • の数字で開始しません.ex) 4test.java
  • スペースは追加されません.ex) abc def{}
  • キーワードを使用して生成されません.ex) for.java , while.java
  • 特別メールでは予約に関する名前で始まることはありません.ex) $,#,&,*

  • Javaのクラス名は大文字で始まる.
    ▼▼▼基本型変数
    -boolean、整数、実数、文字、文字列
    boolean : true, false
    정수 : 소수 없는 수
    실수 : 소수점 지수
    문자 : ' '
    문자열 : " " 
    
    ▼▼▼値を出力する標準出力方法

  • print():改行X

  • println:改行O

  • printf:フォーマット=>共通PrintStream printf(String format,object...arg)
    *+が「」に遭遇すると接続文字列となります.
    ex) System.out.print(true + "\n");//n改行
    *などの特殊文字の前にを付け、単純文字、valueと見なします.
    ▼▼▼資料型
  • データ型=データ型
    デフォルトは
  • 整数int
  • 実数倍、デフォルト
  • byte(1byte) -> short(2) -> int (4) -> long (8) -> float(4) -> double(8)
                   char(2)
    0,1 -> bit *8 = 8bit = 1byte =-128 ~127
    
    ex) 2라는 숫자를 byte방에 b1이라는 이름으로 저장하고 싶다. // 데이터타입 변수이름 = 값
        
        byte b1 = 2; // b1이라는 지역 변수에 2라는 값을 대입했다.
        
        byte b2 = 129; // byte는 127까지만 가능하므로 오류
        byte b2 = (byte)129 ; // 오버플로우 되면 역으로 돌아가 -127출력
        
        int ai = 100;
        System.out.println(ai);
        
        ai = 300 ;  // 재대입
        System.out.println(ai);
        
        long l = 100L;
        System.out.println(l);
        
        double d = 92.8D; // 접미어 
        System.out.println(d);
        
        float f = 92.8f;
        System.out.println(f);
        
        char ch = 'c';
        System.out.println(ch);
        
        String str = "abcd";
        System.out.println(str);
        
    ▼▼▼型転換
    ▼▼▼明示的な変換(ダブル->バイト方向)
    -ビッグデータ型のデータ型をビッグデータ型の変数として宣言
    ▼▼自動変換(byte->双方向)
    -小さいデータ型のデータ型を大きいデータ型の変数に自動的に渡す
    ex) double d = 100; d(8byte) = 100 (4byte);
        float f = (float) 90.4 // f (4byte) = 90.4 (8byte);

  • Formatter
    StringBuilder sb = new StringBuilder();//non-static
    Formatter formatter = new Formatter (sb,Locale.US);
    //class名クラス変数=newジェネレータ();->アドレスの作成
    ▼▼▼演算子
    ✏️ | (or), &(and), ^(xor)
    ABA|BA&BA^B00000101010110111110
  • or:1が1の場合、無条件
  • and:両方とも
  • になるには1でなければなりません.
  • xor:1つは1でなければ
  • ではありません
    ▼▼&,||演算子
  • &演算子:前の演算がfalseの場合、後の演算は
  • です.
  • |演算子:前の演算子がtrueの場合、後の演算子は
  • です.
    ▼▼<(shift演算子)
    ex) a = 2;
        b = a>>2;
        c = a<<2;
        
        a 00000000 00000000 00000000 00000010
        b 00000000 00000000 00000000 00000000 // 0으로 채움
        c 00000000 00000000 00000000 00001000