안녕하세요 땅카입니다

오늘도 정리하러 왔어요!

CHAPTER02 변수와 자료형

변수는 박스입니다. 데이터를 담아주죠.

변수가 컵이라면 데이터는 물이나 주스가 될 수가 있습니다.

자바에서 변수의 선언은

자료형 변수명;  
int myVar;

의 형식을 가집니다.

자세히 보자면 myVar에는 int형의 자료만 넣을 수 있는 것이죠

그리고 변수명은 메모리 주소를 대신하는 메모리 주소의 이름을 지정합니다.

자료형이 동일하면 여러개의 변수를 동시에 선언할 수 있습니다.

변수명은 생성 규칙을 따라야 오류가 나지 않습니다.

  • 변수명은 영문자(대, 소문자), 숫자, 밑줄(_), $로만 구성할 수 있다
  • 변수명은 숫자로 시작할 수 없다
  • 변수명에는 공백을 포함할 수 없다
  • 예약어를 변수명으로 사용할 수 없다

변수는 지역 변수, 정적 변수, 인스턴스 변수로 구분됩니다.

  • 지역 변수(local variable) : 메서드 내부에 선언된 변수
  • 정적 변수(static variable) : static 키워드로 정의된 클래스 변수
  • 인스턴스 변수(instance variable) : 클래스 내부에 정의되지만 메서드 내부에는 선언되지 않는 변수

상수(constant)는 변수와 마찬가지로 데이터를 저장할 수 잇는 메모리 공간이지만, 프로그램이 실행되는 동안 메모리에 저장된 데이터를 변경할 수 없고 반드시 선언과 동시에 초기화해야합니다. 상수는 final 키워드를 이용하여 선언합니다.

 

상수는 바꿀 수 없는 변수

final을 써서 상수라는 것을 알린 뒤에 자료형을 또 써줘야한다.

 

여기서 퀴즈!

변수명으로 옳지 않은 것은?

①Num1234   ②123Num   ③Num_1234  ④$num1234

 

정답

더보기

2번 변수명을 숫자로 시작할 수 없다

 

자료형

 

정수형 : byte < short < int < long

실수형 : float < double

문자형 : char (딱 문자 하나)

불리언형 : boolean (T or F)

문자열형 : String

 

* byte는 -128~127의 값을 가진다. 만약 이 값을 넘어가면 다시 -128의 값으로 돌아간다.

원형큐같네

 

* long 자료형은 초기화할 때 값의 끝에 L을 붙인다 ex. 0L; , 65465465L;

 

*float 자료형은 초기화할 때 값의 끝에 f를 붙인다. ex. 12.25f;

 

*double 자료형은 초기화할 때 값의 끝에 d를 붙인다. ex. 12345.23547d;

 

*char자료형은 문자 상수를 쓸 수 있다. 작은따옴표로 값을 묶어 표현한다. ex. 65 = 'A' != "A"

 

여기서 퀴즈!

문자열 자료형은 string으로, 문자열을 저장하는 데 사용한다. (O, X)

정답

더보기

X string이 아니라 String이다. 좀 치사한 문제

 

자바에서 출력을 하려면 print()메서드를 사용한다. 

 

메서드 설명
System.out.print() 따옴표 안의 문자열, 변수 값을 출력
System.out.println() 출력 후 커서를 다음 행의 시작 부분으로 이동
System.out.printf() c언어처럼 문자열 형식화를 제공 (아직 모르겠음)

 

두 문자열을 함께 출력하려면 + 연산자 사용하기!

이스케이프 문자 설명 이스케이프 설명
\b 백스페이스 \" "
\t \' '
\n 줄 바꿈 \\ \
\r 캐리지 리턴    

여기서 퀴즈!

"Java               Program"을 출력하려면?

정답

더보기

System.out.print(""Java               Program\"");


온라인 서점 프로젝트2

내 탭이 왜이러지?


연습문제 

01. ① 변수, 상수

      ② 지역변수, 정적변수, 인스턴스 변수

 

02.  ③  //런타임 에러는 프로그램이 실행되면서 생기는 오류, 이건 실행조차 되지 않는다

 

03. ③

 

04. ②

 

05.  ①, ④ //소수점을 사용하거나 f를 붙여야 한다

 

06. ②

 

07. ③ // 오류가 나긴하지만 저자가 원하는 답은 3인 것 같다. 

 

08. ②

 

09.

 

 

+ Recent posts