[이클립스] 조건문(if~else, 실행문, 비실행문, 표준입력, 표준출력)

정리

더보기

1.JDK11 + eclipse2022 설치
  - JDK11 설치후 환경변수 설정
   JAVA_HOME=~
   PATH=~

2. 자바의 데이터 종류

  1) 기본형
       - 수치형
               - 정수형: byte ( 1byte )
                              short ( 2byte )
                              int  ( 4byte ): 기본
                              long ( 8byte )
   리터럴 표현: 10진수, 2진수(0b값), 8진수(0값), 16진수(0x값)
             long 타입으로 정수값을 표현: 값L
       

        - 실수형: float ( 4byte )
                       double  (8byte ): 기본


   리터럴 표현: 소수점 이용, 지수 표현 가능
             3.14 ( 3.14D, 3.14d)==> double처리
             3.14F(3.14f)  ==> float 처리

       - 문자형 : char( 2byte )
          리터럴 표현: '' 이용, 단 하나의 문자 표현시 사용
          'A', 'a', '홍'
          escape문자: \t,\n, \', \", \\
      * 자바언어는 하나의 문자와 여러 문자인 문자열을 구별해서 관리하다.
        문자열은 참조형인 String 클래스로 관리된다.
       - 논리형 : boolean ( 1btye )
         리터럴 표현: true/false

  2) 참조형

     - 기본형 8개를 제외한 나머지 데이터
     - 클래스, 인터페이스, 배열


3. 변수(variable)
 
 1) 용도: 데이터 저장
 2) 특징: 단 하나의 데이터만 저장 가능
         동일한 이름으로 사용불가 ( 식별불가 )
 블럭 scope를 따른다. ( 블럭({})안에서 선언된 변수는 블럭안에서만 사용 가능 )
 * 자바스크립트 언어는 블럭 scope가 아니고 함수 scope를 따른다.

  3) 사용방법

     가. 변수선언 ( 메모리에 데이터를 저장할 영역생성, 영역의 이름을 변수로 지칭)
     나. 초기화
     다. 변수 사용

 4) 변수 종류 3가지

    가. 로컬변수(local variable)
       - 메서드안에서 선언된 변수
       - 생성~소멸: 메서드호출생성~메서드종료시삭제됨. 
       - 사용메모리: stack
       - 변수선언만하고 초기화 안하면 자동으로 초기화가 안됨.
         따라서 변수사용전에 반드시 초기화해야 된다. (*****)


    나. 인스턴스변수(instance variable)
       - 메서드밖에서 선언된 변수
       - 생성~소멸: 클래스 객체생성(new키워드)~ 객체소멸시 삭제됨.
       - 사용메모리: heap
       - 변수선언만하고 초기화 안하면 자동으로 초기화 ( 데이터형의 기본값으로 초기화됨, 정수:0, 실수:0.0 논리:false, 참조형: null )


    다. 클래스 변수 ( class variable, static variable)
      - 메서드밖에서 선언된 변수 + static 키워드
      - 생성~소멸: 프로그램실행시 생성 ~  프로그램 종료시 삭제됨.
      - 사용메모리: method area
      - 변수선언만하고 초기화 안하면 자동으로 초기화  ( 데이터형의 기본값으로 초기화됨, 정수:0, 실수:0.0 논리:false, 참조형: null )

 
4. 데이터 형변환
 
  - 개념: 한 번 정해진 데이터형이 계속 일정하지 않고 필요시 언제든지 변경될 수 있다.
  - 종류
   
    가. 묵시적 형변환( 자동형변환, promotion, up-casting)
        - byte > short > int > long > float > double
        -         char > int
        - int 보다 작은 타입의 연산결과는 int로 반환됨.
- 작은타입과 큰타입의 연산결과는 큰 타입으로 반환됨.
- 문자열과 비문자열(문자열)을 + 하면 연결이 됨.
    
    나. 명시적 형변환( 강제형변환, type casting, down-casting )
      
       - (데이터형)값  형변환 연산자를 사용.
       - 단점은 데이터 손실이 발생될 수 있다.

5. 표준 출력

  - 모니터에 출력
  - 3가지
   System.out.println(값);  // 새로운 라인에 값을 출력
   System.out.print(값); // 현재 라인에 값을 출력
   System.out.printf( "포맷", 값,값2.....);  //   ... 가변인자, 현재 라인에 값을 출력

6. 상수( Constant )
 
  - final 키워드 이용
  - 상수는 값 변경이 불가능.

 

1. 표준 입력 ( standard input )



  1) 개념: 키보드로 데이터를 입력 받음을 의미

  2) 모니터: System.out
      키보드: System.in

  3) java.util.Scanner 클래스 이용해서 키보드에서 입력된 값을 얻을 수 있다.

     import java.util.Scanner;

     Scanner scn = new Scanner(System.in);

   4) 값을 얻을 수 있는 메서드가 제공된다.

      정수값: int n = scn.nextInt();
      하나의 단어: String s = scn.next();
       예> 키보드 입력: aaa bbb ccc

      한 줄 읽기 : String s = scn.nextLine();

 


2. 문장 ( statements )



실행문 

 

순차문 : 위에서 아래로 순차적으로 실행되는 문장.
              거의 90% 이상 차지.

 

제어문 :  조건문(분기문) : 조건에 따라서 실행되는 문장이 달라진다.
               단일if문, if~else문, 다중if문, switch문

반복문 : 조건에 따라서 한번 실행된 문장이 여러번 실행된다.
               for문,  while문, do~while문
   


 비실행문

 


     - 주석문 : 한줄 주석문 : // 
                     멀티 주석문: /*   */
      javadoc 주석문: /**   */  ==> 개발자가 만든 클래스에 대한 메뉴얼인 API문서 만들때 사용됨.
                    


  1) 조건문 ( 분기문 )


    가. 단일 if 문
      -용도: 조건식(true/false)에 따라서 실행여부가 결정되는 경우.
      -문법: 
             if(조건식)문장1;
             문장2;  // 영향이 없음.

             // {} 지정을 권장함.
             if(조건식){문장1;}
             문장2;

             // {} 역할은 그룹핑 역할.
             if(조건식){
                  문장1;
                  문장2;
             }
             

    나. if~else 문
      -용도: 조건식(true/false)에 따라서 실행하는 문장이 달라지는 경우.
      -문법:
     if(조건식)
        문장2;  // 조건식이 true인 경우에 실행
     else
        문장3;  // 조건식이 false인 경우에 실행


     if(조건식){
        문장2;  // 조건식이 true인 경우에 실행
     }else{
        문장3;  // 조건식이 false인 경우에 실행
     }


     다. 다중 if~else 문
      -용도: 여러번 비교할 때  사용된다.
      -문법:
          
    if(조건식1){
               문장1;  // 조건? 조건식1이 true인 경우
    }else if(조건식2){
               문장2;  // 조건? 조건식1은 false, 조건식2는 true
    }else if(조건식3){
               문장3; // 조건?  조건식1은 false, 조건식2는 false 조건식3는 true
    }

    if(조건식1){
               문장1;  // 조건?
    }else if(조건식2){
               문장2;  // 조건? 
    }else if(조건식3){
               문장3; // 조건?
    }else{
               문장4; // 조건? 조건식1은 false, 조건식2는 false 조건식3는 false
    }


참고할만한 사이트 소개


연산자
https://tadaktadak-it.tistory.com/7
https://hongong.hanbit.co.kr/%EC%9E%90%EB%B0%94-%EA%B8%B0%EC%B4%88-%EC%97%B0%EC%82%B0%EC%9E%90-%EC%97%B0%EC%82%B0%EC%9D%98-%EB%B0%A9%ED%96%A5%EA%B3%BC-%EC%9A%B0%EC%84%A0%EC%88%9C%EC%9C%84/

# 자바 제어문
https://raccoonjy.tistory.com/10
############################################################################
############################################################################
    참조형 데이터
교재 p177 - 배열
    p128 - 객체와 클래스

'JAVA' 카테고리의 다른 글

[JAVA] Object 클래스  (0) 2023.08.11
[JAVA] 인터페이스  (0) 2023.08.10
[JAVA] 추상 클래스  (0) 2023.08.10
[JAVA] 다형성  (0) 2023.08.09
[JAVA] 상속  (0) 2023.08.07