작성 : 2024. 4. 1.
전 시간 내용 복습 :
+ 공부양이 많으니 스스로 정리 매일매일
+ 기사 자격증을 따면 좋겠지만 자격요건이 안되기 때문에 정보처리산업기사 자격증이라도 따기
변수는 기본적으로 자료형의 값을 가지게 된다.
변수는 모양에 맞게 만들어져야 한다.→ 타입! (기본형)
( byte, short, char, int, long ) → 정수
-128~+127 < < < <
차이점은 크기! 값의 범위가 있음.
정수의 기본타입 int형, 내부에서는 int형이 기본!
byte를 써도 내부에서 int형을 쓰기 때문에 처리 속도가 떨어짐.
int은 ‘-21억 4천~ +21억 4천’ 의 범위를 가짐
long은 19자리 숫자 ..
- 변수명 규칙
- 숫자를 첫번 째 값으로 사용 불가 : int 2age; (x), int age2;
- 예약어 사용 불가 : int int; (x)
- 가능한 특수문자 : '_', '$' -> int a_b; (o) , int age@; (x)
작명해야 하는 경우 : 클래스명, 변수명, 메소드명 -> 낙타표기법
ex) 클래스명 : HelloWorld (파스칼 표기법)
ex) 변수명 : 소문자로 시작, helloWorld (카멜 케이스)
ex) 메소드명 : 소문자로 시작, helloWorld() -> 뒤에 ()가 붙음. (카멜 케이스)
파스칼 표기법 : 모든 문자의 첫 글자를 대문자로 작성
카멜케이스 표기법 : 두번째 문자부터 대문자로 작성
스네이크 표기법 : 문자 사이에 언더바 삽입 (background_color)
위 세개 중 하나로 통일해서 써야 함.
- 형변환 (boolean 제외) 자동형변환, 강제형변환
크기 :
-----------------> 자동형변환
값을 표현하는 범위가 folat가 더 큼 (소수점 가능)
byte(1) < short(2) < int(4) < long(8) < float(4) < double(8)
char(2) <
(바이트)
<----------------- 강제형변환
byte b = 10;
int i;
i = b; // byte -> int (자동형변환)
int i2 = 10;
byte b2 = (byte)i2; // int -> byte (강제형변환)
- 연산자
산술연산자 : + , - , *, / (몫) , % (나머지)
int x = 5;
int y = 2;
System.out.println(x + y);
System.out.println(x * y);
System.out.println("몫 : " + (x / y));
System.out.println("나머지 : " + (x % y));
System.out.println(x / (float)y); // 5 / 2 -> 5.0f / 2.0f 더 큰 단위로 형변환
증감연산자 (변수에만 적용 가능) : ++ , --
전치, 후치
변수의 값을 1 증가, 1 감소
int x = 10;
int result;
// result = ++x + 10; // x = 11 result = 21
result = x++ + 10; // x = 11 result = 20 -> 후치의 경우, 나중에 x가 증가 됨.
// 전치, 후치로 연산에서의 우선순위에 참여 순위가 정해짐
System.out.println(x);
System.out.println(result);
비교연산자 : == , != , < (초과), > (미만), <= (이하), >= (이상)
결과 : true , false
int x = 10;
int y = 20;
System.out.println(x == y); //false
System.out.println(x != y); //true
논리연산자 : && , ||, !
true, false
조건1 && 조건2
결과 : true, false
true && true -> true
true && false -> false
false && true -> false
false && false -> false
// && 조건1과 조건2가 만족해야만 true가 나옴
true || true -> true
true || false -> true
false || true -> true
false || false -> false
// || 연산자는 조건1 이나 조건2 둘 중 하나만 충족해도 true
!true = false
!false = true
// ! 는 부정
int x = 10;
int y = 20;
System.out.println((x == 10) && (y == 20)); //true
System.out.println((x == 10) && (y != 20)); //false
System.out.println((x == 10) || (y == 20)); //true
System.out.println((x != 10) || (y == 20)); //true
System.out.println((x != 10) || (y != 20)); //false
논리연산자의 범위 연산
int x = 5;
System.out.println(x > 1 && x < 10); //true
System.out.println(x < 1 || x > 10); //false
최단평가
true && true
false && 판단하지 않는다 -> 어차피 false
true || 판단하지 않는다 -> 어차피 true
비트 연산자 (연산을 1과 0으로만 한다)
&, | , ^ , ~
0,1
0 & 0
>> , <<
(조건식) : 우선순위
(자료형) : 캐스팅(형변환)
조건연산자(삼항연산자)
(조건식(true/false)) ? 값1 : 값2 -> true 면 값1이 결과 , false 면 값2가 결과
int age = 10;
String result = age >= 20 ? "성인" : "미성년자";
System.out.println(result);
단항연산자 : ++ , --
이항연산자 : + , *
삼항연산자 : 조건식 ? 값1 : 값2
대입연산자 : =
+=, -=, *=, /=, |= , >>= , ...
int x = 10;
int y;
//y += x; // y = y + x
x += 10; // x = x + 10
System.out.println(x);
- 메모리 구조에 대해 알아보기
컴퓨터의 메모리 구조는 매우 복잡한 구성 요소로 이루어져 있습니다. 이는 주로 다음과 같은 메모리 구성 요소를 포함합니다:
- 레지스터(Register): 이는 CPU 내부에 존재하며, 계산과 명령어 실행을 담당하는 가장 빠른 메모리입니다.
- 캐시 메모리(Cache Memory): CPU와 RAM 사이에 위치하며, 자주 사용되는 데이터를 빠르게 접근하기 위해 사용됩니다.
- 주 메모리(Main Memory 또는 RAM): 이는 컴퓨터의 주요 메모리로, 운영 체제, 응용 프로그램, 데이터 등이 로드되는 곳입니다.
- 보조 메모리(Secondary Memory): 하드 디스크나 SSD와 같은 저장 장치로, 컴퓨터가 전원을 끄더라도 정보를 저장할 수 있는 영구적인 메모리입니다.
컴퓨터는 이러한 메모리 계층 구조를 통해 데이터를 효율적이고 빠르게 처리할 수 있습니다.
-노션 AI 기능을 사용해 정리
값을 입력받고 조건에 만족하는지 알아보기
조건문 - 실행문을 실행하기 위한 조건
if, switch
if (조건식) {
실행문
}
위와 같은 형태로 사용함.
-> 20살 이상이면 성인이라는 메세지를 띄워보자.
int age = 10;
if (age >= 20) {
System.out.println("성인 인증");
}
if (age >= 20) {
System.out.println("성인 인증"); //true
} else {
System.out.println("미성년자 입니다. "); //false
}
다중 if문
if (조건식) {
실행1
} else if(조건식) {
실행2
} else if(조건식) {
실행3
} else {
부합하는 조건이 없는 경우 머지막에 무조건 실행
}
-> 스캐너로 키보드로 입력된 값을 받아 번호를 선택해보자.
Scanner sc = new Scanner(System.in); // 문자로 받아들임, 키보드로부터 받아들임.
//sc.nextInt(); // nextInt -> 숫자로 바꿔줌.
System.out.print("정수 한 개를 입력하세요 : ");
//int select = sc.nextInt(); String str = sc.nextLine(); // -> 문자열을 숫자로 바꿔줘야 함.
int select = Integer.parseInt(str); // -> 문자열을 숫자로 바꿔줌.
if(select == 1) {
System.out.println("1번 선택");
} else if(select == 2){
System.out.println("2번 선택");
} else if (select == 3){
System.out.println("3번 선택");
} else if (select == 4){
System.out.println("4번 선택");
} else {
System.out.println("번호를 잘못선택했습니다");
}
중첩 if문
if(조건문) {
if (조건문) {
실행문
} else {
}
}
-> x의 값이 공배수인지 알아보자
int x = 6;
if (x % 2 == 0) {
if (x % 3 == 0) {
System.out.println("2와 3의 공배수 입니다.");
} else {
System.out.println("2와 3의 공배수가 아닙니다.");
}
} else {
System.out.println("2와 3의 공배수가 아닙니다.");
}
-> 아래와 같이 나타낼 수도 있다.
if (x % 2 == 0 && x % 3 == 0) {
System.out.println("2와 3의 공배수 입니다.");
} else {
System.out.println("2와 3의 공배수가 아닙니다.");
}
-> Scanner 를 이용해 숫자를 입력받아 조건에 만족하는지 알아보기
Scanner sc = new Scanner(System.in);
System.out.print("양의 정수 하나를 입력하세요 (1 ~ 10) : ");
int num = sc.nextInt(); //스캐너에서 입력된 문자를 숫자로 바꿔줌
if (num >= 1 && num <= 10) {
System.out.println("1 ~ 10 사이의 값입니다. ");
} else {
System.out.println("범위를 벗어난 값입니다. ");
}
'2024_UIUX 국비 TIL' 카테고리의 다른 글
UIUX _국비과정 0405 (0) | 2024.05.29 |
---|---|
UIUX _국비과정 0404 (0) | 2024.05.29 |
UIUX _국비과정 0403 (0) | 2024.05.29 |
UIUX _국비과정 0402 (0) | 2024.05.29 |
UIUX _국비과정 0329 첫 날! (0) | 2024.05.28 |