JAVA/JAVA 이용하기

[JAVA] Java Byte Overflow(오버플로우), char, 알파벳출력하기

h0-0cat 2023. 6. 9. 21:35
728x90
//긁지않은 개발자
public static void main(String[] args) {
		byte b = 126;
		// int b = 126;
		
		System.out.println("b = " + b);
		
		b++;  // 1 증가한다.
		System.out.println("b = " + b);

		b++; // 오버플로우 발생하여 -128이 출력된다.
		System.out.println("b = " + b);
		
		System.out.println(Byte.MIN_VALUE);
		System.out.println(Byte.MAX_VALUE);
	}

실행 결과

b = 126

b = 127

b = -128

-128

127

 

자바에서 byte 타입이 표현할 수 있는

정수 크기 범위는 -128부터 127까지 이다.

byte 초기값을 126으로 지정하고

증감 연산자 ++ (1증가)

b++를 한번 해주면 127

거기서 또 한번 증가하면 오버플로우 발생해서 -128이 나온다

System.out.println(Byte.MIN_VALUE); //최소값 -128

System.out.println(Byte.MAX_VALUE); // 최대값 127

 


// 긁지않은 개발자

public static void main(String[] args) {
		char ch = 'A';
		System.out.println("ch = " + ch);

		// 변수는 마지막에 저장한것만 기억
		ch = 'D';
		System.out.println("ch = " + ch);
		
		ch = 66; // ASCII코드의 66번째 문자를 출력
		System.out.println("ch = " + ch);
}

실행 결과

ch = A

ch = D

ch = B

문자를 저장하기 위해서 char타일을 정의 한다.

char 타입은 1글자의 문자를 저장할때 사용하는 타입이다.

작은 따옴표로 감싸주어야 한다.

문자지만 내부적으로 양수만 저장 가능한 타입이다.

 

에러 ////

ch = -23; // 에러_ 음수는 저장 불가

ch = "A"; // 에러_ 쌍따옴표는 문자가 아니라 문자열입니다. String타입이다.

 


// 긁지않은 개발자
		System.out.println(Character.MIN_VALUE + 0);
		System.out.println(Character.MAX_VALUE + 0);

실행 결과

0

65535

 

System.out.println(Character.MIN_VALUE + 0); 최소값 0

System.out.println(Character.MAX_VALUE + 0); 최대값 65535

0~65535까지만 저장 가능하다.

 


// 긁지않은 개발자

	ch='\t';    // 탭문자이다.
		System.out.println("긁지않은" + ch + "개발자");

실행 결과

긁지않은  개발자

 

\t 는 탭의 문자 탭만큼 띄어쓰기

ch='\t'; // 탭문자이다. 실행시 : 하 호 띄어서 나옴

System.out.println("긁지않은" + ch + "개발자");

 


 

 

// 긁지않은 개발자
	ch = '로'; 
		System.out.println("블" + ch + "그");

실행 결과

블로그

 

ch = '로'; // 한글도 저장가능, 2Byte

System.out.println("블" + ch + "그");

 


// 긁지않은 개발자

// 알파벳 출력하기
		for(int i=0;i<26;i++) {
			System.out.print((char)('A' + i)); // int를 다시 char로 변환하면 문자가 나온다.
		}
		System.out.println(); //줄바꿈
		
		for(int i=0;i<26;i++) {
			System.out.print((char)('a' + i)); // int를 다시 char로 변환하면 문자가 나온다.
		}

실행 결과

ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefghijklmnopqrstuvwxyz

 

 


ASCII코드

 

ASCII코드(아스키코드)

 

 

 

728x90