📢 수업 2일차
전체적으로 기본적인 내용들을 흝어보고 지나갔다. 아직은 2일차고 대부분이 나와같은 비전공자이기 때문에 기본적인 내용들을 나름 상세하게 다루어서 강의는 진행되었다. 다만 아쉬운점은 무언가 속도가 느린점이다. 클론코딩과 코딩할 수 있는 실질적인 강의만 보다 나름 이론적인 강의를 시작되니 낯설고 집중이 전체적으로 안된것 같다. 혹은 비대면으로 강의가 진행되어서 그런것 일수도 있을것 같다. 그래도 전체적으로 컴퓨터 소프트웨어에대한 지식이 없는 나에게 공부 할 수 있는 기회가 되어 좋은 기회가 되었다. 많은 클래스와 패키지를 만들다보니 이클립스와도 친해지는 느낌이다.
📌 수업 정리 내용
💡 변수(Variable)
- 변수란, 하나의 값을 저장할 수 있는 메모리 공간.
- primitive type(기본형 타입) 변수 : 정수(문자), 실수, 논리형( boolean) 데이터 타입이 있다.
- Referenece type(객체형 타입) 변수 : 문자열, 객체
- byte, 8개의 비트로 구성된 데이터양을 나타나는 단위로 -128 ~127의 수를 담고 있다.
- 유니코드, 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준이며, 유니코드 협회에서 제정한다.
- "="가 있을때는 우항이 먼저 실행 되고 좌항으로 옮겨짐.
- 정수의 사칙연산이 일어나면 자바에서는 무조건 int형으로 인식한다.
- 데이터 타입을 잘못 사용하여 범위를 벗어난 답을 얻어 데이터가 깨질 수 있어 주의를 해야한다.
- 실수의 기본적인 연산은 double이다.
- 정수보다 실수의 데이터값이 더 크다.
int v1 = 10; // 10진수표현 10
int v2 = 012; // 8진수표현 10
int v3 = 0xA; // 16진수표현 10
byte b1 = 10;
byte b2 = 10;
byte b3 = b1 + b2; // error, "="가 있을때는 우항 실행되고 좌항이 실행됨. 정수의 사칙연산이 일어나면 자바에서는 무조건 int형으로 인식한다.
💡 Java의 데이터 타입과 크기, 데이터양
종류 | 데이터 타입 | 크기 | 기억 범위 |
문자 | char | 2Byte | 0 ~ 65535 |
정수 | byte | 1Byte | -128 ~ 127 |
short | 2Byte | -32768 ~ 32767 | |
int | 4Byte | -2147483648 ~ 2147483647 |
|
long | 8Byte | -9223372036854775808 ~ 9223372036854775807 |
|
실수 | float | 4Byte | 1.4 X (10의-45제곱) ~ 3.4 X (10의 38제곱) |
double | 8Byte | 4.9 X (10의 -324제곱) ~ 1.8 X (10의 308제곱) |
|
논리 | boolean | 1Byte | true / false |
- 정수 + 실수 일경우 데이터타입은 실수형을 따른다.
- boolean 타입은 true와 false 값만 갖는다.
💡 연산자(Operations)
- 연산이란 데이터를 처리하여 결과를 산출하는것.
- 연산에 사용 되는 표시나 기호(=,-,*,/,% 등)
- 피연산자(Operand) : 연산 대상이 되는 데이터 (리터럴, 변수)
- 연산식 (Expressions) : 연산자와 피연산자를
🔍 연산자 종류
종류 | 연산자 | 우선순위 |
증감 연산자 | ++, -- | 1순위 |
산술 연산자 | +, -, *, /, % | 2순위 |
시프트 연산자 | >>, <<, >>> | 3순위 |
비교 연산자 | >, <. >=, <=, ==, != | 4순위 |
비트 연산자 | &, |, ^, ~ | ~만 1순위, 나머지는 5순위 |
논리 연산자 | &&, ||, ! | !만 1순위, 나머지는 6순위 |
조건(삼항) 연산자 | ?, : | 7순위 |
대입 연산자 | =, *=, /=, %=, +=, -= | 8순위 |
구분 | 연산자 | 설명 |
증감 연산자 | x++ | 먼저 해당 연산을 수행한 후 피연산자의 값을 1증가 시킴 |
++x | 먼저 피연산자의 값을 1증가 시킨 후 해당 연산을 수행함 | |
x-- | 먼저 해당 연산을 수행한 후 피연산자의 값을 1감소 시킴 | |
--x | 먼저 피연산자의 값을 1감소 시킨 후 해당 연산을 수행함 | |
산술 연산자 | + | 두 수에 대한 덧셈 |
- | 두 수에 대한 뺄셈 | |
* | 두 수에 대한 곱셈 | |
/ | 두 수에 대한 나눗셈 | |
% | 두 수를 나눈 후 그 나머지를 반환한다. | |
비교 연산자 | > | 크다. |
< | 작다. | |
>= | 크거나 같다. | |
<= | 작거나 같다. | |
== | 피연산자들의 값이 같다. | |
!= | 피연산자들의 값이 같지 않다. | |
논리 연산자 | & | and(논리곱) 주어진 조건들이 모두 true일 때만 true를 나타낸다. |
| | or(논리합) 주어진 조건들 중 하나라도 true이면 true를 나타낸다. | |
! | not(부정) true는 false로 false는 true로 나타낸다. | |
&& | 선조건이 true일 때만 후조건을 실행하며 선조건이 false이면 후조건을 실행하지 않는다. true&&true -> true, true&&false -> false |
|
|| | 선조건이 true이면 후조건을 실행하지 않으며 선조건이 false일 때만 후조건을 실행한다. true || false -> true, false || true -> true, false || false -> false **퍼포먼스 때문에 &&, || 를 많이 쓰인다. |
|
대입 연산자 | = | 연산자를 중심으로 오른쪽 변수값을 왼쪽 변수에 대입한다. |
+= | 왼쪽 변수에 더하면서 대입한다. | |
-= | 왼쪽 변수값에서 빼면서 대입한다. | |
*= | 왼쪽 변수에 곱하면서 대입한다. | |
/= | 왼쪽 변수에 나누면서 대입한다. | |
%= | 왼쪽 변수에 나머지 값을 구하면서 대입한다. | |
삼항 연산자 | ? : | 조건식 ? 참값 : 거짓값 ; |
다중 연산자 | ? : ? : : | 조건식1(if) ? 참값 : 조건식2(else if) ? : 참값 : 거짓값 ; |
삼항연산자는 다음과 같은 조건식을 한줄로 정리 할 수 있다.
int e1 = 10;
int e2 = 20;
int eresult = 0;
if (e1 <= e2) {
eresult = 100;
}else {
eresult = 200;
}
System.out.println(eresult); // 결과값 '100'
int eresult2 = (e1 <= e2) ? 100 : 200;
System.out.println(eresult2); // 결과값 '100'
- int a = 5; , a += 5; // 결과값 '10'
- 100(정수) / 0.0(실수) 일경우 값은 "Infinity" 가 나온다.
- char 은 int로 타입 교체 가능.
- Integer.parseInt() || Integer.valuOf 를 통해 스트링도 정수로 바꿀수 있지만 수가 아닌 글은 변환이 불가능하다.
📥 공부 참고 자료.
'Basic > 멀티캠퍼스__AI플랫폼을 활용한 웹서비스 개발' 카테고리의 다른 글
멀티캠퍼스 AI플랫폼을 활용한 웹서비스 개발 - 6일차 (0) | 2022.04.11 |
---|---|
멀티캠퍼스 AI플랫폼을 활용한 웹서비스 개발 - 5일차. (0) | 2022.04.08 |
멀티캠퍼스 AI플랫폼을 활용한 웹서비스 개발 - 4일차. (0) | 2022.04.07 |
멀티캠퍼스 AI플랫폼을 활용한 웹서비스 개발 - 3일차. (0) | 2022.04.06 |
멀티캠퍼스 AI플랫폼을 활용한 웹서비스 개발 1일차. (0) | 2022.04.04 |
댓글