티스토리 뷰

back/Java

KH 7일차

devel0per 2022. 7. 10. 23:07

7일차의 중점 내용은 For문 / Switch문 / Random난수 3가지 파트였다.

 

For문과 Switch문을 자유자재로 사용할 수 있게 손에 익히도록 코딩했고,

 

그 결과, 이제는 전체적인 흐름이 눈에 보이기 시작했다.

 

 

class Random_1 
{
	public static void main(String[] args) 
	{
		char score;

		for (int i = 1; i <= 100 ; i++ )
		{
			score = (char)(Math.random() * 26 + 'A'); 

			System.out.printf("%3c", score);

			if(i%10 == 0)
			{
				System.out.println();
			}	
		}
	}
}

For문Math.random()을 조합해서 만든 코드! 랜덤으로 A알파벳부터 Z알파벳까지 랜덤으로 i의 증감값에 맞춰 출력된다.

여기서 중요한 Point는 score의 형태를 char로 설정하고, Math.random 난수의 범위를 26을 곱하고 'A'(65)을 더해서 65보다 크고 91보다는 작은 수를 char형태로 score에 다시 저장하여 %3c의 형태로 출력하면 우리가 원하는 값인 랜덤 알파벳이 출력된다!

 

import java.util.Scanner;

class Switch_7 
{
	public static void main(String[] args) 
	{
		Scanner sc = new Scanner(System.in);
		System.out.println("당신의 점수를 입력해주세요 0 ~ 10");

		int score = sc.nextInt();

		char grade = ' ';

		switch(score)
		{
			case 10:
			case 9:
				grade = 'A';
				break;

			case 8:
				grade = 'B';
				break;
			
			case 7:
				grade = 'C';
				break;
			
			default:
				grade = 'F';
				break;

		}
		System.out.println("당신의 학점은" + grade + "입니다");
	}
}

 

switch문의 기본적인틀! switch(변수)로 시작하여 case + break + default로 각각의 case를 따져가면서 값을 출력한다. 여기서 Point는 break; 를 적어주지 않으면 case에 상관없이 쭉쭉 컴파일되어 break; 가 걸릴 때까지 코드가 출력된다.

 

 

class For_1 
{
	public static void main(String[] args) 
	{
		int sum = 0;
		int even = 0;
		int odd = 0;
		int num = 0;

		// 초기화 작업 하나하나 다 해야된다.
		for (int cnt = 1;cnt <= 100 ; cnt++ )
		{
			sum += ++num ; // num = num + 1  / sum = sum + num
			if(cnt % 2 == 0){
				even += cnt;
			}
			else{
				odd += cnt;
			}
			System.out.println(cnt);	
		}
		System.out.println("\n  sum =" + sum); 
		System.out.println("\n  even sum =" + even);
		System.out.println("\n  odd sum =" + odd);
	}
}

For문을 통해서 100번의 반복으로 인해 1~100의 숫자의 합(5050)과 짝수의 합, 홀수의 합을 구하는 코드를 작성하였다.

여기서 Point는 변수를 선언하고 초기화하는 과정에서 처음에 int sum,even,odd,num = 0; 이런식으로 한번에 초기화가 진행이 가능한지 알았는데, 절대 이렇게는 안되고 하나하나 초기화를 따져가야된다는점과, sum += ++num; 이런식으로 복합연산자를 사용할 수 있다는 점이다!

 


오늘로써, 국비교육을 받은지 7일차가 됐다. Java 기본개념을 분석하고 스스로 문제를 풀어가는 과정 중에서 상당한 재미를 느끼고 있다는 점에서 긍정적인 7일로 생각할 수 있겠다. 항상 왜? 왜 이런 코드가 실행이 되지? 라는 의문을 가지고 모든 코드가 익숙해질때까지 반복 숙달을 해야겠다!

 

다가오는 7월 11일부터의 한주도 화이팅

 

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

KH 9일차  (2) 2022.07.12
KH 8일차  (0) 2022.07.11
KH 6일차  (0) 2022.07.07
KH 5일차  (0) 2022.07.06
KH 4일차  (0) 2022.07.05
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크