본문 바로가기

Java

4일차 공부 연산자 ~ IF문

1 교시

 

1. 삼항연산자 : 조건 연산자라고도 하며 3개의 피연산자를 필요로 하게 되는데 첫 번째 피연산자는 조건이며 두 번째 피 연산자는 조건이 true일 때 리턴되는 값이고 세번째 피연산자는 조건이 false 일때 리턴되는 값

 

1) 기본형식 : (boolean)조건식? 식1(true일 때 남을 내용): 식2(false 일 때 남을 내용)

2) 동작

=> 식의 결과가 true이면 바로 뒤의 내욜을 남겨두고 false이면 : 뒤의 내용을 남겨둔다.

int a = 10;

int b = 20;

a > b ? a : b; //형식에는 맞게 작성했지만 결과가 b - 아무일도 일어나지 않은 것처럼 보임

 

int result = a > b ? a : b; // 이런형태로 작성한다

//result에 20이 저장된다.

 

2. 대입 (할당 - assignment) 연산자

1) =

=> 오른쪽의 데이터를 왼쪽의 변수에 대입하는 연산자

 

2) 연산자=

=> 왼쪽의 변수에 있는 저장된 데이터와 오른쪽 데이터를 연산을 하고 다시 왼쪽의 변수에 대입

 

+=

int a = 10;

a += 20; //a = a + 20; 과 같은 문장이다 - 결과는 a에 30이 저장된다.

 

3. swap

=> 2개 변수의 값을 교체하는것

=> sort (정렬 - 데이터를 순서대로 놓는것) 에서 많이 사용 예) 키순서대로 정렬을 하려 할 때

 

 

임시변수를 생성해서 하나의 내용을 대입

대입했던 변수에 다른 변수의 내용을 대입

다른 변수에 임시 변수의 내용을 대입

 

 

4. 연산자

=> 산술연산자, 대입연산자, 비교연산자(==, !=), 조건논리연산자(&&, ||), = 는 반드시 숙지

=> 연산자의 우선순위도 기억을 해둬야 한다.

단항(오른쪽에서 왼쪽으로 진행) -> 산술 -> 비교 -> 조건 -> 대입(오른쪽에서 왼쪽으로 진행)

 

int a = 10; //10을 먼저 저장하고 그 저장된 위치를 a와 매핑한다고 읽는 것이 좋다.

 

 

 

2 교시

 

표준 입출력 장치

=> 프로그램에서 입력을 받거나 출력을 할 때 기본적으로 사용되는 장치

=> PC에서는 입력 표준 장치는 키보드이고, 출력 장치는 모니터

=> java에서는 System.in 이 표준 입력 장치를 의미하고 System.out 이 표준 출력 장치이다.

출력을 할 때 System.out.println(메세지); 이라고 입력을 하면 모니터에 출력된다.

 

Console에서 Keyboard 입력 받기

=> 여러가지 클래스를 이용할 수 있는데 최근에 많이 사용하는 클래스는 java.util.Scanner 

 

1. Scanner 객체 생성 - 사용할 준비, 입력 객체 만들기

java.util.Scanner 변수이름 = new java.util.Scanner(System.in);

java.util.Scanner sc = new java.util.Scanner(System.in);

 

2. 입력 받기

자료형 변수명 = 입력객체.next자료형();

1) 정수를 입력받고자 하는 경우

int a = sc.nextint();

 

2) 실수를 입력볻고자 하는경우

double d = sc.nextDouble();

 

3) boolean을 입력받고자 하는 경우

boolean b = sc.nextBoolean();

 

4) 문자열을 입력받고자 하는 경우

String str = sc.nextLine();

 

3. 스캐너 종료

sc.close(); //호출을 하지 않으면 경고

 

 

 

 

3~4 교시

 

4. 주의할 점

=> 입력받는 객체는 사용이 종료되면 연결을 해제해야 한다. close();

=> 입력을 받을 때는 어던 데이터를 입력받을지 앞에 설명을 해주는 것이 좋다.

=> 숫자 다음에 문자열을 입력받는 경우 문제가 생길 수 있다.

 

버퍼(Buffer - 임시 기억장치)를 이용하기 때문에 생기는 문제

 

 

제어문

=> 프로그램의 흐름을 변경할 수 있는 명령어

=> 조건이나 값을 확인해서 서로 다른 문장을 수행하거나 문자을 반복하는 것 등이 제어문

 

1. if

=> 조건(Condition - boolean이 나오는 식)에 의한 분기

=> 특정 조건에 맞는 경우에 수행할 내용과 조건에 맞지 않는 경우에 수행할 내용이 다를 때 사용

 

1) 단순 if

=> 어떤 조건을 만족하면 수행할 내용이 있는 경우에 사용

if(조건식){

             조건식의 결과가 true일 때 수행할 내용

}

=> { 의 위치는 같은 줄이나 다음 줄이나 상관없음

 

ex1) 점수를 입력받아서 60점이상이면 합격이라고 출력하고 종료라고 출력

그렇지 않은 경우는 종료라고만 출력

else 와 위에 한줄은 생략해도 결과는 같다
강사님 풀이

 

5 교시

 

2) if ~ else

=> 조건을 만족하면 내용1을 수행하고 그렇지 않으면 내용2를 수행하는 경우에 사용

 

if(조건식) {

              조건식이 true 일 때 수행할 내용

}else{

              조건식이 false 일 때 수행할 내용

}

 

단축키 (코드 정리 : 들여쓰기 맞춤

Ctrl + A (전체선택)

Ctrl + Shift + F (줄 맞춤)

여는 괄호와 닫는 괄호의 개수가 맞지 않으면 코드 정리를 해주지 않는다.

 

ex2) 정수 1개를 입력받아서 입력받은 정수가 짝수이면 짝수출력, 그렇지 않으면 홀수라고 출력

 

 

 

ex3) ID 가 root이고 PW가 system 인 경우

=> 아이디와 비밀번호 입력받는 부분과 비교하는 부분으로 나누어서 처리

=> 문자열을 입력받을 때는 nextLine();을 사용

=> 문자열은 똑같은지 비교할 때 문자열.equals(입력받을변수)을 사용

=> 그리고 라는 조건은 && 연산자를 사용

 

root와 id 자리를 거꾸로 썼었다. ㅠㅠ

2) if ~ else if else

=> 조건식1을 만족하면 어떤 내용을 수행하고 조건식1이 false 인경우 조건식2를 비교해서 만족하면 다른 내용을 수행하고 앞의 조건식이 전부 false일 때 또 다른 내용을 수행해야 하는 경우 사용

 

if (조건식1) {

                조건식1이 true 인 경우 수행할 내용

}else if(조건식2) {

                조건식1이 false 이고 조건식2가 true 인 경우 수행할 내용

}else if는 여러번 추가 가능

}else{

                앞의 모든 조건식이 false 인 경우 수행할 내용

 

ex) 나이가 60 이상이면 노년, 40이상이면 장년, 20이상이면 청년, 나머지는 청소년이라고 출력

순서대로 써야한다.

 

if(age >= 60){

                  System.out.println("노년");

}else if(age >= 40){

                  System.out.println("장년");

}else if(age >= 20){

                  System.out.println("청년");

}else{

                  System.out.println("청소년");

}

System.out.print("점수 입력(0~100):");

 

ex4) 점수를 입력받아서 80~ 100이면 우수, 60~79이면 보통, 0~59노력,  나머지는 잘못된 점수 입력 이라고 출력하는 프로그램을 작성

=> 80~100 : score >= 80 && score <= 100

=> else 는 정상적인 처리보다는 예외적인 상황에 대한 처리에 이용하는 것이 좋다.

 

 

 

ex5) 

아이디가 root 이고 비밀번호가 system이면 로그인 성공

아이디가 root 이고 비밀번호가 system이 아니면 잘못된 비밀번호

아이디가 root 가 아니면 없는 아이디 라고 출력

 

if(id.equals("root") && pw.equals("system")){

        System.out.println("로그인 성공")

}else if(id.equals("root") && !pw.equals("system")){

        System.out.println("잘못된 비밀번호")

}else{

        System.out.println("없는 아이디")

 

이거 보다

 

if(!id.equals("root")){

        System.out.println("없는 아이디");

}else if(pw.equals("system"){

        System.out.println("로그인 성공");

}else{

        System.out.println("잘못된 비밀번호");

}

 

github(형상관리 사이트 - MicroSoft 소유)

 

www.github.com 가입

로그인해서 repository 생성

=> 메인화면에서 [New]를 클릭해서 name을 입력하고 하단의 initialize를 체크

 

2) eclipse에서 local repository를 복사

=> git perspective로 변환 : [window] - [perspective] - [open perspective] - [other]를 클릭해서 git 선택

=>Clone a Git Repository를 클릭하고 앞에서 복사한 주소를 붙여넣기한다.

 

3) 업로드할 프로젝트를 선택하고 마우스우클릭 후 [Team] - [Share Project]

 

'Java' 카테고리의 다른 글

6일차 공부 반복문  (0) 2020.04.13
5일차 공부 IF 문  (0) 2020.04.10
3일차 공부 연산자  (0) 2020.04.08
2일차 공부 초기설정  (0) 2020.04.07
1일차 공부  (0) 2020.04.06