ON/JAVA

1주차_지금까지 이해하지 못한 것 개념이 확실하지 않는 것에 대해서 정리

박도비 2023. 4. 21. 23:52
728x90

1. 출력 메소드

 

출력 메소드는 총 3가지가 있다. 

관련한 내용은 아래와 같이 정리 했다.

	public void ex1() {
		
		System.out.println("테스트1");// 출력 구문 줄 바꿈 O 
		System.out.print("테스트2");//줄바꿈 불가로 출력하게 되면 오른쪽으로 길게 나열 된다.
		System.out.print("테스트3");//줄바꿈 불가로 출력하게 되면 오른쪽으로 길게 나열 된다.
		
		System.out.println();
		
		int a = 1;
		int b = 2;
		
		System.out.printf("%d + %d = %d" , a , b ,a+b); 
		// 출력 구문 ,  출력될 문자열 형식을 패턴으로 지정하는 출력구문
		
	}

위에 3가지를 출력하게 되면 아래와 같은 결과가 출력 된다. 

3번 예제가 2번 오른쪽으로 나열되지 않은 이유는  ✔된 부분이 한줄 띄어쓰기 때문이며, 

줄바꿈을 하고 싶다면 \n을 같이 써주면 줄 바꿈이 가능하다. 

 

1번 2번은 

 

여기서 내가 가장 잘 까먹는 부분은

 System.out.printf("형식", 변수);

출력될 문자열 형식을 패턴으로 지정하는 출력구문 / 줄 바꿈 x

정해진 패턴대로 들어갈 변수를 순차적으로 정해줌(변수는 콤마로 구분)

 

 1. % 유형 

%d 정수형 / %c 문자 / %s 문자열 / %f 실수(소숫점 아래 6자리까지) / %b 논리형  

ㄴ % + 숫자 + 알파벳 = 퍼 수 알 > 이라고 외우자 ! 

 

ex. %5d > 왼쪽 5칸 공간확보를 하고 정수형을 의미한다.  

 

2. 연산자 

1) 논리연산자 (조건문을 사용할때 자주 사용한다)

① AND 연산자 (&&)

ㄴ ~와, ~그리고(이고), ~ 면서, ~이면서, ~부터, ~까지 ~ 사이에 

ㄴ 우항과 좌항이 둘다 true(참) 값이여야지 조건식이 출력된다.

ㄴ 만일, 우항 = true이고 좌항 = false 이면 false로 출력하여 조건식을 쓸 수 없다. 

 

② OR 연산자 ( || )

ㄴ~또는, ~거나, ~이거나 

ㄴ 우항과 좌항이 둘 중 하나라도 참이면 전체가 참이 되어 출력된다. 

ㄴ 만일, 우항 = true이고 좌항 = false 이면 하나라도 true이기 때문에 조건식을 사용할 수 있다. 

 

그렇다면 예제를 보자. 

 

달을 입력했을때, 그달에 맞는 계절을 표출해라

봄은 3 ~ 5월까지고 / 여름은 6월 ~8월까지 / 가을은 9월 ~ 11월까지 / 겨울은 12월 ~ 2까지

만일 해당하는 계절이 없을 경우 " 해당하는 계절이 없습니다."라고 콘솔창에 찍어라.

    public void ex6() {

        Scanner sc = new Scanner(System.in);

        System.out.println("달 입력 : ");
        int month = sc.nextInt();
        String season;

        // 봄 : 3,4,5
        // 여름 : 6,7,8
        // 가을 : 9,10,11
        // 겨울 : 12,1,2
        // 해당하는 계절이 없을 경우 " 해당하는 계절이 없습니다"출력 

        if (month > 2 && month < 6) {
            season = "봄";

        }else if(month > 5 && month <9 ) {
             season = "여름";

        }else if(month > 8 && month <12) {
            season = "가을";

        }else if(month ==12 || month == 1 || month ==2) {
            season = "겨울";

        }else{ //if , else if가 모두 false인 경우 
            season = "해당하는 계절이 없습니다.";


        }
        System.out.println(season);
    }

if (month > 2 && month < 6) {
season = "봄";

 

ㄴ 입력한 month가 2보다 크고 6보다 작은 것을 모두 만족했을때 "봄"을 출력해라 

}else if(month > 5 && month <9 ) {
 season = "여름";

 

ㄴ 입력한 month가 5보다 크고 9보다 작은 것을 모두 만족했을때 "여름"을 출력해라 


}else if(month > 8 && month <12) {
season = "가을";

 

ㄴ 입력한 month가 8보다 크고 12보다 작은 것을 모두 만족했을때 "가을"을 출력해라 

 
}else if(month ==12 || month == 1 || month ==2) {
season = "겨울";

 

ㄴ 입력한 month가 12가 true일때 1 /2가 거짓이라도 "겨울"을 출력해라

ㄴ입력한 month가 1가 true일때 12 /2가 거짓이라도 ''겨울''을 출력해라 

ㄴ입력한 month가 2가 true일때 12 /1이 거짓이라도 ''겨울''을 출력해라 

 

다시 정리 하자면, 

1. && 둘다 참이여야지 조건문 실행할거야!

    둘 중에 하나면 참이면 조건문 실행 안해! 

 

2. || 둘중에 하나면 참이면 조건문 실행할거야!

     만약 ? 둘다 거짓이면 조건문 실행 안해! 

 

 

2) 복합연산자 

 

① += 

왼쪽 변수에 더하면서 대입한다.

 

② - =

왼쪽 변수값에서 빼면서 대입한다.

 

더 빠른 이해를 위해 예제를 살펴보자

int x = 10;

x+= 10;  
// x + 10 =x
// 10 + 10 = 20

int x = 10;

x-= 10;  // X - 10 =X
// X - 10 =X
// 10 - 10 =0

3. if 문  (조건이 true면 조건문을 실행한다)

1. if 문 

if (조건식){

조건식이 true 일 때 수행할 코드 

}
2. if - else 문

if (조건식) {
	조건식이 true면 수행할 코드 
    
    } else {
   
    조건식이 false면 수행할 코드
    
    }
3. if - else if  -else 문 

if(조건식1){
	실행문 1 // 조건식 1이 true 일때 실행 
 
 } else if(조건식2){
 	실행문 2 // 조건식 1이 false이고 조건식 2가 true일때 실행 
  
 } else {
 	실행문 3 // 조건식 1과 2가 false일때 실행
    
 }

4. char 자료형

char ch = 'A'

char ch2 = 66

 

char자료형은 문자만 들어올 수 있다고 했는데 숫자가 들어왔다. 

그이유는 컴퓨터에는 문자표가 존재하고 있어 숫자에 따라 지정된 문자 모양이 매핑되어 있어, 

'B'문자 그대로 대입이 되면 변수에 숫자 66이 변환되어 저장되어 있다. 

 

66은 알파벳 대문자 B를 숫자로 변환한 (아스키코드 ACSII Code)가 66이기 때문이다. 

 

5. Math.random 난수생성하기 /랜덤값 출력

 

만일 내가 0부터 100까지 난수를 출력한다면 아래와 같이 작성하면 된다. 

 

0.0 <= x < 1.0

0.0 <= x < 1.0*100  -> 0.0 <= x <100 -> 0부터 99까지 되며 100까지 출력하고 싶다면 

0.0 <= x < 1.0*100+1 로 작성하면 된다. 

728x90