JAVA構文#1


JAvaの特徴
  • Wirte Once, Run Anywhere
    JAvaファイルはコンパイラによってクラスファイルにコンパイルされ、バイトコードに変換されます.
    Java仮想マシンを介してオペレーティングシステムとは独立して動作します.
  • Garbage Collection
    Javaは、使用されなくなったメモリを自動的にクリーンアップします.この機能をGarbage Collectionといいます.
  • Javaの4つのオブジェクト向けプロパティ
    抽象、集約、継承、パッケージ
  • データ型
    基本タイプ(Primitive Type)
  • は、予め定義されたサイズのメモリサイズで表され、変数自体に値が格納される.
  • 参照タイプ
  • は、予めサイズを特定できないデータの表示であり、変数は実際の値を参照できるアドレスのみを格納する.
  • せいけいかん
  • 変数のタイプを別のタイプに変換します.
  • 基本型は基本型です参照型は、参照型間で
  • を変換することができる.
  • 基本タイプと参照変換Wrapperクラス(Ex.Integer,Doubleクラス)
  • を使用
    double a = 13.5;
    int b = (int) a;    //a = 13.5, b = 13    -> 명시적 형변환
    
    byte b = 5;
    int i = b;      // 묵시적 형변환   i = 5
    プリミティブからスモールタイプ->ビッグタイプに変換した場合、値は失われません.
    But、大きいタイプ->小さいタイプに変換すると値が失われます.
    値が範囲の拡大を表す方向(値の大きさやタイプの大きさではない)に指定されている場合、暗黙的な変換が発生します.
    byte -> short -> int -> long -> float -> double
    char -> int -> long -> float -> double
  • 明示的な変換では値が失われる可能性があるため、プログラマによって変換されます.
  • デフォルト変換は、JVMによって自動的に行われます.
  • 演算子
  • には、さまざまなタイプ、優先度、結合方向があります.
    ++、--演算子は変数にのみ適用されます.
  • & vs &&, | vs ||
  • &,|:前後の2つの被演算子をチェックします.
  • &,|:前の被演算子をチェックし、条件を満たさない場合は後の被演算子をチェックしません.
  • int a = 5;
    int b = 10;
    
    System.out.println((a+=5) > 8 | (b-=5) > 8);      // true
    System.out.println("a = " + a + ", b = " + b);    // a = 10, b = 5
    
    a = 5;
    b = 10;
    
    System.out.println((a+=5) > 8 || (b-=5) > 8);      // true
    System.out.println("a = " + a + ", b = " + b);    // a = 10, b = 10
    // 앞의 조건식이 true이므로 뒤의 피연산자는 실행 안됨.
    条件文
    ドアが
  • 論理型(ブール型)または条件式および論理型を返す方法を使用することができる.
  • int a = sc.nextInt();
    
    if (a == 1) {
    // 로직 실행
    } else if (a == 2) {
    // 로직 실행
    } else if (a == 3) {
    // 로직 실행
    } else {
    // 로직 실행
    }
    switch
  • の整数として表すことができる基本タイプを使用します.(byte, short, char, int)
  • ビット基本タイプのWrapperクラスByte、Short、Char、Integerオブジェクト、Stringオブジェクトも使用できます.
  • Enumタイプ以上の整数タイプを返す方法を使用します.
  • int x = 3;
    
    switch(x) {
        case 1: // 로직 실행
        case 2: // 로직 실행
        case 3: // 로직 실행
        case 4: // 로직 실행
        case 5: break;
        case 6: // 로직 실행
    }
    // 위의 switch문을 실행하면 case 3,4,5가 실행됨.
    break文に遭遇した場合にのみswitch文の実行が停止するため、停止したい場所でbreakを記述する必要があります.case 3のみを実行したい場合は、case 3:(作成ロジック);break;
    さんこうえんざんし
  • (条件式)?値1:値2;
  • 条件式がtrueの場合、値1が返され、falseの場合、値2が返されます.
    String s;
    int a = 10;
    s = (a > 5) ? "정답" : "틀림";    // s = 정답
    複文
    文脈
  • for(変数初期化;繰返し条件;増分){実行文}
  • int sum = 0;
    
    for (int i = 1; i < 10; i++) {
        sum += i;
    }
    System.out.println(sum);    sum = 1+2+3+4+5+6+7+8+9
    ドア
  • while(条件文){実行文とインクリメンタル}
  • int i = 1;
    int sum = 0;
    while(i < 10) {
        sum += i;
        i++;
    }
    System.out.println(sum);    sum = 1+2+3+4+5+6+7+8+9
    do-while文
  • do{実行文とインクリメンタル}while(条件文);
  • int i = 1;
    int sum = 0;
    do {
        sum += i;
        i++;
    }while(i < 10)
    
    System.out.println(sum);    sum = 1+2+3+4+5+6+7+8+9
    
  • while文とdo-while文の違い
    while文は、最初の条件文が真でなければ実行できません.
    do-while文は条件文に関係なく、一度実行する必要があります.
    for文:-初期値、条件式、増減式の位置が明確-予測可能な繰り返し使用に多く使用されます.-配列にインデックスを追加するときによく使用されます
    while問:-予測が可変な場合によく使用されます.Index、break、continueよりも多く使われています.
    break:重複文を中断するキーワード
    continue:この条件の下で重複文のみを実行します.条件は次のとおりです.
  • 整列
  • 同じタイプのデータを1つの連続メモリ領域で0つ以上管理します.
  • が生成されると、サイズは変更できません.
  • 個々の要素は、値を変更できます.削除できません.
  • アレイの作成
    int[] list = new int[5];    
    // int타입의 데이터 5개를 저장할 수 있는 배열을 메모리에 생성.
    // 생성한 배열을 list라는 변수에 할당.
    // list라는 변수는 메모리에 있는 배열을 가리키는 referecne타입 변수. (list에는 배열의 첫 시작 주소값이 담겨있음.)
  • インデックス番号.各要素にアクセスできます.
  • index番号は0から始まります.
  • int[] a = {1,2,3,4};
    int[] b = new int[]{1,2,3,4};
    // 생성과 동시에 할당한 값으로 초기화
    // {}를 통한 배열 생성은 변수 선언과 동시에 해야 가능.
    
    char[] c;
    c = {'a', 'b', 'c'}     //이런 식으로는 불가능.
    強化されたfor文
  • アレイまたはセットでよく使用されます.
  • インデックスを使用せずに要素に直接アクセスします.
  • int list = {9, 8, 5, 4}
    for (int i : list) {
        System.out.print(i + " ");    // 9 8 5 4
    }
    // 변수 i를 통해 list배열 안의 요소들에 순차적으로 하나씩 접근 가능.
    2 Dアレイ
  • 次元アレイが同じデータを連続的に管理している場合、2次元アレイはそのアレイを管理するアレイである.
  • int[][] list = new int[3][4]; // 3행4열짜리 2차원 배열 선언 및 생성.
    list[0][2] = 1;  // list의 0행2열에 1이라는 값 할당.
    
    int[][] list2 = {{1,2,3}, {9,8,7}, {4,6,5}}; // 선언, 생성, 할당 동시에 가능
    
    int[][] list3 = new int[3][];  // 1차 생성 후
    list3[0] = new int[3];         // 2차로 필요에 따라서 각 행의 열 길이가 다르게 생성 가능.
    list3[1] = new int[2];         // 2차로 필요에 따라서 각 행의 열 길이가 다르게 생성 가능.
    list3[2] = new int[5];         // 2차로 필요에 따라서 각 행의 열 길이가 다르게 생성 가능.
    
    int i = 0;
    int[] ilist = new int[4];
    int[][] ilist2 = new int[3][5];
    // i는 정수형 값을 저장.
    // ilist는 정수형 배열의 첫 주소를 저장.
    // ilist2는 정수형 배열의 첫 주소를 저장하는 배열의 첫 주소를 저장. 즉, ilist2는 int[]를 저장.