switch( s % 3 ) {
case 0 : System.out.println("3의 배수입니다."); break;
case 1: case 2 : System.out.println("3의 배수가 아님"); break;

}

3으로 나눈 수의 나머지는 0, 1, 2만 있으므로.

switch( s % 3) {
case 0 : System.out.println("3의 배수입니다."); break;
default : System.out.println("3의 배수가 아님"); break;

}

0이 아닌 값일 시 default가 나온다.

switch (n) {

case 3 : System.out.print("*");

case 2 : System.out.print("#");

case 1 : System.out.print("$");

default : System.out.print("입력오류"); 

}

입력받은 n 이 3이면 *#$를 출력

2이면 #$를 출력 

1이면 $를 출력

다른 값들은 입력오류 를 출력한다.

3이면 3, 2, 1을 실행

아니면 2인지확인하고 2이면 2, 1을 실행 ... 이런식으로 진행된다. 

 

switch (n) {

case 3 : System.out.print("*"); break;

case 2 : System.out.print("#"); break;

case 1 : System.out.print("$"); break;

default : System.out.print("입력오류"); break;

}

break;가 있으면 3이면 3만 실행.

처음에 내가 짠 코드.

if ( c>='A' && c<='Z'){

System.out.println(c + " -> 대문자");

} else if ( c>='a' %% c<='z')

System.out.println(c + " -> 소문자"); 

} else {

System.out.println(c + " -> 기타문자");

}

처음에 내가 생각한 코드.

선생님이 짜주신 코드.

t=a;

a=b;

b=t; 

이 코드는 전에도 썼었는데

a와 b의 값이 서로 바뀌는 것.

 

지금은 3자리 수라서 경우의 수 6개 정도는 할 수 있지만

더 많아지면 힘들기 때문에 좀 더 효율적인 코드.

if(a>b){

t=a;

a=b;

b=t;

}

/*

a의 값이 크면 a와 b의 값을 바꿈

*/

if(a>c){

t=a;

a=c;

c=t;

}

/*

a의 값이 크면 a와 c의 값을 바꿈

*/

if(b>c){

t=b;

b=c;

c=t;

}

/*

b의 값이 크면 b와 c의 값을 바꿈

*/

string s;

if (n%2==0 && n%3==0) {

 s = "6의 배수";

} else if (n%2==0) {

s = "2의 배수";

} else if (n%3==0) {

s = "3의 배수";

} else {

s = "2또는 3의 배수가 아닙니다.";

}

 

위는 내가 이것저것 해보려고 시도해본 것들.

 

입력 받은 정수의 홀짝 구분.

if(n%2==1) {

s = "홀수";

}

System.out.println(n + " : " + s);

이면 컴파일 오류인데 s가 초기화 되어있지 않기 때문이다.

 s 의 초기값이 없기때문에 무엇이 있는지 모르고 실행되기에 컴파일 오류이다.

따라서 

s = "짝수"; 처럼 초기화시킨 후에

if 문을 써야함.

 

 

2로 나눴을 때 나머지가 1이면 홀수이다.

if(n%2==1) {

s = "홀수";

}

 

2로 나눈 나머지가 0이면 짝수이다. 그렇지 않으면 홀수임.

if(n%2==) {

s = "짝수";

} else {

s = "홀수";

}

System.out.println(n+ " : " + s);

 

왜 여기에서는 s의 값이 초기화 되지 않았는데 컴파일 오류가 아닌 것인가??

>첫 번째는 아닌 경우에는 값이 정해지지 않음.

  두 번째는 어쨌든 값이 정해짐. 

0702 복습

\r : 동일행의 선두로 이동
\uhhhh : 16진수 유니코드 문자. (8진수는 숫자3개)
'A' : 65 \u0041
'Z': 90
'a' : 97
'0' : 48
'9' : 57

문자열 : String  

산술연산의 기본형은 int형으로 변환하여 연산함.
따라서 byte, short,char는 int로 변환해서 연산한다. (따라서 속도가 조금 느려진다.) 
상수는 상관 없음.
피 연산자가 float형 또는 double형에서도 %연산자를 사용 할 수 있다. (C언어는 불가)
피 연산자의 자료 형이 다른 경우 큰 타입으로 변환 되어 연산된다.
ex ) int형 + long 형 = 변환 long형 + long형 => 결과 long형

 

0705 복습

 

++a;
a++; 
1증가이지만 위치에 따라 차이가 있음.
자료 형을 유지 시키면서 연산을 수행한다.

관계연산자 
>, >=, <, <= 결과는 true 아니면 false이다.
동등 연산자
==, != 결과는 true 아니면 false이다.

논리연산자
&&. ||
논리 부정 연산자
!
비트단위 연산자&, |, ^, ~ 실수단위에서는 불가능하다. 정수형에서 가능.
>>(부호로 채움), >>>(0으로 채움), 나눗셈 연산 << 곱셈응용 shift 연산이 있다.
대입 연산자
= 우변에있는 내용을 좌변으로 대입
배정 연산자
+=, -=, *=./-,... 형 변환이 일어나지 않고 자료 형이 유지.
조건 연산자
조건 = 조건식? 참일때 값 : 거짓일때 값;

한 문자를 입력 받아 입력 받은 문자의 ASCII 코드 값을 출력. 

'쌍용강북교육센터 > 7월' 카테고리의 다른 글

Q 0706_Ex01_if / Ex02_if : 입력받은 정수의 홀짝/짝 구분  (0) 2021.07.06
0706_복습  (0) 2021.07.06
0705_Ex17_Operator  (0) 2021.07.06
0705_Ex16_Operator  (0) 2021.07.06
0705_Ex15_Operator  (0) 2021.07.06

+ Recent posts