TIL #6-1

DuBu·2023년 6월 15일
0
post-thumbnail

Variable

Naming

  • Java에서 변수명은 대소문자를 구분한다.
  • 변수의 이름은 숫자로 시작할 수 없다.
  • $와 _ 이외의 특수문자는 변수의 이름에 넣을 수 없다.
  • 키워드는 변수의 이름으로 쓸 수 없다.

Data Type(자료형)

자바에서 기본 자료형은 프로그래밍에서 사용되는 간단한 데이터를 나타내기 위해 사용됩니다. 다음은 자바의 기본 자료형에 대한 설명입니다:

정수형: 정수를 나타내는 자료형입니다. 정수형에는 다음과 같은 종류가 있습니다

byte: 8비트로 표현되며, -128부터 127까지의 값을 저장할 수 있습니다.
short: 16비트로 표현되며, -32,768부터 32,767까지의 값을 저장할 수 있습니다.
int: 32비트로 표현되며, 약 -21억부터 21억까지의 값을 저장할 수 있습니다.
long: 64비트로 표현되며, 매우 큰 정수 값을 저장할 수 있습니다.

실수형: 실수를 나타내는 자료형입니다. 실수형에는 다음과 같은 종류가 있습니다

float: 32비트로 표현되며, 소수점 이하 7자리까지의 정밀도를 가집니다.
double: 64비트로 표현되며, 소수점 이하 15자리까지의 정밀도를 가집니다. 자바에서 실수 리터럴은 기본적으로 double로 간주됩니다.

문자형: 단일 문자를 나타내는 자료형입니다. 문자형은 다음과 같이 사용됩니다

char: 16비트로 표현되며, 유니코드 문자 하나를 저장할 수 있습니다. 작은따옴표(' ')로 둘러싸인 문자 리터럴로 표현됩니다.

논리형: 논리값을 나타내는 자료형입니다. 논리형에는 다음과 같은 종류가 있습니다

boolean: true 또는 false 값을 저장할 수 있습니다. 조건문과 논리 연산에서 사용됩니다.
이러한 기본 자료형은 변수를 선언하고 값들을 저장하는 데 사용됩니다. 또한, 자바에서는 기본 자료형에 대한 래퍼 클래스(wrapper class)를 제공하여 기본 자료형을 객체로 다룰 수도 있습니다.

2의 보수법

  • 음의 정수를 표현하는 방법
    2의 보수법은 컴퓨터에서 음수 값을 표현하기 위한 방법 중 하나입니다. 이 방법은 이진수로 음수 값을 표현할 때 사용되며, 다음과 같은 과정을 거칩니다:

양수 값을 이진수로 표현합니다. 예를 들어, 5를 8비트 이진수로 표현하면 00000101입니다.

이진수 값을 역으로 뒤집습니다. 위 예시에서는 11111010가 됩니다.

역으로 뒤집은 값을 1을 더합니다. 위 예시에서는 11111011가 됩니다.

이 결과값은 해당 양수 값의 음수를 나타내는 2의 보수입니다. 즉, 원래의 양수 값과 2의 보수를 더하면 0이 됩니다. 이진수에서는 0과 1만으로 음수 값을 표현할 수 있게 되는 것이죠.

2의 보수 표현 방식은 컴퓨터에서 음수와 양수를 동일한 방식으로 다룰 수 있게 해줍니다. 또한, 음수와 양수의 덧셈, 뺄셈 연산을 동일한 방식으로 수행할 수 있습니다. 이진수의 가장 왼쪽 비트(최상위 비트)는 부호 비트로 사용되며, 0은 양수를, 1은 음수를 나타냅니다.

2의 보수 표현 방식은 컴퓨터에서 정수 값을 표현하는 데 널리 사용되며, 음수 값을 쉽게 처리할 수 있도록 도와줍니다.

실수의 표현 방식

  • 정수와 달리 실수는 오차 없이 표현 불가능
  • 따라서 정밀도를 낮추고 표현할 수 있는 값의 범위 넓힘
  • 실수 표현 방법의 기준 IEEE 754
  • 부동 소수점 표현 방식 과 고정 소수점 표현 방식이 있다.

Data type

	short number1 = 11;
	short number2 = 22;
	short result2 = number1 + number2;
		
	System.out.println(result2);
  • 위의 코드가 error가 나는 이유:
    cf. JVM 시스템 - Java를 처리 위한 시스템 32bit로 만들어져있다.
    CPU에서 연산해서 결과 값을 다시 메모리에 보낼때 32개의 공간을 다 써서 보내기 때문에
    short를 사용해서 16개만 쓴 곳에 값이 들어가지 못해서 오류가 발생한다.

위의 코드에서 에러가 발생하는 이유는 산술 연산 시 자바에서 기본적으로 정수 타입인 int로 자동 변환되기 때문입니다. 산술 연산자를 사용하여 short 타입인 number1과 number2를 더하면, 두 개의 short 값이 int로 자동으로 변환되고, 결과도 int 타입으로 반환됩니다.

따라서, int 타입인 결과를 short 타입인 result2 변수에 할당하려고 하면 에러가 발생합니다. 이는 작은 크기의 short 타입으로는 int 타입의 값을 저장할 수 없기 때문입니다.

해결하기 위해서는 결과를 short 타입으로 변환하여 저장해야 합니다. 아래와 같이 코드를 수정할 수 있습니다:

short number1 = 11;
short number2 = 22;
short result2 = (short) (number1 + number2);
		
System.out.println(result2);

위와 같이 (short) 형변환을 사용하여 결과를 short 타입으로 명시적으로 변환하면, 에러가 발생하지 않고 결과가 정상적으로 출력됩니다. 하지만 주의해야 할 점은, 결과가 short 타입의 범위를 벗어날 경우 값이 잘려서 부정확한 결과가 나올 수 있습니다.

  • int 이하의 연산 결과 값은 int가 되어야 한다.

ASCII Code

아스키 코드(ASCII 코드)는 컴퓨터에서 문자를 나타내기 위해 사용되는 표준 코드 체계입니다.
ASCII 코드는 0부터 127까지의 값으로 총 128개의 문자를 표현합니다. 이 중 일부는 제어 문자(예: 줄 바꿈, 탭)이고, 나머지는 알파벳, 숫자, 기호 등이 포함되어 있습니다.

Java의 일반적인 상수

  • 한 번 할당된 값은 변경이 불가능하다
  • 키워드 final 선언이 붙어있는 변수
  • final 기반의 상수 선언의 예
final int MAX_SIZE = 100;
  • 상수의 이름은 모두 대문자로 짓는 것이 관례
  • 이름이 둘 이상의 단어로 이뤄질 경우 단어를 언더바로 연결하는 것이 관례

변수 / 상수 초기화

		final int CONST_ASSIGNED;
		
		CONST_ASSIGNED = 12;
  • 위와 같이 상수나 변수의 값을 처음 할당하는 것을 초기화라고 합니다.

0개의 댓글