01 기본 타입(원시 타입: Primitive Type)
- 실제 값을 변수 안에 저장
1. 정수 타입
(1) byte
(2) char
(3) short
(4) int
(5) long
2. 실수 타입
(1) float
(2) double
3. 논리 타입
(1) boolean
02 참조 타입(Reference Type)
- 메모리의 번지를 값으로 가짐, 번지를 통해 객체를 참조
1. 배열 타입
- 배열: 같은 형의 자료들을 모은 저장 공간, 배열도 객체임
- 변수: 1개의 값만 기억
ex) 객체끼리 비교하기 (equals 메소드)
package com.test;
import java.util.Scanner;
public class Test{
public static void main(String[] args){
String mountain [] = {"한라산", "백두산", "광교산", "설악산", "소백산", "남산"};
Scanner sc = new Scanner(System.in);
System.out.print("이름을 입력하세요: ");
String input = sc.next();
for(int i=0; i<mountain.length; i++) {
if(mountain[i].equals(input)) {
System.out.println(input + " 이름은 존재한다");
break;
}
}
}
}
[결과화면]
ex) 객체끼리 비교하기 (contains 메소드)
package com.test;
import java.util.Scanner;
public class Test{
public static void main(String[] args){
String mountain [] = {"한라산", "백두산", "광교산", "설악산", "소백산", "남산"};
Scanner sc = new Scanner(System.in);
System.out.print("이름을 입력하세요: ");
String input = sc.next();
boolean result = false;
for(int i=0; i<mountain.length; i++) {
if(mountain[i].contains(input)) { // 결과가 true, false로 반환됨
result = true;
break;
}
}
if(result)
System.out.println(input + " 이름은 존재한다");
else
System.out.println(input + " 이름은 존재하지 않는다");
}
}
[결과화면]
* 빠른 for문 (향상된 for문)
ex) for(클래스명 임의변수 : 객체명(배열명))
public class Sample{
public static void main(String[] args){
String mountain [] = {"한라산", "백두산", "광교산", "설악산", "소백산", "남산"};
for(String k : mountain){
System.out.print(k + " ");
}
}
}
① 4행: 배열에서 가져올 첫번째 값이 존재하는지 평가
② 5행: 존재하면 임의변수에 저장 후 처리문을 실행
③ 4행: 다시 루프를 돌아 배열의 다음 값이 존재하는지 평가
④ 5행: 존재하면 임의변수에 저장 후 처리문을 실행 -> 반복
[결과화면]
2. 열거 타입 <Enum>
- 한정된 값만을 갖는 데이터 타입 (enumeration type)
- ex) 요일, 성별, 월, 계절 등
ex) 요일 출력하기
package com.test;
import java.util.Calendar;
public class Test{
enum week{
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
public static void main(String[] args){
week today = null;
Calendar cal = Calendar.getInstance();
int week = cal.get(Calendar.DAY_OF_WEEK);
switch(week) {
case 1:
today = Test.week.SUNDAY; break;
case 2:
today = Test.week.MONDAY; break;
case 3:
today = Test.week.TUESDAY; break;
case 4:
today = Test.week.WEDNESDAY; break;
case 5:
today = Test.week.THURSDAY; break;
case 6:
today = Test.week.FRIDAY; break;
case 7:
today = Test.week.SATURDAY; break;
}
System.out.println("오늘은 " + today + "입니다.");
if(today == Test.week.MONDAY)
System.out.println("월요일에는 축구를 합니다.");
else
System.out.println("오늘은 열심히 자바 공부를 합니다.");
}
}
[결과화면]
3. 클래스
- ex) String 참조 변수
* name 이라는 String 변수는 홍길동을 저장하면서 메소드(name. ~)도 이용 가능
* name은 객체이며 참조 변수임
ex) concat 메소드
package com.test;
public class Test{
public static void main(String[] args){
String name = "홍길동";
String temp = name.concat("은 홍길동전의 주인공이다");
System.out.println(temp);
}
}
① 6행: concat 문자열 합치기
[결과화면]
4. 인터페이스
'STUDY > Java' 카테고리의 다른 글
[JAVA] 예외처리 (0) | 2021.11.05 |
---|---|
[JAVA] 정렬, 익명클래스 (0) | 2021.11.05 |
[JAVA] 추상 클래스, 인터페이스 (0) | 2021.11.05 |
[JAVA] 상속과 다형성 (0) | 2021.11.05 |
[JAVA] 제어문(if, switch), 반복문(for, while, do while), 배열, ArrayList (0) | 2021.11.05 |