Day 7

·2023년 6월 15일
0

Global_2023_2

목록 보기
6/56

1. java 언어를 창시한 사람은?

  • 제임스 고슬링

2. 주석이란 무엇이며, 종류는?

  • 해당 코드에 대한 설명을 써놓는다
  • 일본에서는 첫줄에 주석으로 파일이름, 작성자, 작성일, 목적을 작성

3.주석은 컴파일시 어떻게 되는가?

  • 무시된다🤷‍♂️
    • 블록 주석: ctrl+shift+/
      주석 풀기: ctrl+shift+\

4. 들여쓰기는 왜 해야 되는가?

옥상가지 않기 위해서

  • 코드의 가독성을 높이기 위해서
  • Control+A 이후 Control+Shift+F = 어느정도 정렬된다

5.변수란 무엇인가?

  • 変数 = num1,num2...
    개발자가 마음대로 지을수 있는 이름
    • 변수 이름은 숫자로 시작X
    • $과 _ 이외 특수문자 변수 사용X
    • 키워드는 변수 이름으로 사용X
    • 변수 이름은 소문자로 시작해야 함

6. 변수선언의 의미는 무엇인가?

= 変数宣言 변수의 이름과 타입, 값을 지정하는 것

7. 8형제(자료형)을 써보세요(feat.외우세요).

data-type
블린1 캐릭터2 바이트1 쇼트2 인트4 롱8 플롯4 더블8

이름바이트(x8비트)수종류
boolean1byte참과 거짓
char2byte문자
byte1byte정수
short2byte정수
int4byte정수(21억아파트)
long8byte정수(900경)
float4byte실수
double8byte실수

8. int num; 을 메모리로 설명해 보세요.

  • int(정수) + 4byte 메모리 할당 (2진수로)
  • 실수는 무한이지만 메모리는 유한이라서
    연산한 값의 min,max 값을 낸다

9.문자가 뿌려지는 원리에 대하여 설명하시오.

  • char ch = 'a'
    s.o.p(ch)
    출력 결과: a
    1. 문자 a를 변수 ch에 저장
    2. s.o.p(ch)는 저장된 ch를 출력
    3. 인간이 문자 a를 디스플레이 상으로 확인한다.

10. 아스키 코드란 무엇인가요?

  • 문자는 ' ' 을 써야 한다
    • 아스키코드
      • A = 65...처럼 컴퓨터가 이해할수 있도록 번호를 할당한 것
    • 유니코드 (UTF-8)
      • 아스키코드 + 한글 일본어 한자등등
    • 코드별로 문자 번호가 다르기 때문에 깨진다
    • Preference -> enc 검색 -> workspace, web ->
      Text file encoding -> UTF8

11. 상수와 변수의 차이는 무엇인가요?

  • 변수에 final을 붙이면 常数
    (딱 한번만 할당할 수 있다)
    • 상수 선언 이름은 대문자로 짓는게 관례
    • 둘 이상은 언더바로 묶는다 / snake 표기법
      (변수는 counMax처럼 뒤에만 대문자 / camel 표기법)

12. 초기화에 대하여 설명하시오

  • int a = 1; 처럼 선언하자마자 값 넣는건 초기화가 아님
  • int b
    b = 1;

처럼 처음으로 값 넣는걸 초기화라고 한다


1. 2의 보수법이란?

  • 2진수에서 1의 보수는 0 / 0의 보수는 1
    2의 보수라고 부름 (10진수는 1-9 2-8 같은것)

2.아래를 진수 표기법을 설명하시오.

  • 0 = 10진법
  • 0x = 16진법
  • 0b = 2진법

3.자동 형변환 규칙에 대하여 설명하시오.

  • 연산을 위한 전제조건 : 반드시 연산을 할때 2개의 피연산자의
    데이터 타입을 반드시 ✴일치✴ 시킨다.

  • 두개의 이진수를 계산할때 당연히 더 큰쪽으로 맞추는 것

  • int 이하 연산은 무조건 int로 자동형변환

4.강제(명시적) 형변환에 대하여 설명하시오.

  • double을 int로 강제 형변환 하면 소수점을 날린다
    (위험한일이다😯)

예시

5. 결합 방향에 대하여 설명하시오.

  • 우선순위가 같을때 적용하는 기준
    (우선순위 높은것에 괄호를 하기)

6. 복합대입 연산자에 대하여 설명하시오.

  • 복합 대입 연산자 num1 += 7; 와 num1 = num1 + 7; 동일
  • a.k.a. 그거💬
  • 복합 대입 연산자는 형변환이 자동적으로 일어난다 (위험할수 있음😳)

7. 아래의 연산자에 대하여 설명하시오.

  • &&
    • 두개 다 참일때 참을 반환 (AND)
  • ||
    • 둘중 하나만 참이라도 참을 반환 (OR)
  • !
    • 결과값이 참이면 거짓, 거짓이면 참을 반환 (NOT)

8. 2의 배수 및 3의 배수인가 를 코딩 하시오.

  • public class Yunsanza {
    
    	public static void main(String[] args) {
    		int num1 = 11;
    		int num2 = 22;
    		boolean result;
    		
    		result = (1 < num1) && (num1 < 100);
    		System.out.println("1초과 100 미만인가?" + result);
    		
    		result = ((num2 % 2) == 0) || ((num2 % 3) == 0);
    		System.out.println("2 또는 3의 배수인가?" +result);
    		
    		result = !(num1 != 0);
    		System.out.println("0 인가?" + result);

    결과값


오늘의 공부

  • 자바

    • 대소문자 구분함

    • JVM은 32비트

    • 2의 32승이 32비트, 2의 64승이 64비트

  • 정수는 int를 써야한다

아래 코드


	public static void main(String[] args) {
		short num1 = 11;
		short num2 = 22;
		
		short result = num1 + num2;
		System.out.println(result);
	}

}

가 안되는 이유 : 오버플로우
(정수+정수는 int로 해야 4byte(32bit)로 값이 나올수 있다.)

  • 자료형의 의미
    • 메모리로 값을 올릴때,
      해당 언어가 제공하는 자료형 하나로 잡아서 올라간다.
      (CPU가 이해해서)
  • 리터럴(Literals)
    • 예시 : int m = 5 + 7 / double num2 = 3.3 + 4.5;
      5와 7은 정수형 리터럴, 3.3과 4.5는 실수형 리터럴
  • 정수형 상수의 이진수 표현방법
    byte seven = 0b111; (7)
    • int num = 100_000_000; (언더바 삽입 가능)
  • 3.4e3 -> 3.4x103
    3.4e-3 -> 3.4x10-3
  • /는 몫, %는 나머지(나머지가 0이면 짝수, 나머지가 있으면 홀수)

0개의 댓글