50일차_JAVA

서창민·2023년 5월 22일
0

JAVA

목록 보기
3/21
post-thumbnail

23.05.22 월 50일차

JAVA

연산자

  • 몫과 나머지
package ch01;

public class test0522 {
	public static void main(String[] args) {
		int num = 10;
		double result1 = num / 3; // 나누기의 몫
		double result2 = num % 3; // 나누기의 나머지
		System.out.println("몫:" + result1);
		System.out.println("나머지:" + result2);
	}
}

몫 3과 나머지 1.0으로 출력값을 확인 가능하다.
/ 는 나누기 %는 나누어진 값의 나머지를 구하는 산술 연산자이다.

  • 정확한 값 표기
package ch01;

public class test0522 {
	public static void main(String[] args) {
    	// double은 부동소수점 표기 (근사값을 표기)
		int apple1 =1;
		double pieceUnit1 = 0.1; 
		int number1 = 7;
		
		double result1 = apple1 - number1*pieceUnit1;
		System.out.print("사과 1개에서 남은 양: " + result1); // 0.29999999999999993
	
		// int는 정수형 표기(정확한 값을 표기)
		int apple2 =10;
		int pieceUnit2 = 1; 
		int number2 = 7;
		
		int result2 = apple2 - number2*pieceUnit2;
		System.out.print("사과 1개에서 남은 양: " + result2/10.0); // 0.3
	}
}
  • 0 으로 나누기
		int x = 5;
		int y = 0;
		int result = x / y;
		System.out.print(result);  // Error

		int x = 5;
		double y = 0.0;
		double result = x / y;
		System.out.print(result);  // infinity
        
        int x = 5;
		double y = 0.0;
		double result = x % y;
		System.out.print(result);  // NaN
        
        if (Double.isInfinite(result)) {
			System.out.println("무한대 입니다!!");
		}

int 형으로 0을 사용해 나누면 0의 값으로 나눌수 없다는 Error 발생
double 형으로 0을 사용해 몫과 나머지를 구하면 값이
무한대와 숫자가 아니라는 결과값을 표기한다.

double 결과값이 무한대일때 표기하는 출력문을 추가했다.

  • 비교 연산자
		String str1 = "자 바";
		String str2 = "자바";
		if (str1.equals(str2)) {
			System.out.println("두 문자열은 동일합니다.!!!");
		}else {
			System.out.println("두 문자열은 동일하지 않습니다.!!!");
		}

문자열이 동일한지 비교하는 연산자는 = 으로 표기하고
if문을 추가해 equals를 사용하여 동일한 문자인지 확인한다.

  • 대입 연산자
		// 대입연산자(오른쪽 > 왼쪽)
		int s = 0;
		int i = 1;
		s += i ; // s = s + i;
		System.out.println(s); // 1

대입연산자는 오른쪽의 값을 왼쪽의 값으로 대입한다.

  • 삼항(조건) 연산자
		// 삼항(조건) 연산자
		int score = 85;
		char grade = (score > 90) ? 'A' : ((score > 80) ? 'B' : 'C');
		System.out.println("점은 " + grade + "등급입니다.");
		
		// if 문 표기
		int score2 = 75;
		String grade2 = "";
		if( score2 > 90) {
			grade2 = "A";
		}else if(score2 > 80) {
			grade2 = "B";
		}else {
			grade2 = "C";
		}
		System.out.println("점은 " + grade2 + "등급입니다.");

조건을 표기한 후 ? 이후에 전:후 의 값으로 참이면 전의 값을 거짓이면 후의 값을 가져온다.
if문과 같은 조건문으로 동일한 출력을 if문으로 표기할 수 있다.

  • 랜덤함수
		// 랜덤함수 (11 ~ 13사이 숫자)
		for (int i= 1 ; i < 8; i++) {
			int num = (int)(Math.random() * 3) + 11;
			System.out.println(num+ " ");
		}

(math.random() * 범위) + 초기값;
으로 초기값과 범위를 지정하여 출력할 수 있다.

// 2중 if문을 활용한 random 함수
		int score = (int)(Math.random() * 20) + 81;
		System.out.println(score+ " ");
		
		String grade;
		
		if(score >= 90) {
			if (score>=95) {
				grade = "A+";
			}else {
				grade = "A";	
			}
		}else {
			if (score>=85) {
				grade = "B+";
			}else {
				grade = "B";	
			}
		}
		System.out.println("학점: "+score);

2중 if 문을 활용하여 random 숫자의 학점을 구할 수있다.

  • Switch문
		// 정수형 Switch문
		int num = 2;
		switch(num) {
		case 1:
			System.out.print("1 ");
			break;
		case 2:
			System.out.print("2 ");
		case 3:
			System.out.print("3 ");
			break;
		case 4:
			System.out.print("4 ");
		default:
			System.out.print("5");
        }
        
        // 문자형 Switch문
        		char grade = 'F';
		switch(grade) {
		case 'A':
			System.out.print("매우 우수 ");
			break;
		case 'B':
			System.out.print("우수 ");
		case 'C':
			System.out.print("보통 ");
			break;
		case 'D':
			System.out.print("미달 ");
		default:
			System.out.print("매우 미달");
        }

Switch문은 case의 순서대로 출력이 나오며, Switch문의 괄호에는 정수형 타입 byte, char, short, int, long과 문자열타입 String을 사용할 수 있다.
default는 else와 같은 케이스 이외의 값을 처리한다.

  • 구구단
import java.util.Scanner;

		// 숫자 값을 받아 해당 구구단을 실행하기
    		Scanner scanner = new Scanner(System.in);
		System.out.print("시작 단 입력 : " );
		String str = scanner.nextLine();
		int m = Integer.parseInt(str);
		System.out.print("끝 단 입력 : " );
		String str2 = scanner.nextLine();
		int i = Integer.parseInt(str2);

		for (int a=m; a <= i; a++) {
			System.out.println("*** " + a + "단 ***");
			for (int n=1; n <= 9; n++) {
				if (n ==9) {
					System.out.print(a + " X " + n + "= " + (a*n) + "\n");
				}else {
					System.out.print(a + " X " + n + "= " + (a*n) + ", ");	
				}
			}
        }
		scanner.close();

import java.util.Scanner; Scanner 사용을 선언하고 콘솔창의 입력값을 받아 해당 값의 구구단을 출력하는 구구단이다.
scanner 사용후 Close를 동작해 주어 종료하도록 만든다.

  • while 문 - do ~ while 문
		int i = 5;
		do { 
			System.out.print(i + " ");
			i += 1;
		}while( i <= 10);

do 영역에 조건을 추가 한 뒤 while 반복문을 사용하여 반복된 출력 값을 볼 수 있는 코드이다.

		System.out.println("시작 단 입력하세요 ");
		Scanner scanner = new Scanner(System.in);
		System.out.print(">");
		String a = scanner.nextLine();
		scanner.close();
		int dan = Integer.parseInt(a);
			int j = dan;
			do {		
				System.out.println(j + "단");
				for (int i = 1; i < 10; i++) {
					System.out.println(j + " X " + i + " = " +(i*j) );
				}
				System.out.println();
				j += 1;
			} while(j <10);

		System.out.println();
		System.out.println("프로그램 종료");

단을 입력받아 do 조건문으로 반복을 돌린 구구단 코드이다 . 해당 형식처럼 다양한 방법으로도 구구단을 만들 수 있다.다양한 활용도를 가지고 있으니 알아두도록 하자.

profile
Back-end Developer Preparation Students

0개의 댓글