0617.Eclipse import、Switch文、繰り返し文


プロジェクトの作成からEclipse IDEのインポートへ


1.空のフォルダを作成する

$mkdir myproject

2.作成したフォルダをJavaアプリケーションプロジェクトフォルダに設定する

myproject $ gradle init

myproject/ settings.gradle
	       app/ 
             src/
             build.gradle

  • myproject/– root project

  • app/- sub project
  • 3.Eclipse IDEに切り替える項目


    JAva、eclipse gradleプラグイン->buildを設定します.グラデーションの編集
    各プラグインの動作を制御->構築します.グラデーションの編集
    Eclipse設定ファイルの作成->$gradle eclipse

    4.Eclipse IDEにプロジェクトをインポートする


    メニュー>ファイル>読み込み>既存のプロジェクト>構築(Menu>File>Import>Existing Projects>Build)gradleファイルを含むフォルダを選択>finish

    キーボード入力の受信


    コンソールからキーボード入力を受信し、エンコーディングします.
    Scanner keyScan = new Scanner ( System.in )

  • keyScan–ツールを指す変数

  • Scanner–キーボードから入力した値を特定のタイプの値とするツール

  • System.inキーボードについて
  • ツールは軽量=>Keyscanを使用します.機能名();
    keyScan.nextInt( ); - 키보드 입력값 읽어서 4byte 정수로 변환
    
    keyScan.nextLine( ); - 키보드 입력값 한 줄 읽어서 문자열로 변환

    スイッチドア


    フローコントロールゲート
    ifelseを使用するよりも、コード処理が簡単で、清潔です.
    単純な値を入力する場合にのみ使用することを推奨します
    int= keyScan.nextInt();
    switch () {  // 위에서 값으로 Int를 받아서 값에는 4byte int 값만 가능
      case:      // switch의 값과 일치하는 case의 코드 실행
       . . . 
        break;
      default :     // switch의 값과 일치하는 값이 없으면 default의 코드 실행
       . . .
    条件文に入力された値がintのように簡単で、単純な数字や文字列のように簡単である場合、switch文を使用します.
    そうでない場合はifelse文を使用します
    switchの値は上で定義した変数です
    Caseの値は、変数に割り当てられたデータ型のみです.
    defaultのコードは、入力した値がswitch文のcase値と一致しない場合に実行されます.

    データ型は値です。


    int整数(byte,short,int,char)、文字列、特殊な定数Enumタイプ
    変数はcase値として使用できません!テキストのみ
    整数または実数(浮動小数点)はlongのように4 byteを超えてはならない

    適用-ブレークポイントなしスイッチ


    出力する各コードに一致する値がある場合は、中断することなく使用できます.
    System.out.println("제출하실 서류는 다음과 같습니다.");
    switch (no) {
      case 1:
        System.out.println("정보처리자격증");
      case 2:
        System.out.println("졸업증명서");
      case 3:
        System.out.println("이력서");
        break; // 여기까지만 실행한다.
      default:
        System.out.println("올바른 번호를 입력하세요!");
    すべての汎用出力コードを一番下に、一部の汎用コードを一番上に
    breakを最後のcase文にのみ配置
    完全に放さないと、最後のdefaultコードもすべて出力されます
    最初の下部のbreakに遭遇するまで、一致する値のcaseにすべて出力します.
    ex.no 값으로 2 입력시?
    
    	제출하실 서류는 다음과 같습니다.
    	졸업증명서
    	이력서

    適用-定数の使用


    定数を使わないと?
    他の開発者が理解できるように、コメント値の意味
    なければcaseが何を意味するか分からない
    コードの理解を容易にするために、値を定数として指定します.

    final int


    定数をfinalintに設定してcase値の意味を示す
    	final int GUEST = 0, MEMBER = 1, ADMIN = 2;
        
    !! finalがない通常intは使用できません
    caseの値、変数は使用できません!定数のみ

    enum Level


    定数をより組織的に管理する方法
    定数をenumで定義するには
    nested enumは、static->宣言のデフォルトでstaticを省略できます.
    enum Level {
      GUEST, MEMBER, ADMIN
    }
    
    switch (level) {
      case GUEST:
        System.out.println("조회만 가능합니다.");
        break;
      case MEMBER:
        System.out.println("글작성 가능합니다.");
        break;
      case ADMIN:
        System.out.println("다른 회원의 글을 변경, 삭제할 수 있습니다.");
        break;
    }
    enumタイプとして定義された定数を使用するためにenumタイプの変数を宣言します.
    final intのように直接値を指定する必要はありません
    値を直接指定することもできます

    enumを使う主な原因は?


    100、200、adminなどの値を手動で指定する必要はありません.
    Enum変数はタイプで定義された値のみを格納できます
    Level typeはenum Levelの定数のみです
    純粋な定数構文を使用して、より明確で表示しやすいコードを生成します.

    複文

    1.
    while (조건) ---------;
    while (조건) {
    	--------
    }
    // 조건이 참일 때 참인 동안 문장을 계속 실행
    
    2.
    do ------;
    while (조건);
    do {
    -----
    } while (조건);  // 일단 실행 후 반복할지 결정 = 최소 한번은 코드가 실행됨
    
    3.
    for(변수) 조건 증감문 --- ;
    for (변수) 조건 증감문 {
    -------
    }
    
    4.
    for (변수) 배열 컬렉션 ----;
    for (변수) 배열 컬렉션 {
    ----
    }
    

    複文

    while (조건) ---------;
    条件が真の場合、条件が真の場合までwhileでコードを実行します.

    breakとcontinueの使用


  • continue:ifとともにifを満たす条件を使用する場合、continueの下のコードは実行されず、while文の先頭に戻ります.

  • break:ifとともに使用し、条件が満たされたら直ちにwhileゲートを終了する
  • 両者を組み合わせて使用すると、重複文をより簡単に作成できます.
    count = 0;
    sum = 0;
    
    while (count < 100) {
      count++;
      if (count > 50) // 50을 넘어가면 합을 수행하지 않지만 100까지 계속 반복한다.
        continue;
      sum += count;
    }
    
    System.out.printf("count=%d, sum=%d\n", count, sum);
    
    
    while (count < 100) {
      count++;
      if (count > 50)
        break; // 즉시 반복문을 종료하고 나간다.
      sum += count;
    }
    
    System.out.printf("count=%d, sum=%d\n", count, sum);
    
    最終出力結果からcontinueのみを使用する場合count=100
    breakを使用する場合count=51
    51歳を確認してすぐに出てきたので.

    重複する重複する文から削除


    breakは自分の所属する最近の繰り返し文から逃れるだけだ.
    while (x <= 9) {
      while (y <= 9) {
        System.out.printf("%d * %d = %d\n", x, y, x * y);
        if (x == 5 && y == 5)
          break; // 이 break는 자신이 소속된 가장 가까운 반복문을 나간다.
        y++;
      }
      System.out.println();
      x++;
      y = 1;
    }
    x=5人5段、y=5人5*5=25出力で退出
    再びxの複文に入り、x=6の6段から再出力する
    外に出ない繰り返し文
    一度逃げ出してやり直したいなら?ラベルの使用
    breakにラベルを貼ると、そのラベルが属する重複文が失われます.
    一度に欲しい文に逃げられる
    라벨명: 반복문1 { 반복문2 {break 라벨명;}}
         라벨 문법:
              라벨: 문장;
              라벨: {문장1, 문장2, ...}
              break 라벨

    do~while反復文


    コードを実行し、while文に進みます.少なくとも1回繰り返します.
  • 回以上繰り返し、do~
  • 0回以上、
  • 回以上繰り返します
    do
      문장1;
    while (조건);
    
    do {
      문장1;
      문장2;
      문장3;
    } while (조건);

    複文

    for (int i = 1; i <=5; i++) {
      코드 
    }
    オーダー
  • 変数int i=1->2を初期化します.条件i<=5->3.コード->4.変数文i++
  • 1 2 3 4運転後は2を返し、条件が真であれば再び3 4を繰り返す
    for (변수선언 및 초기화; 조건; 증감문) 문장;
    
    for (변수선언 및 초기화; 조건; 증감문) {문장1; 문장2; ...}
    forの隣の各要素は空です(;)
    for文で宣言された変数はfor文でのみ使用できます
    文を終了して使用しようとしたときにコンパイルエラーが発生しました
    forはドアの外で変数を宣言して入るだけで、外で使用できます.

    オーバーラップ

    for (int i = 1; i <= 10; i++) {
      for (int j = 1; j <= i; j++) {
        System.out.print(j + " ");
        if (j == 5)
        break; // break 소속된 현재 반복문을 멈춘다.
      }
      System.out.println();
    }

    オーバーラップと割り込み


    break現在属している重複文を停止
    重複する重複文の中で最も近いfor文

    for(;;) 整列


    for文は配列とともに使用され、配列内の特定の条件の値を一度に抽出できます.

    配列の先頭から末尾まで値を抽出する場合。

    for (배열에서 꺼낸 값을 저장할 변수 선언 : 배열주소) 문장;
    
    for (String name : names)
    
    System.out.println(name);
    for (:)
    配列全体またはコレクション全体のオブジェクトを繰り返す場合に便利です
    配列の一部だけを繰り返すことはできません
    インデックスを使用せずに配列内の値を処理
    構文
    for (변수 선언 : 배열, Iterable 구현체) 문장1;
    
    for (변수 선언 : 배열, Iterable 구현체) { 문장1; 문장2; ...}
    変数のタイプは、配列またはIterableインプリメンテーションの項目タイプと同じでなければなりません.
    ループするたびに、値が1つ取り出され、変数に挿入されます.
    このオプションを使用すると、文でのみ変数を宣言できます.
    外部宣言変数の使用中にエラーが発生しました
    String name;
       for (name : names) // 컴파일 오류!
    System.out.println(name);

    for繰り返し文と集合

  • スキーム:同じタイプの値のみを保持し、サイズは
  • に固定されます.
  • コレクション:他のタイプの値を格納できます.サイズは
  • です.
    コレクションを使用して取り出すと、値のサイズによってサイズが変わります.
    ArrayList list = new ArrayList();
    list.add(A);
    . . .
    for (int i = 0; i < list.size(); i++)
    System.out.println(list.get(i));
    
    // 위에서 넣은 list를 순서대로 전부 출력 가능

    文の集合に適用

    for (변수 선언 : 컬렉션객체) 문장;
    for (Object value : list)
    System.out.println(value);