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

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

정수를 입력 받아 양수인지 음수인지 0인지를 판별.

자바에서 유일하게 피연산자가 3개인 조건연산자.

변수 = 조건식 ? 값 또는 연산식 : 값 또는 연산식

n>0 ? "양수" : (n<0 ? "음수" : "영") 

 

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

0706_복습  (0) 2021.07.06
0705_Ex20_Operator  (0) 2021.07.06
0705_Ex16_Operator  (0) 2021.07.06
0705_Ex15_Operator  (0) 2021.07.06
0705_Ex14_Operator  (0) 2021.07.06

정수를 입력 받아 홀수인지 짝수인지 판별하기

0001 은 1

0011 은 3

0111 은 7

1111 은 15

 

0001

0001 AND 연산

0001

 

0011

0001 AND 연산

0001

 

0111

0001 AND 연산

0001 

홀수의 경우 1로 AND 했을 때 1과 같은 값이 나온다. (짝수는 다른 0011, 0101...처럼 1과 같지 않은 값이 나온다)

연산자의 우선순위가 ==이 빠르기 때문에 ()로 AND 연산을 먼저 하라고 해줘야한다. 

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

0705_Ex20_Operator  (0) 2021.07.06
0705_Ex17_Operator  (0) 2021.07.06
0705_Ex15_Operator  (0) 2021.07.06
0705_Ex14_Operator  (0) 2021.07.06
0705_Ex13_Bit  (0) 2021.07.06

int a;

a = (+-+-+-((5%3)*(4/2)));
System.out.println(a);

/*

우선 연산 (+-+-+-(2*2))

-4 가 나온다.

*/

int x=2, y=5, z=0;
x+=3+2;
System.out.println(x); 
/*

우변을 먼저 계산한다. x+=5

x=7

*/
x += y -= z = 4; 
System.out.println(x+","+y+","+z);

/*

우변을 먼저 계산한다

x +=y -= 4

x+=1

x=3

따라서 3, 1, 4 이다.

*/

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

0705_Ex17_Operator  (0) 2021.07.06
0705_Ex16_Operator  (0) 2021.07.06
0705_Ex14_Operator  (0) 2021.07.06
0705_Ex13_Bit  (0) 2021.07.06
0705_Ex12_Bit  (0) 2021.07.06

short a, b;

a = 10;
b = 5;
/*

b = b + a; 는 컴파일 오류임. +연산은 int로 형 변환이 일어나기 때문이다.

따라서 b = (short)(b + a); 로 해야한다.

*/
b += a; 
System.out.println(b);

15

/*

b +=a; 는 형 변환이 일어나지 않는 연산이다. b=b+a와 결과가 동일하다.

*/
char c = 'A';
c += 10;
System.out.println(c); 

/*

65+10 = 75 에 해당하는 char는 K 이다.

*/
float f = 3.5f;
char ch = 'A';
ch += f;
System.out.println(ch);

/*

65+3.5 = 68.5 이지만 char에 들어갈때 알아서 정수가 들어간다. 68에 해당하는 char는 D.

*/

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

0705_Ex16_Operator  (0) 2021.07.06
0705_Ex15_Operator  (0) 2021.07.06
0705_Ex13_Bit  (0) 2021.07.06
0705_Ex12_Bit  (0) 2021.07.06
0705_Ex11_Bit  (0) 2021.07.06

int x, y, z;
boolean b;

x=y=z=1;
b = (++x != 0) || (++y != 0) || (++z !=0);
System.out.println(x+","+y+","+z+","+b);

/*

||연산에서 제일 첫번 째가 true 이므로 단축 연산.

2, 1, 1, true

*/

x=y=z=1;
b = (++x != 0) | (++y != 0) | (++z !=0); 
System.out.println(x+","+y+","+z+","+b);
/*

비트연산은 단축연산을 하지 않는다.

2,2,2,true
*/
x=y=z=-1;
b = (++x != 0) && (++y != 0) && (++z !=0);
System.out.println(x+","+y+","+z+","+b);
/*

첫 항이 false이므로 단축연삭.

0, -1, -1, false

*/
x=y=z=-1;
b = (++x != 0) & (++y != 0) & (++z !=0);
System.out.println(x+","+y+","+z+","+b);

/*

비트 연산은 단축연산을 하지 않는다.

0, 0, 0, false

*/

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

0705_Ex15_Operator  (0) 2021.07.06
0705_Ex14_Operator  (0) 2021.07.06
0705_Ex12_Bit  (0) 2021.07.06
0705_Ex11_Bit  (0) 2021.07.06
0705_Ex10_Bit  (0) 2021.07.06

+ Recent posts