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

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 a = 12;
int b = 6;
int c;

c = ~b;
System.out.println("~6:"+c);

/*

0000 0000 0000 0000 0000 0000 0000 0110  (길어서 0000 0110 라고하겠음)

1111 1111 1111 1111 1111 1111 1111 1001 이게 c의 값이다.

이것은 2의 보수로 저장되어있는 음수 # 임. 근데 #을 모르니까 다시 2의 보수를 취한다.

0000 0000 0000 0000 0000 0000 0000 0111 이다. 

즉 

~6:-7 이다.

*/

 


c = a&b;
System.out.println(c);

/*

& 연산자가 한 개만 사용 되었으므로 비트연산자이다.

1100

0110 을 AND 연산하면 

0100 이다. 따라서 4.
*/


c = a|b;
System.out.println(c);

/*

| 연산자가 한 개만 사용되었으므로 비트연산자.

1100

0110 을 OR연산하면

1110 이다. 따라서 14.

*/


c = a^b;
System.out.println(c);

/*

^연산은 XOR연산.

1100

0110 을 XOR연산하면. 

1010 이다. 따라서 10.

*/

a = 13;
b = a & 1;
System.out.println(b);

/*

1101

0001 AND 

0001 따라서 1.

*/

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

0705_Ex12_Bit  (0) 2021.07.06
0705_Ex11_Bit  (0) 2021.07.06
0705_Ex09_Logical  (0) 2021.07.05
0705_Ex08_Logical  (0) 2021.07.05
0705_Ex07_Logical  (0) 2021.07.05

a = 10;
b1 = false;
b2 = a>20 && (b1=true);

 

&& 연산은 둘 다 true이어야 한다.

하지만 a>20 에서 바로 false 이므로 뒤는 true 던 false던 false이므로 단축연산을 한다.

따라서 뒤에는 계산하지 않으므로 false, false가 출력된다.

 

a = 10;
b1 = false;
b2 = a<20 || (b1=true);

 

||연산은 앞부분이 true 면 뒤는 true 던 false던 true 이므로 단축연산을 한다.

뒤는 계산하지 않으므로 false, true 가 출력된다.

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

0705_Ex10_Bit  (0) 2021.07.06
0705_Ex09_Logical  (0) 2021.07.05
0705_Ex07_Logical  (0) 2021.07.05
0705_Ex06_Relational  (0) 2021.07.05
0705_Ex05_Operator  (0) 2021.07.05

원의 넓이는 = 반지름*반지름*3.141592...

원의 둘레는 = 반지금*2*3.141592...

실수형 표현을 위해 double로 자료형을 줘야한다.

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

0705_Ex06_Relational  (0) 2021.07.05
0705_Ex05_Operator  (0) 2021.07.05
0705_Ex03_Rect : 가로와 세로를 입력 받아 직사각형 넓이와 둘레 계산  (0) 2021.07.05
0705_Ex02_String  (0) 2021.07.05
0705_Ex01_Operator  (0) 2021.07.05

문자열 + 기본자료형 => 문자열(결합) 이 된다.

연산순서에 따라 korea+9 를 먼저 하면 korea9 + 3이 되므로 korea93

 

9+3 을 먼저하므로 12korea

문자 + 문자열 =>문자열 이므로 Akorea15

'0'에 해당되는 숫자 48이므로 48+10 을 먼저 하게된다. 58korea

'A'에 해당되는 숫자는 65. 따라서 70korea가 나오게 된다.  

연산은 int로 하기 때문에 double로 준 a 도 1+1이므로 2.0 으로 표현된다.

3/2. 점을 붙여서 double형임을 표현해준다. 1.5+1 이므로 2.5이다.

3.7 % 1.3 나머지를 구하므로 1.1 이 나온다.  C언어에서는 연산이 불가능하다고 한다.

피 연산자가 float 형 또는 double형에서도 %연산자는 사용 가능이 가능하다. 

'A' 는 유니코드 65값이므로 65+3 이므로 68이고 double형이기 때문에 68.0 으로 표현.

 

10 / 4 = 2를 double에 저장하면 2.0

변수값에는 위에 3/2. 한 것처럼 .을 넣어 double형임을 나타낼 수 없다. 

double형으로 계산하라고 했기 때문에 (실수+정수=>실수) 2.5가 나옴.

 

 

+ Recent posts