혜니니의 공부방

[국비지원] 210127 연산자 마무리, 제어문 본문

공부 기록/자바 프로그래밍 기초

[국비지원] 210127 연산자 마무리, 제어문

니니혜 2021. 1. 27. 16:26

21.01.27 

 

INDEX

01 연산자 마무리

02 제어문

 

 

 

 

 

 

01 연산자 마무리

 

단항 연산자/증감 연산자, 비교 연산자, 논리 연산자

 

- 비교 연산자 (관계 연산자) 
: 결과물은 boolean 타입.
- 논리 연산자 

AND   A&&B 
true &&true&& false ; 
>> 
false && true &&& true; 
>> 속도가 더 빠름, 연산을 한번 더 하지 않음. 
 / 두개씩 나눠서 연산함.  
OR     A||B  NOT   !AB 


- 삼항 연산자 
 조건식? 조건식이 true일때는 실행할 코드 : 조건식이 false일때 실행할 코드

package com.coconut.hey3;

import java.util.Scanner;

public class Operator_08_ex2 {

	public static void main(String[] args) {
		//물건의 구매 가격을 입력한다
		//물건의 가격이 3만원 이상이면 5프로를 할인한다.
		//이하는 3프로를 할인한다.
		//택배비는 균등하게 2500원
		//최종출력은 물건할인된 최종가격과 택배비가 포함된 최종 가격을 출력
		
		
		Scanner sc= new Scanner(System.in);
		System.out.println("물건의 가격을 입력해주세요");
		
		//배송비
		int deliver= 2000;
		//가격 입력받기
		int price= sc.nextInt();
		
		//할인된 가격 결과
		double result = price>=30000 ? price*0.95 : price*0.97;

		//가격 형변환 
		int result1 = (int)result;
		// 배송비 포함 가격 
		int finalPrice= result1+deliver;
		
		System.out.println("할인된 가격:"+result1);
		System.out.println("최종 가격(배송비포함)"+finalPrice);
		//Sysout("택배비포함:" +(result+2500));
		
	}

}



- 단항연산자 / 증감연산자
- 단독으로 사용할때는 선,후 결과가 같고, 다른 항이 있거나 연산을 할 때는 달라진다.
- 후행 연산은 우선순위가 젤 끝이다.

1) ++A(선행) : 1증가 A= A+1;
   A++ (후행 : 1증가


2) --A(선) : 1감소  A= A-1;
   A--(후) : 1감소

 


쉬프트 연산자(비트 연산자) - RGB 연산 혹은 보안 프로그램사용시  자주 씀.

1) A<< B: 정수 A의 비트를 B만큼 좌측으로 밀고 빈칸은 0으로 채운다.
2) A>>B: 정수 A의 비트를 B만큼 우측으로 밀고 

A가 양의 숫자면 빈칸은 0으로 채우고 음의 숫자면 1로 채운다

3) A>>>B : 정수 A의 비트를 B만큼 우측으로 밀고 빈칸은 전부 0으로 채운다.


02 제어문

 

if (조건식){

  // 메서드

}                           인 간단한 조건문을 배웠다.

 

package com.coconut.hey4;

import java.util.Scanner;

public class Condition_1_ex2 {

	public static void main(String[] args) {
		/**
		 * 키보드로부터 입력받기
		 * 국, 영, 수를 입력받는다.
		 * 총점과 평균을 계산한다.
		 * 평균이 90점 이상이면 A를 출력
		 * 평균이 80점 이상이면 B를 출력
		 * 평균이 70점 이상이면 C를 출력
		 * 60점 이상이면 D
		 * 60점 미만이면 F를 출력.
		 * 단일 if문으로 만들기.
		 * */

		Scanner sc= new Scanner(System.in);
		
		System.out.println("국어 점수를 입력하세요.");
		int kor= sc.nextInt();
		System.out.println("수학 점수를 입력하세요.");
		int math= sc.nextInt();
		System.out.println("영어 점수를 입력하세요.");
		int eng= sc.nextInt();
		
		int total= kor+math+eng;
		double avg= total/3.0;
		
		System.out.println("총점: "+total);
		System.out.println("평균: "+avg);

		if (avg>=90 && avg<101) {
			System.out.println("A");
			
		}
		if (avg>=80 && avg<90) {
			System.out.println("B");
			
		}
		if (avg>=70 && avg<80) {
			System.out.println("C");
			
		}
		if (avg>=60 && avg<70) {
			System.out.println("D");
			
		}
		if(avg<60){
			System.out.println("F");
		}
        
     }
   }

간단한 예제를 풀고 깃허브에 커밋했음! 

자바의 제어문도 딱히 파이썬이랑 크게 다를게 없는 것 같다.

 

* Scope: 영역 {  }

- 영역내에서 선언된 변수는 영역이 종료되면 변수도 함께 종료된다. 💨LifeCycle: 생명주기라고 부릅니다.

- 클래스 영역을 제외한 { } 내에 선언된 변수를 지역변수라고 한다. 

 

 

 

 

 

( •̀ ω •́ )✧ 일주일 간은 기본적인 프로그래밍 문법을 하고 다음 주부터가 본격 자바라고 하셨다.. 이번주는 사실 좀 많이 널널하다 허허.... 강사님이 빠르게 진도를 나가기보다는 흐름을 이해시켜주려고 하셔서 잘 이해하면서 듣고 있다. 그래서 예제같은거 푸는 시간 주시면 얼른 풀어버리고(사실 쉽다..ㅜㅜ) 취준이나 블로그정리, 깃허브정리 등도 하고 그런다. 호호... 아 그리고 강사님이 깃허브도 알려주시려는지 강사님 깃허브도 알려주시고, 나중에 배워야할거라고해주셨다.. 껄껄.... 평소에는 침대에 누워있기만하는데 이렇게라도 하니까 여러가지 하는거같다아... 일단 잘 따라가보자 ㅠㅠ흑흑 진도가 엄청 느리기는한데 ... 다음주부턴 또 그렇지않겠지...  내일이면 4일차,,, 주말 빨리와!

Comments