4.반복문 (Repetitive Statement)

Java/Programming 2015. 11. 7. 10:54 by 후뤼한잉여

4.반복문 (Repetitive Statement)

1) 정의

특정 조건에 만족할 때 까지 실행문을 반복하는 것을 반복문이라고 한다.
예를 들어 엄마가 올 때까지 놀이터에서 놀아라 라고 하면 엄마가 올 때까지 계속 놀이터에서 놀 것이다.
엄마가 오면 놀이터에서의 놀이를 마치고 집에 돌아갈 것이다.

2) 사용방법

  1. for문
    끝이 정해진 반복문에서 주로 사용한다.
    ① 초기화부분에 초기화 할 내용을 입력한다. (최초 1회만 실행된다.)
    ② 조건문의 조건이 만족할 때까지 실행문을 실행한다.
    ③ 실행문을 실행하고 증감문을 이용해 증감을 시킨다.
    ④ 이후 부터는 조건문 -> 실행문 -> 증감문 순으로 반복을 한다.

     for(초기화;조건문;증감문) {
         실행문
     }
    
     예)
     for(int i=0;i<5;i++) {
         System.out.println(i);
     }
     ==> 0부터 4까지 출력이 될 것이다.
     ==> 설명) 최초에 int 타입의 변수 i를 0으로 초기화 한다.
             이후 조건을 판별하는데 0 이 5보다 작으니까 i를 출력한다.
             그리고 i의 값 1을 증가시키고 조건을 판별하는데
             1이 5보다 작으므로 다시 i를 출력하는 식으로 반복해서 실행을 한다.
    
  2. while 문
    조건문을 만족 할 때 까지 반복을 실행한다. for문과는 다르게 주로 끝이 정해져 있지 않은 반복문에서 주로 사용한다.

     while(조건) {
         실행문
     }
    
     예)
     int i = 0;
    
     while(i < 5) {
         System.out.println(i);
         i++;
     }
     ==> for문과 동일한 결과가 나타난다.
    
  3. do ~ while문
    for문과 while문은 조건에 따라 실행을 할지 안할지가 결정되지만,
    do ~ while문은 먼저 실행문을 한번 실행 후 조건을 판별하게 된다.

     do {
         실행문
     }while(조건);
    
     예)
     int i = 0;
    
     do {
         System.out.println(i);
         i++;
     }while(i<5);
     ==> for문, while문과 동일한 결과가 나타난다.
    
  4. break 키워드
    반복문 중간에 빠져나와야 할 때 사용하는 키워드 이다.

     int i = 0;
    
     while(true) {
         System.out.println(i);
    
         if(i == 1) {
             break;
         }
         i++;
     }
     ==> 0 출력, i = 1
     while문의 조건이 true이므로 계속 반복이 될 것이다.
     하지만 조건문에서 i가 1이 되면 break문을 수행하므로 반복문을 종료하게 된다.
    
  5. continue 키워드
    반복문 중간에 건너뛰기 위해 사용하는 키워드 이다.
     for(int i = 0; i<10; i++) {
         if(i == 1) {
             continue;
         }
         System.out.println(i);
     }
     ==> i가 1이면 밑에 실행문을 수행하지 않고 바로 증감식으로 넘어간다.
     그 결과 0 부터 9까지 1을 제외한 숫자가 출력된다.
    
  • 다중 반복문
    한 개의 반복문 안에 또 다른 반복문이 있는 형태를 이중 반복문이라고 하며, 여러겹일 경우 다중 반복문이라고 한다.
    for(int i=0; i<5; i++) {
      for(int j=0; j<i; j++) {
          System.out.print("*");
      }
      System.out.println();
    }
    ==> 외부에 i를 사용하는 for문이 1회 실행될 때 내부의 j를 사용하는
    for문이 여러 번 돌아가는 형태로 진행이 된다.
    

'Java > Programming' 카테고리의 다른 글

3.조건문 (Conditional Statement)  (0) 2015.11.06
2.연산자 (Operator)  (0) 2015.11.06
1.변수 (Variable)  (0) 2015.11.06

3.조건문 (Conditional Statement)

Java/Programming 2015. 11. 6. 23:46 by 후뤼한잉여

3.조건문 (Conditional Statement)

1) 정의

하나의 조건에 근거하여 다음에 실행할 처리를 결정하는 수행문이다.
예를 들면 집에 올 때 돈이 많으면 택시를 타고, 돈이 적으면 버스를 타고 돈이 없으면 걸어와라 라고 하면 돈이라는 변수의 조건에 따라 행동이 달라지게 된다.

2) 사용방법

  1. if
    만약 조건에 맞다면 실행문을 실행하라는 명령어이다.

     if(조건) {
         실행문
     }
    
     예)
     boolean a = true;
    
     if(a) {
         System.out.println("동작1");
     }
    
     System.out.println("동작2");
    

    위 예제에서 a가 true이므로 동작1과 동작2가 실행 될 것이다.
    만약 a가 false라면 동작2만 실행 될 것이다.

  2. if ~ else
    만약 조건에 맞다면 실행문1을 실행을 하고 조건에 맞지 않으면 실행문2를 실행하라는 명령어이다.

     if(조건) {
         실행문1
     } else {
         실행문2
     }
    
     예)
     boolean a = true;
    
     if(a) {
         System.out.println("동작1");
     }else {
         System.out.println("동작2");
     }
    
     System.out.println("동작3");
    

    위 예제에서 a가 true이므로 동작1과 동작3이 실행 될 것이다.
    만약 a가 false라면 동작2와 동작3만 실행 될 것이다.

  3. if ~ elseif ~ else
    다양한 조건 중 한 조건에 만족할 때 실행하는 명령어이다.

     if(조건) {
         실행문
     }else if(조건) {
         실행문
     }else {
         실행문
     }
    
     예)
     int a = 10;
     int b = 10;
    
     if(a < b) {
         System.out.println("동작1");
     }else if(a != b) {
         System.out.println("동작2");
     }else {
         System.out.println("동작3");
     }
    
     System.out.println("동작4");
    

    위 예제에서 a가 b보다 작지 않고, a랑 b랑 같지 않으므로 동작3과 동작4만 실행 될 것이다.

  4. switch ~ case
    if문과 비슷하게 사용이 가능하며 if문 보다 가독성이 좋고 JAVA에서는 boolean형 뿐만 아니라 다양한 형태를 지원해주기 때문에 좀 더 편리하게 사용할 수 있다.

     switch(키) {
         case 값1: 동작1
                 break;
         case 값2: 동작2
                 break;
         default:
                 break;
     }
    
     예)
     int a = 10;
    
     switch(a) {
         case 1: System.out.println("동작1");
                 break;
         case 2: System.out.println("동작2");
                 break;
         case 10: System.out.println("동작3");
                 break;
         default: System.out.println("동작4");
                 break;
     }
    

    위 예제에서 a값이 10이므로 동작3이 실행 될 것이다.
    만약 a값이 1이면 동작1이
    a값이 2이면 동작2가 그것도 아니라면 동작4가 실행 될 것이다.

'Java > Programming' 카테고리의 다른 글

4.반복문 (Repetitive Statement)  (0) 2015.11.07
2.연산자 (Operator)  (0) 2015.11.06
1.변수 (Variable)  (0) 2015.11.06

2.연산자 (Operator)

Java/Programming 2015. 11. 6. 22:59 by 후뤼한잉여

2.연산자 (Operator)

1) 정의

실행 해야 하는 행동을 지정하는 것으로 연산에 있어서 행해지는 동작을 나타내는 기호를 말한다.
+(더하기)를 보면 무엇을 해야하는지 우리는 알고 있을 것이다. 컴퓨터한테도 이러한 기호를 미리 등록해놓고 사용을 하고 있는데 기호를 보고 어떤 행동을 할지를 지정할 때 사용된다.

2) 연산자의 종류

  1. 산술 연산자
    일반적인 사칙연산을 하는 연산자 이다.
    • +(더하기)
      예)
      int a = 10;
      int b = 3;
      int c = a + b;
      ==> a = 10, b = 3, c = 13
      
    • -(빼기)
      예)
      int a = 10;
      int b = 3;
      int c = a - b;
      ==> a = 10, b = 3, c = 7
      
    • *(곱하기)
      예)
      int a = 10;
      int b = 3;
      int c = a * b;
      ==> a = 10, b = 3, c = 30
      
    • /(나누기 - 몫)
      예)
      int a = 10;
      int b = 3;
      int c = a / b;
      ==> a = 10, b = 3, c = 3
      
    • %(나누기 - 나머지)
      예)
      int a = 10;
      int b = 3;
      int c = a % b;
      ==> a = 10, b = 3, c = 1
      
  2. 자동증감 연산자
    1을 증가 또는 감소 시키는 연산자이다.
    풀어서 적으면 ++(증가연산자)는 a = a + 1 --(감소연산자)는 a = a - 1이라고 볼 수 있다. 전위와 후위는 먼저 증감한 값을 넣을 것인지, 넣고 증감할 것인지에 따라 구분된다.

    1. 전위 증감 연산자

      예) 증가 연산자
      int a = 10;
      int b = ++a;
      ==> a = 11, b = 11
      
      예) 감소 연산자
      int a = 10;
      int b = --a;
      ==> a = 9, b = 9
      
    2. 후위 증감 연산자

      예) 증가 연산자
      int a = 10;
      int b = a++;
      ==> a = 11, b = 10
      
      예) 감소 연산자
      int a = 10;
      int b = a--;
      ==> a = 9, b = 10
      
  3. 동등비교, 관계 연산자
    같은지 틀린지를 판단하는 연산자이다.

    • == (같다)

      예)
      int a = 10;
      int b = 10;
      boolean c = a == b;
      ==> c = true
      
      예)
      int a = 10;
      int b = 15;
      boolean c = a == b;
      ==> c = false
      
    • != (다르다)

      예)
      int a = 10;
      int b = 10;
      boolean c = a != b;
      ==> c = false
      
      예)
      int a = 10;
      int b = 15;
      boolean c = a != b;
      ==> c = true
      
    • < (작다)

      예)
      int a = 10;
      int b = 10;
      boolean c = a < b;
      ==> c = false
      
      예)
      int a = 10;
      int b = 15;
      boolean c = a < b;
      ==> c = true
      
      예)
      int a = 15;
      int b = 10;
      boolean c = a < b;
      ==> c = false
      
    • > (크다)

      예)
      int a = 10;
      int b = 10;
      boolean c = a > b;
      ==> c = false
      
      예)
      int a = 10;
      int b = 15;
      boolean c = a > b;
      ==> c = false
      
      예)
      int a = 15;
      int b = 10;
      boolean c = a > b;
      ==> c = true
      
    • <= (작거나 같다)

      예)
      int a = 10;
      int b = 10;
      boolean c = a <= b;
      ==> c = true
      
      예)
      int a = 10;
      int b = 15;
      boolean c = a <= b;
      ==> c = true
      
      예)
      int a = 15;
      int b = 10;
      boolean c = a <= b;
      ==> c = false
      
    • >= (크거나 같다)

      예)
      int a = 10;
      int b = 10;
      boolean c = a >= b;
      ==> c = true
      
      예)
      int a = 10;
      int b = 15;
      boolean c = a >= b;
      ==> c = false
      
      예)
      int a = 15;
      int b = 10;
      boolean c = a >= b;
      ==> c = true
      
  4. 논리 연산자
    true, false를 가지고 연산을 할 때 사용한다.

    • &&(AND)
      양쪽 모두 true일 때만 true이며, 하나라도 false값을 가지고 있으면 false가 된다.

      예)
      boolean a = false;
      boolean b = false;
      boolean c = a && b;
      ==> c = false
      
      예)
      boolean a = true;
      boolean b = false;
      boolean c = a && b;
      ==> c = false
      
      예)
      boolean a = false;
      boolean b = true;
      boolean c = a && b;
      ==> c = false
      
      예)
      boolean a = true;
      boolean b = true;
      boolean c = a && b;
      ==> c = false
      
      예)
      int a = 10;
      int b = 15;
      boolean c = false;
      boolean d = (a<b) && c;
      ==> c = false
      마지막 예제는 (a<b)의 결과 true이지만 c가 false이므로 결국 false가 되었다.
      반대로 d = c && (a<b)의 상황이라면
      c가 false이므로 (a<b)의 연산 자체를 진행하지 않는다.
      
    • ||(OR)
      하나라도 true값을 가지고 있으면 true가 된다.

      예)
      boolean a = false;
      boolean b = false;
      boolean c = a || b;
      ==> c = false
      
      예)
      boolean a = true;
      boolean b = false;
      boolean c = a || b;
      ==> c = true
      
      예)
      boolean a = false;
      boolean b = true;
      boolean c = a || b;
      ==> c = true
      
      예)
      boolean a = true;
      boolean b = true;
      boolean c = a || b;
      ==> c = true
      
      예)
      int a = 10;
      int b = 15;
      boolean c = true;
      boolean d = (a<b) && c;
      ==> c = true
      마지막 예제는 반대로 d = c && (a<b)의 상황이라면
      c가 true이므로 (a<b)의 연산 자체를 진행하지 않는다.
      
  5. 삼항 연산자
    조건을 만족해서 true이면 A를 false면 C를 실행하는 연산이다.
    조건?A:B

     예)
     int a = 10;
     int b = 15;
     boolean c = (a < b) ? true : false;
     ==> c = true
    
     예)
     int a = 15;
     int b = 10;
     boolean c = (a < b) ? true : false;
     ==> c = false
    
  6. 할당 연산자
    변수에 값을 집어 넣을 때 사용하는 연산자이다.
    앞서 설명한 예를 생각해보면 옷만 넣을 수 있는 박스에 옷을 넣는 행위를 의미한다.
    =
    예)
    int a;
    a = 10;
    ==> a = 10
    
  • 연산자 중에 줄여 쓸 수 있는 연산자가 있는데, 예를 들어 +=-= 같은게 있다.

      예)
      int a = 10;
      a += 10;
      ==> a = 20
      ==> 풀이) a = a + 10;
    
      예)
      int a = 10;
      a -= 5;
      ==> a = 5
      ==> 풀이) a = a - 5;
    


'Java > Programming' 카테고리의 다른 글

4.반복문 (Repetitive Statement)  (0) 2015.11.07
3.조건문 (Conditional Statement)  (0) 2015.11.06
1.변수 (Variable)  (0) 2015.11.06

1.변수 (Variable)

Java/Programming 2015. 11. 6. 10:28 by 후뤼한잉여

1.변수 (Variable)

1) 정의

일반적인 변수의 수학적 정의는 어떤관계나 범위 안에서 여러 가지 값으로 변할 수 있는 수를 의미한다.

프로그래밍 언어에서의 변수는 이름표가 붙어진 전용 박스라고 생각할 수 있다.
예를 들어 장난감이라고 써져있는 장난감 정리용 박스에는 장난감을, 옷이라고 적혀있는 의류 정리용 박스에는 옷을 넣는게 기본이다. 이 때, 장난감이나 옷은 그때 그때 변할 수 있다.
(물론 현실에서는 옷 박스에 장난감을 넣는일이 발생하기도 한다…)

int i = 10;
char c = 'a';

위에 예제를 보면 intchar가 옷이나 장난감을 넣도록 만들어진 박스모양이고, ic가 이름표가 된다.
위에 예제를 풀어보면 다음과 같다.
i라는 이름표가 붙은 int 모양의 박스에 10이라는 물건을 넣는다.
c라는 이름표가 붙은 char 모양의 박스에 a이라는 물건을 넣는다.
이렇게 각각의 모양이 정해진 박스를 자료형 또는 타입이라고 표현한고, 이름표를 변수명이라고 표현한다.
타입으로 정해진 이름은 변수명으로 사용할 수 없는데 이렇듯 변수명으로 사용은 못 하지만 각각의 기능을 가리키고 있는 것을 키워드라고 표현하기도 한다.

2) 사용방법

일반적으로 변수를 사용할 때는 크게 2가지 방식으로 사용할 수 있다.

  1. 특정 모양의 박스를 미리 사와서 이름표를 붙이고 바로 물건 정리
     int i = 10;
     char c = 'a';
    
  2. 특정 모양의 박스를 미리 사와서 이름표를 붙여놓고 나중에 물건 정리
     int i;
     char c;
     i = 10;
     c = 'a';
    

여기서 특정 모양의 박스를 미리 사와서 이름표를 붙이는 작업을 선언이라고 하며, 선언과 동시에 바로 물건을 정리하는 것을 초기화라고 한다.

3) 자료형의 종류

앞서 자료형이란 특정 모양의 박스라고 설명했다.
그렇다면 JAVA에서의 자료형은 무엇이 있는지 알아보자.
JAVA에서는 크게 기본(Primitive) 자료형과 객체(Object) 자료형으로 구분할 수 있다.

  1. 기본 자료형(Primitive Type)
    기본 자료형은 세계적으로 규격화 된 박스라고 생각하면 된다. 예를 들어 컴퓨터의 USB의 모양은 세계 어디를 가나 동일하다. 이것은 국제 표준을 따라 만들었기 때문인데, 이처럼 기본 자료형은 표준에 따라 만들어진 자료형이다.

  2. 객체 자료형(Object Type)
    객체 자료형은 자기 자신이 손수 만든 박스라고 생각하면 된다. 예를 들어 직접 아크릴을 이용해 박스를 만들었다고 생각하면 된다. 이 처럼 객체 자료형은 누가 어떻게 만드느냐에 따라 수백 수만가지의 형태가 나올 수 있다.

  • 기본 자료형의 종류
기본 자료형 키워드 크기 표현범위
논리형 boolean 1bit true, false
문자열 char 2byte 0 ~ 65,535
정수형 byte 1byte -128 ~ 127
  short 2byte -32,768 ~ 32,767
  int 4byte -2,147,483,648 ~
2,147,483,647
  long 8byte -9,223,372,036,854,775,808 ~
9,223,372,036,854,775,807
실수형 float 4byte -3.4E38 ~ +3.4E38
실수형 double 8byte -1.7E308 ~ +1.7E308
  • 객체 자료형의 종류
    너무 많아 다 적을 수는 없지만 대표적으로 String, Integer, HashMap, ArrayList 등등이 있다.

4) 형변환

형변환 이란 특정 모양의 박스에만 담을 수 있는 물건을 다른 특정 모양의 박스에 담을때 사용되는 것을 말한다.
예를 들어 책 한권만 들어갈 수 있는 박스에 두꺼운 사전을 넣을려고하면 다 들어가지 않을 것이다.
이때 사전을 잘라서 일부만 집어 넣을수도 있을 것이다.(물론 현실에선 일어나기 어려운 일이다.)
반대로 두꺼운 사전이 들어갈 수 있는 박스에 책 한권을 넣는다면 쉽게 들어갈 수 있을 것이다.

이 처럼 큰 물건을 손해를 보더라도 잘라서 일부만 작은 박스에 넣는 것을 명시적 형변환이라고 한며, 자르는 행위를 해야하는데, JAVA에서는 잘라서 넣으라는 의미로 (작은박스 자료형)을 큰 물건앞에 명시하도록 되어있다.

double d = 10.20;
int i = (int)d;

반대로 작은 물건을 큰 박스에 쉽게 넣는 것을 묵시적 형변환이라고 한다.

int i = 10;
double d = i;


'Java > Programming' 카테고리의 다른 글

4.반복문 (Repetitive Statement)  (0) 2015.11.07
3.조건문 (Conditional Statement)  (0) 2015.11.06
2.연산자 (Operator)  (0) 2015.11.06
Nav