안녕하세요.
오늘은 변수와 데이터 타입에 대해 간단히 적어보겠습니다.
변수(Variable)
값을 저장할 수 있는 메모리의 공간을 의미한다. 변수에는 오직 한 가지 타입의 값만 저장할 수 있다. 변수란 이름을 갖게 된 이유는 프로그램에 의해서 수시로 값이 변동될 수 있기 때문이다. 변수에는 복수의 값을 저장할 수 없고, 하나의 값만 지정할 수 있다.
변수명 규칙
- 첫 번째 글자는 문자이거나 '$', '_' 이어야 하고 숫자로 시작할 수 없다. (필수)
- 영어 대소문자가 구분된다. (필수)
- 첫 문자는 영어 소문자로 시작하되, 다른 언어가 붙을 경우 첫 문자를 대문자로 한다. (관례)
- 문자 수(길이)의 제한은 없다. Ÿ 자바 예약어는 사용할 수 없다. (필수)
변수위치
변수의 사용 범위 변수는 중괄호 { } 블록 내에서 선언되고 사용된다. 메서드 블록 내에서 선언된 변수를 로컬 변수라고 부르며 로컬 변수는 메서드 실행이 끝나면 메모리에서 자동으로 없어진다.
데이터 타입(Daye type)
기본(원시: primitive) 타입
정수 타입: byte, char, short, int, long
실수 타입: float, double
논리 타입: boolean
정수타입(int) int 타입은 4byte로 표현
package ex03;
public class Sample {
public static void main(String[] args) {
//정수형변수
int number1 = 200;
int number2 = 100;
System.out.println("number1=" + number1);
System.out.println("number2=" + number2);
}
}
결과
number1=200
number2=100
실수 타입(float, double) 실수 타입은 소수점이 있는 실수 데이터를 저장할 수 있는 타입으로 메모리 사용 크기에 따라 4byte float 타입과 8 byte double 타입이 있다.
package ex03;
public class Sample {
public static void main(String[] args) {
//실수형변수
int r=7;
float f1 = 3.141592f;
double f2 = 3.141592;
float area = r * r * f1;
double area1 = r * r * f2;
System.out.println("반지름이" + r + "넓이는" + area);
System.out.println("반지름이" + r + "넓이는" + area1);
}
}
결과
반지름이7넓이는153.938
반지름이7넓이는153.938008
문자 타입(char, String) char 타입 변수는 단 하나의 문자만을 저장하며 작은따옴표로 감싼 문자 리터럴을 대입한다. 만약 문자열을 저장하고 싶다면 String 타입을 사용 하며 큰따옴표로 감싼 문자열 리터럴을 대입하면 된다. String은 기본 타입이 아니고 클래스 타입이다.
package ex03;
public class Sample {
public static void main(String[] args) {
//문자형변수(char, string)
char ban = 'A';
String name="고급도비";
System.out.println("반" + ban);
System.out.println("이름" + name);
}
}
결과
반A
이름고급도비
논리 타입(boolean) boolean 타입은 1byte(8bit)로 표현되는 논리값(true/false)을 저장할 수 있는 데이터 타입이다. 두 가지 상태값을 저장할 필요성이 있을 경우 에 사용되며, 상태값에 따라 조건문과 제어문의 실행 흐름을 변경하는데 주로 이용된다.
package ex03;
public class Sample {
public static void main(String[] args) {
//논리형변수
boolean stop= true;
System.out.println("stop:" + stop);
stop=false;
System.out.println("stop:" + stop);
}
}
결과
stop:true
stop:false
간단한 성적표 출력
package ex04;
public class Sample {
public static void main(String[] args) {
//성적표출력
char ban1='A';
String name1="홍길동";
int kor1=88;
int eng1=90;
int mat1=100;
int tot1=kor1 + eng1 + mat1;
double avg1=tot1/3.;
System.out.println("반\t이름\t국어\t영어\t수학\t총점\t평균");
//\t는 Tab키와 동일 \n Enter키와 동일
System.out.print(ban1 +"\t");
System.out.print(name1 +"\t");
System.out.print(kor1 +"\t");
System.out.print(eng1 +"\t");
System.out.print(mat1 +"\t");
System.out.print(tot1 +"\t");
System.out.print(avg1 +"\t\n");
char ban2='A';
String name2="심청이";
int kor2=78;
int eng2=80;
int mat2=50;
int tot2=kor2 + eng2 + mat2;
double avg2=tot2/3.;
System.out.print(ban2 +"\t");
System.out.print(name2 +"\t");
System.out.print(kor2 +"\t");
System.out.print(eng2 +"\t");
System.out.print(mat2 +"\t");
System.out.print(tot2 +"\t");
System.out.print(avg2 +"\t\n");
char ban3='A';
String name3="강감찬";
int kor3=90;
int eng3=50;
int mat3=70;
int tot3=kor3 + eng3 + mat3;
double avg3=tot3/3.;
System.out.print(ban3 +"\t");
System.out.print(name3 +"\t");
System.out.print(kor3 +"\t");
System.out.print(eng3 +"\t");
System.out.print(mat3 +"\t");
System.out.print(tot3 +"\t");
System.out.print(avg3 +"\t");
}
}
결과
반 이름 국어 영어 수학 총점 평균
A 홍길동 88 90 100 278 92.66666666666667
A 심청이 78 80 50 208 69.33333333333333
A 강감찬 90 50 70 210 70.0
부족한 부분이나 잘못 된 부분은 알려주시면 수정하겠습니다.
읽어주셔서 감사합니다.
'👨💻개발 > Language' 카테고리의 다른 글
[Java]연산자 (Operator) (0) | 2021.02.05 |
---|---|
[Java]형변환(자동 타입 변환(Promotion), 강제 타입 변환(Casting)) (0) | 2021.02.03 |
[Java]Scanner class (0) | 2021.02.02 |
[Java]Eclipse Workspace 설정 / 다크모드, 폰트설정 / Java Project 생성 / Class 생성 / 출력문 (0) | 2021.01.18 |
[Java]개발환경 조성 JDK, 환경 변수, Eclipse (0) | 2021.01.16 |