1. 변수
– 변하는 값
- 상수 : 변하지 않는 값. final int NUM=100; 으로 표현.
2. 변수의 type(Data Type)
1) char : 문자형, 2byte, 모든 유니문자
2) byte : 정수형, 1byte, -128 ~ 127
3) short: 정수형, 2byte, -32,768 ~ 32,768
4) int : 정수형, 4byte, -2,147,483,648 ~ 2,147,483,648
5) long : 정수형, 8byte, -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,808
6) float: 실수형, 4byte, 1.4E-45 ~ 3.4028235E38
7) double: 실수형, 8byte, 4.9E-324 ~ 1.7976931348623157E308
8) Boolean: 논리형, 1byte, 참 / 거짓
3. 변수의 선언
1) 변수는 사용하기 전에 미리 선언해야 한다.
int i = 10; (선언과 변수 초기화를 동시에 한 사례임)
2) 지역변수는 초기화하여 사용하지만, 전역변수(메소드 외부에 선언된 변수)는 초기화 하지 않아도 된다.
static int c;
System.out.println(c);
이렇게 해도 에러가 나지 않고 0이 출력된다.
4. 예제
1) 커서가 입력을 기다려서 입력 내용을 출력하는 코딩.
Scanner 클래스를 import 해야 함.
//System.in : 표준입력장치(키보드)
Scanner scan = new Scanner(System.in);
System.out.print (“이름을 입력하세요 : “); //줄바꿈 안함
//사용자가 입력한 내용을 변수에 저장
String name = scan.next();
System.out.println(“당신의 이름은 “ + name +”입니다. “); //줄바꿈 함
scan.nextLine(); //입력문자에 공백이 있더라도 한 줄 전체를 다 입력받는다.
scan.next() ; // 입력문자에 공백이 있으면 공백 앞까지 입력받는다.
공백 뒤의 글자는 메모리 버퍼에 담겨 있다가, 다음 변수에 무조건 저장시키기 때문에 에러를 종종 일으키는 원인이 된다.
scan.nextInt() ; // 숫자를 입력받는다
2) 자료형 변환(Cast) 예제
public class Ex04_char {
public static void main(String[] args) {
//문자형 변수 선언
char ch='A'; //문자형은 작은 따옴표로 묶음
System.out.println(ch);
//cast 연산자(자료형 변환)
//문자값을 숫자값으로 변환
System.out.println((int)ch); //65출력
System.out.println(65); //65출력
System.out.println((char)65); //A출력
for (int i=0; i<=255; i++) {
System.out.println(i+"==>"+(char)i); //ascii 코드값 출력
}
//한글도 코드값이 전부 할당되어 있음
for (int i='가'; i<='하'; i++) {
System.out.println(i+"==>"+(char)i);
}
} //end of main
} //end of Ex04_char class
3) 논리 자료형 예제
public class Ex05_bool {
public static void main(String[] args) {
boolean b = true;
System.out.println(b); //true 출력
// ! -> 논리부정. not.
System.out.println(!b); //false 출력
System.out.println(10>5);//true 출력
System.out.println(10<5);//false 출력
System.out.println(b == false);//false 출력
System.out.println(b != true);//false 출력
} //end of main
} //end of class
4) 숫자 자료형 예제
long 형은 숫자 뒷에 소문자 혹은 대문자 L을 붙여야 에러가 안난다.
예) long num2 = 2147483648L;
자료형은 기본자료형과 참조자료형이 있다.
기본자료형은 값 자체를 저장하고
참조자료형은 위치값(주소값)을 저장한다.
int : 기본자료형
Integer : 참조자료형(대문자로 시작하므로 클래스임)
long : 기본자료형
Long : 참조자료형
byte : 기본자료형
Byte : 참조자료형
자료형 범위를 벗어나면 overflow(오버플로우)가 되어 에러처리된다.
byte형은 범위가 작기 때문에 파일간 데이터 처리시에 많이 쓴다.
public class Ex06_int {
public static void main(String[] args) {
int num1=100;
System.out.println(num1);
System.out.println(Integer.MIN_VALUE); //int형의 최소값
System.out.println(Integer.MAX_VALUE); //int형의 최대값
System.out.println(Integer.SIZE); //비트수(나누기 4 하면 바이트수 나옴)
}//end of main
}//end of Ex06_int
5) 실수형 예제
자바에서는 short형과 float형은 잘 쓰지 않는다. float 대신 double을 많이 씀
실수값을 float형으로 저장하려면 끝에 F 또는 f 를 추가해서 적어야 함
public class Ex07_double {
public static void main(String[] args) {
//int num=0.7;
//double num1=0.7;
//math -> 수학계산을 위한 명령어들을 제공하는 클래스.
//PI-> 파이 값 저장한 변수
double num1=Math.PI;
System.out.println(num1);
System.out.println(Double.MIN_VALUE);
System.out.println(Double.MAX_VALUE);
System.out.println(Double.SIZE);
float num2=3.14F;
System.out.println(num2);
System.out.println(Float.MIN_VALUE);
System.out.println(Float.MAX_VALUE);
System.out.println(Float.SIZE);
} //end of main
}//end of Ex07_double class
5. 실수 자료형의 계산
실수 자료형을 계산하면 약간의 오차가 있다.
오차를 발생시키지 않기 위해서는 BigDecimal을 사용해야 한다.
public class Ex08_big {
public static void main(String[] args) {
double a=1.6;
double b=0.1;
System.out.println(a+b);
System.out.println(a*b);
} //end of main
}//end of Ex08_big class
출력 결과는 다음과 같다.
1.7000000000000002
0.16000000000000003
1.7과 0.16이 나와야 함에도 계산결과 틀린 계산이 나옴.
이를 해결하려면 BigDecimal 클래스를 써야 한다.
먼저 import java.math.BigDecimal; 하고
(코딩 다하면 BigDecimal 글자 밑에 빨간 줄이 그어진다.
그러면 BigDecimal 글자에 마우스를 갖다대면 리스트박스 뜨고
거기서 선택하면 된다.
또는
Ctl + shift + O 를 해도 된다.)
BigDecimal c = new BigDecimal("1.6"); //따옴표 쳐서 String 넣어야 함
BigDecimal d = new BigDecimal("0.1");
System.out.println(c.add(d));
System.out.println(c.multiply(d));
Tip :
. 클래스 이름을 바꾸고 싶으면 Package Explorer에서 해당 클래스를 클릭한 뒤 F2를 누르면 된다.
. 메인 메소드 작성법
- main을 치고 ctl + space를 누르면 도움말이 뜬다.
엔터 치면 메인 메소드가 자동으로 작성된다.
. System.out.println(“프린트하자”); 작성법
- sysout이라고 쓰고 ctl + space 누르면 자동으로 작성된다.
. 실행은 ctl + F11
. 클래스명은 첫글자를 대문자로 쓴다.
. import 시킬 패키지가 있으면 자료형 선언시 빨간 밑줄이 그어진 자료형에 마우스를 올리면 리스트 박스가 나타난다. 거기서 해당 클래스를 선택하여 import 하면 된다.
혹은
ctl + shift + O(영문자) 눌러서 선택해도 된다.
. 클래스의 내용을 알고 싶으면 클래스명에 커서를 갖다대고 F3를 누르면 된다.
(이때 만약 파일을 선택하라는 메시지가 나오면 JDK 설치 폴더 > lib > scr.zip 을 선택하면 된다)
. 클래스명이 혹은 변수명과 점을 찍고 ctl + space 를 치면 도움말이 나온다.
. 여러 줄을 주석처리 할 때는 여러 줄을 드래그한 뒤 ctl + 슬러시’/’ 하면 된다. 한번 더하면 해제됨.
'공부방 > 자바프로그래밍' 카테고리의 다른 글
자바 배열 (0) | 2020.07.05 |
---|---|
자바 반복문(for, while, do while, break,continue) (0) | 2020.07.04 |
자바 조건문(if, swich) (0) | 2020.07.02 |
자바 연산자와 피연산자 (0) | 2020.04.11 |
cmd에서 자바 컴파일 및 실행 방법! (0) | 2020.04.10 |
'이클립스 설정'. 설치만으로 끝난 것이 아니다! (0) | 2020.03.02 |
이클립스 설치 방법 (0) | 2020.03.01 |
자바 설치 및 세팅, 혼자서 해보자! (0) | 2020.02.28 |
댓글