Java 기본 문법 2

귀찮Lee·2022년 5월 8일
0

Java

목록 보기
2/15

◎ 연산자

  • 산술 연산자

    System.out.println(7 + 3); // 10
    System.out.println(7 - 3); // 4
    System.out.println(7 * 3); // 21
    System.out.println(7 / 3); // 2 (둘다 int type일 경우, 몫이 나옴)
    System.out.println(7 % 3); // 1 (나머지에 해당함)
  • 비교 연산자

    System.out.println(5 < 3); // true
    System.out.println(5 >= 3); // true
    
    System.out.println(5 == 5); // true
    System.out.println(5 != 5); // false
    
    System.out.println(true && true); // true (and 연산자)
    System.out.println(true || false); // true (or 연산자)
    
    // 삼항 연산자 (조건식) ? (참 일떄 값) : (거짓일 때 값)
    System.out.println( 5==5 ? 3 : 4); // 3
  • 연산자 누선순위는 수학의 순서대로 실행함

    * -> / -> &&(and) -> ||(or) ...

◎ 조건문

  • 특정 조건에 해당될 때만 특정 부분을 실행시킬 수 있다.
  • if - else 문
    • 조건식에는 결과값으로 boolean 값이 나와야 함
    • 블록에 들어가는 내용이 한줄이라면, { } 생략가능
    if (조건식1) {
        //조건식1이 참일 때, 실행되는 블록입니다.	
    } else if (조건식2) {
        //조건식1이 참이 아니면서 조건식2가 참일 때, 실행되는 블록입니다.
    } else {
        //조건식1과 2가 모두 참이 아닐 때, 실행되는 블록입니다.
        //else문은 생략 가능합니다.
    }
  • switch 문
    • 변수의 값과 case 뒤에 작성한 값이 일치할 때만 실행,
    • break 를 적어주어야만 더이상 아래를 실행을 하지않고 넘어감
    • 모두 해당하지 않으면 default 부분을 실행
    switch (변수) {
        case 변수값1:
            실행1; // case 1
        case 변수값2:
        case 변수값3:
            실행2; // case 1,2,3
            break;
        case 변수값4:
            실행4; // case 4
            break;
        default:
            실행5: // 나머지 case
    }

◎ 반복문

  • for 문

    • 조건문이 참인 경우에 계속 반복
    • 반복이 한차례 완료된후, 증감식이 적용 (특정 횟수만큼 반복할 때 사용하기 용이)
    int sum = 0;
        for (int num = 0 /*초기화*/; num < 10 /*조건식*/; num++ /*증감식*/ ) {	
          sum += num;
        }
  • enhaced for 문

    • 배열의 원소를 반복문에 적용할 때, 유용하게 사용가능
    String[] names = {"Steve", "jack", "gwichan"};
        for(String name : names) {
          System.out.println(name + "님은 자바를 공부중 입니다.");
        }
  • while문

    • 횟수 상관없이 조건문이 참인 경우에 계속 실행
    int num = 0, sum = 0;
    while(num <= 10) {
      sum += num;
      num++;
    }
    System.out.println(sum);
  • do - while 문

    • do 부분은 무조건 1번 실행, 이후 while문과 똑같이 실행
    int num = 0, sum = 0;
    do System.out.println("더하기 시작!") // { } 생략
    while(num <= 10) {
      sum += num;
      num++;
    }
    System.out.println(sum);
  • break, continue

    • break : 해당 지점을 만났을 때, 반복문을 종료함
    int sum = 0;
      addNum : for (int num = 0 /*초기화*/; num < 10 /*조건식*/; num++ /*증감식*/ ) {	
        sum += num;
        if (num == 7) 
          break addNum;
      }
    System.out.println(sum); // 28 = 1+2+3+4+5+6+7
    • continue : 해당 지점을 만났을 때, 바로 다음 반복을 실행
    int sum = 0;
      for (int num = 0 /*초기화*/; num < 10 /*조건식*/; num++ /*증감식*/ ) {	
        if (num == 7 || num == 8) 
          continue;
        sum += num;
      }
    System.out.println(sum); // 30 = 1+2+3+4+5+6+9+10

◎ 배열

  • 배열의 필요성

    • 유사한 50가지의 정보를 담기 위해서 50가지의 변수를 지정해주어야 하기에는 너무 번거롭다.
    • 배열을 사용해서 해당 값을 나열하여 저장
  • 배열의 선언

    • 배열은 참조 타입으므로, 그 값이 저장되어있는 위치의 시작 주소를 저장함
    • 현재 배열 안에 들어가는 타입, 배열안에 들어갈 요소 개수에 따라 가져야하는 메모리가 달라지므로 참조 변수로 사용
    int[] arr1;
  • 배열의 할당

    // 선언, 초기화
    int[] arr1 = new int[3] // {0, 0, 0}  (0이 기본값)
    String[] strArr = new String[3] // {null, null, null} (null이 기본값) 
    
    // 선언과 동시에 값을 넣어 초기화
    int[] arr2 = new int[] {1, 2, 3};
    int[] arr2 = {1, 2, 3};
    
    String strArrInit = new String[] {"Hello", "Java", "World"};
    String strArrInit = {"Hello", "Java", "World"};
    
    int[] arr3; // 선언
    arr3 = {1, 2, 3}; // 할당
  • 배열의 길이와 인덱스

    int[] arr1 = {1, 2, 3}
    
    System.out.println(arr1.length) // 3
    System.out.println(arr1[1]) // 2
    
    // cf> String의 길이 구하는 것은 .length() 를 사용
    String str = "Hello World";
    System.out.println(str.length()); // 숫자 11이 출력
  • 다차원 배열

    int[][] arr; // 2차원 배열 선언
    int[][] arr = new int[2][3]; // 초기화
    /*{
      {0, 0, 0},
      {0, 0, 0}
    }*/
    
    int[][] arr1 = {{1, 3, 5}, {2, 4, 6}}; // 선언과 동시에 초기화
    int[][] arr1 = new int[][] {{1, 3, 5}, {2, 4, 6}}; // 선언과 동시에 초기화
    
    // 가변배열 : 안쪽의 배열의 길이를 정하지 아니함(다 다를 수 있음)
    int[][] arr = new int[10][]; // 가변 배열 선언, 초기화
  • 반복문 for - each 문

    • 배열 안에 있는 모든 원소를 특정 문자에 할당해 실행함
    • 재할당은 불가
    import java.util.Arrays;
    
    int[] arr = {1, 2, 3, 4, 5};
    for (int num: arr) {
        num += 1;
    }
    
    System.out.println(Arrays.toString(arr)); // [1, 2, 3, 4, 5]
profile
배운 것은 기록하자! / 오류 지적은 언제나 환영!

0개의 댓글