작성 : 2024. 4. 1. 

 

전 시간 내용 복습 :

+ 공부양이 많으니 스스로 정리 매일매일

+ 기사 자격증을 따면 좋겠지만 자격요건이 안되기 때문에 정보처리산업기사 자격증이라도 따기

변수는 기본적으로 자료형의 값을 가지게 된다.

변수는 모양에 맞게 만들어져야 한다.→ 타입! (기본형)

( byte, short, char, int, long ) → 정수

-128~+127 < < < <

차이점은 크기! 값의 범위가 있음.

정수의 기본타입 int형, 내부에서는 int형이 기본!

byte를 써도 내부에서 int형을 쓰기 때문에 처리 속도가 떨어짐.

int은 ‘-21억 4천~ +21억 4천’ 의 범위를 가짐

long은 19자리 숫자 ..


  • 변수명 규칙

  1. 숫자를 첫번 째 값으로 사용 불가 : int 2age; (x), int age2;
  2. 예약어 사용 불가 : int int; (x)
  3. 가능한 특수문자 : '_', '$' -> 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
	 
	 
비트 연산자 (연산을 10으로만 한다)
	 
		 &, | , ^ , ~ 
		 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);

 

  • 메모리 구조에 대해 알아보기

컴퓨터의 메모리 구조는 매우 복잡한 구성 요소로 이루어져 있습니다. 이는 주로 다음과 같은 메모리 구성 요소를 포함합니다:

  1. 레지스터(Register): 이는 CPU 내부에 존재하며, 계산과 명령어 실행을 담당하는 가장 빠른 메모리입니다.
  2. 캐시 메모리(Cache Memory): CPU와 RAM 사이에 위치하며, 자주 사용되는 데이터를 빠르게 접근하기 위해 사용됩니다.
  3. 주 메모리(Main Memory 또는 RAM): 이는 컴퓨터의 주요 메모리로, 운영 체제, 응용 프로그램, 데이터 등이 로드되는 곳입니다.
  4. 보조 메모리(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
		}
		
		
다중 ifif (조건식) {
			실행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("번호를 잘못선택했습니다");
		}
		
		
중첩 ifif(조건문) {
			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

+ Recent posts