※ chap5 - array
기본 타입: 값을 바로 넣을 수 있다.
정수, 실수, 논리, 클래스가 아닌 것들
참조 타입: 가르키는 것(->). new 연산자를 이용해서 만들어야 한다.
▼ equals를 이용하여 값이 같은지를 물어본다.(대소문자 구분)
Java API: 함수 및 기능 검색 가능한 사이트
- o
: 객체 = class
: 문자열 = String
- x
: 문자열 크기 비교는 안 되고, 같은지 다른지만 비교가능하다. 하지만, 참조하는 곳이 같은지 다른지에 따라 달라지므로 equals를 이용하여 비교한다.
- o
: +를 이용하면 숫자를 알아서 문자열로 바꿔준다.
- String.length
한번에 모아서 관리하기 위해 배열을 사용한다.
배열의 특징(리스트와 차이점)
반복문을 사용하여 데이터 관리(데이터 핸들링)를 쉽고 빠르게 처리 가능하다.
for문과 함께 자주 사용한다.
자료형[ ] 배열이름 = { 값1, 2, 3, ... }
값은 안써도 ok.
대괄호 위치도 상관x
배열 선언 및 초기화 동시에:
int [ ] arr1 = new int [5];
int arr2 [ ] = new int [5];
: 같다.
[ * ] 안에는 배열 크기를 지정하거나 인덱스 번호를 넣을 수 있다.
ex) for문의 i값
2 번은 오류!!
3번이 보편적인 방법
※chap5 - arraymission
-> Grades, Students / Grades0, Students0/ StudentArray(쌤) / GradeCard, StudentGradeProgram
Q) 학생 성적 프로그램
※ chap5 - array - CharArray
※ chap5 - array - mission2 / -T(쌤)
->메뉴 선택: 1
->제목 입력: --------------
->저자 입력: -----
(등록 불가의 경우)
->"도서 등록이 불가능 합니다."
->메뉴 선택: 2
->제목 입력: --------------
-> 대여 완료
(대여 불가의 경우)
->"이미 빌린 책 or 없는 책"
->메뉴 선택: 3
->제목 입력: --------------
->반납 완료
(반납 불가의 경우)
->"도서관에 없는 책"
->메뉴 선택: 4
->책 제목:-----, 책 저자:---ㅡ, 대여가능: true
->책 제목:--!!--, 책 저자:---ㅡ, 대여가능: false
->메뉴 선택: 5
->"프로그램 종료합니다."
-도서번호 <-> 재고상태 위치 바껴야함..ㅠ
※ chap5 - array - mission3
-참조타입 = 자료형
- int number[ ] = {1,2,3};
:배열 선언과 동시에 초기화하고자 하면 배열 크기는 비워놓아야 한다.
2.x
: 배열!
정수는 기초형이 맞으나, 정수를 담은 배열이라면 참조타입이다.
- array.length
인수 = int...v : int형 변수 몇 개 들어올지 모른다 -> 들어오는 대로 저장 -> 배열이 된다.
p: rintSum 안에서 int형 자료를 저장한 배열v가 된다.
->printSum(1,2,3,4,5), printSum(10,2,03) 모두 가능.
- x
: 배열의 모든 위치에 접근하므로 특정 위치,원소에만 접근하려면 일반for문 사용해야 한다,
- o
: 메서드 내의 연산에 따라 결과는 달라질 수 있다. (배열은 참조형이기 때문에 값이 바뀐다.)
- public void show ( String...s ) { }
:show에서만 사용 가능한 배열이 된다.
▼ 1 -> FEMALE
인수 여러개 저장 가능하나, 이 인수는 변하지 않는다.
final과 같은 변하지 않는 상수값이므로 mian밖에서 미리 선언해야 한다. 대문자로 선언.
상수 여러개 쉽게 관리하기 위해 사용한다.
:가독성과 직관성
enum의 변수는 상수이므로 switch문과 사용 가능하다.
! 열거타입 = enum !
- o
:열거 타입 상수 = enum
:상수 배열 안에 각 인수는 객체 취급한다.
2.o
:객체는 ==이 아니라 비교 메서드를 사용해야 한다.(아니면 오류 가능성 있음)
- x
:fianl은 데이터 영역에 생성된다.
:데이터 영역에는 만들어지는 변수는 겹칠 수 x.
4.enum
- 2
:1. 선언과 초기화 동시에
3.선언; 후에 값 대입, 4.선언만
- 4
: ''는 char 선언 시 사용
- : size는 arraylist의 길이
: 메서드 호출이기 때문에 ()가 온다.
: () 없으면 정적 타입???
- 2
: enum에 class는 붙이지 x
- false
: 참조변수 2개 new 생성
- 프로그래밍(공백 x)
: trim() 은 문자열 앞뒤의 공백 제거(중간x)
: substring(2,9) 인덱스 2-9번까지 자르기 = slicing -> 마지막 인덱스는 포함하지 않는다.
- 2 1 3
: 행 개수
- double[ ] d = {1.0, 2.0, 3.0};
- java false 1
10 pass
- printArray(new int []{1,2,3,4});
:배열은 객체이므로 new로 선언한다.