변수를 사용하는 이유
- 변수에 들어갈 값이 변하면 출력 값도 맞춰서 변해야 하는 경우에 쓸 수 있다.
- 변수의 값을 여러 번 사용할 때 사용할 수 있다.
- 일괄 수정이 가능하다.
블럭킹, 지역
- 블럭킹은 자바 프로로그램의 시작과 끝을 의미하기도 하지만 지역도 의미한다.
- 자바에서 지역은 매우 중요한 개념
- 클래스 지역을 제외하고, 만들어진 모든 변수들은 지역 변수라고 한다.
- 클래스 지역에 지정된 변수는 전역변수
- 자바의 중괄호/블럭킹 은 블럭이 열릴 때 메모리에 올라가고 블럭이 닫힐 때 메모리에서 사라진다.
- 지역이 나누어진 이유는 메모리를 효율적으로 사용하기 위해서
기본형 데이터 타입
- 자료형이라고도 하고 변수가 담을 수 있는 값의 종류
- 기본형
- 논리형 : boolean
- true와 false 중 하나의 값을 가지는 변수, 조건식과 논리식에 사용
- 8비트의 값을 가진다.
- 문자형 : char
- 문자를 저장하는데 사용, 단 하나의 문자만 저장. 문자열을 지정하기 위해서는 String 변수를 사용하는데 String 변수는 기본형 변수가 아닌 변수의 집합체의 성격을 가진다.
- 16비트 값
- 유니코드로 보면 정수형으로도 볼 수 있다.
- 정수형 : byte, short, int, long
- 정수값을 저장. byte는 8비트, short는 16비트, int는 32비트, long은 64비트를 할당한다.
- byte는 이진 데이터 다루는데, short는 c언어와 호환을 위한 변수
- 논리형 : boolean
- 실수형 : float, double
- 주로 double이 이용된다.
- float는 32비트, double은 64비트를 할당한다.
byte 변수 문제
- byte1이라는 변수 선언하기.
- byte1이라는 변수에 값 100을 할당하고 출력하기.
- byte2~4까지의 변수를 나열해서 선언하기
- byte2~4까지의 변수에 값 할당하기. 각각 20 , 30 , 40
- byte5~6을 나열과 동시에 초기화하기.
package pack02.VariableType;
public class Ex01_Byte {
public static void main(String[] args) {
byte byte1;
byte1 = 100;
System.out.println(byte1);
byte byte2, byte3, byte4;
byte2 = 20;
byte3 = 30;
byte4 = 40;
byte byte5 = 50, byte6 = 60;
System.out.println(byte2);
System.out.println(byte3);
System.out.println(byte4);
System.out.println(byte5);
System.out.println(byte6);
}
}
정수형 변수 선언과 값 할당하기
- short, char, int, long 변수를 선언하고 값을 할당하기
- long 타입의 변수는 int 범위 밖의 값을 지정할 때 뒤에 L을 붙여야 한다.
- eclipse는 정수 리터럴을 int로 인식하기 때문에 L을 붙여 long 변수임을 알려야 한다.
- char변수는 숫자로 값을 지정할 수 있지만 출력은 숫자에 해당하는 유니코드 문자로 출력된다.
package pack02.VariableType;
public class Ex02_Decimal {
public static void main(String[] args) {
short short1;
short1 = -12345;
char char1;
char1 = 55555;
int int1;
int1 = 217411100;
long long1;
long1 = 99999999999L;
System.out.println(short1);
System.out.println(int1);
System.out.println(long1);
System.out.println(char1);
}
}
char 변수
- 문자와 문자열의 차이
- 문자 : ‘’내부에 있는 한 글자를 말함.
- 문자열 : “” 내부에 있는 여러 글자들을 말함. 한 글자도 가능함
- 문자열은 String에 담지만 String은 기본 데이터 타입이 아닌 참조형 데이터 타입
package pack02.VariableType;
public class Ex03_Char {
public static void main(String[] args) {
char char1 = 'A';
char char2 = '글';
char char3 = '%';
System.out.println(char1);
System.out.println(char2);
System.out.println(char3);
char char4 = 65;
System.out.println(char4);
}
}
boolean변수타입
- 논리형 변수, true, false의 값 만을 가진다.
- 조건식을 작성하여 참 거짓 값 입력 가능하다.
package pack02.VariableType;
public class Ex03_Char {
public static void main(String[] args) {
char char1 = 'A';
char char2 = '글';
char char3 = '%';
System.out.println(char1);
System.out.println(char2);
System.out.println(char3);
char char4 = 65;
System.out.println(char4);
}
}
이스케이프 문자와 Print/println
- 문자열 내부에 더블 코테이션(”)을 콘솔에 출력하고 싶을 경우 사용함
- 출력을 할 수 없는 문자나 명령어를 통해서 문자열 정리 등의 기능이 가능한 것
- 역슬래쉬(\)키를 “ 앞에 입력하면 문자열 내부에 “”를 작성할 수 있다.
- 역슬래쉬도 이스케이프 문자를 통해서 입력할 수 있다.
- \n을 통해 “” 내부에서 줄바꿈 가능, \t를 통해 칸 건너뛰기 가능
- println은 출력 후 줄 바꾸는 명령이고, print로 작성시 이어서 출력된다.
package pack02.VariableType;
public class Ex05_Escape {
public static void main(String[] args) {
String str1 = "\\"자바\\"를 좋아합니다.";
System.out.println(str1);
System.out.println("번호\\t이름\\t직업 혈액형");
System.out.println("d:\\\\folder\\\\..");
System.out.print("프린트?\\n");
System.out.print("프린트가 뭘까? ln은 뭐고\\n");
System.out.print("프린트?");
System.out.print("프린트가 뭘까? ln은 뭐고");
}
}
테스트 1. 이스케이프 활용해보기
- 이스케이프를 활용해서 복잡해보이는 동물 그려보기
package pack02.VariableType;
public class Test01 {
public static void main(String[] args) {
System.out.println("\\\\\\t / \\\\");
System.out.println(" )\\t ( \\')");
System.out.println(" (\\t /)");
System.out.println(" \\\\ (__)|");
}
}
'공부일지' 카테고리의 다른 글
230914(Java) (1) | 2023.09.14 |
---|---|
230914(HTML) (0) | 2023.09.14 |
230913(HTML) (0) | 2023.09.13 |
230912 (HTML, Java) (0) | 2023.09.12 |
230911 (개발자, 프로그래밍 언어, 개발환경 구축, Eclipse) (0) | 2023.09.11 |