- 2차원 배열 :
heap 메모리에 행(열을 참조하는 주소값이 있음), 열(값이 있음) 각각의 메모리 칸이 있는거
1) 정방형
int [][] num;
num = new int[3][2]; >3행 2열의 2차원 정방형 배열
행의 길이? num.length
2번째 행의 길이? num[1].length
3번째 열의 2번째 요소? num[2][1]
foreach로 2차배열 출력하기
for (int[] n : num) {
for(int v : n ) {
System.out.println( v );
}
}
2) 비정방형
int [][] num = new int[3][]; << 여기서 열 크기를 지정하지 않는게 키포인트!!!
num[0] = new int[1];
num[1] = new int[3]; << 열의 크기를 이때 작성한다.
num[2] = new int[2];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 파라미터: 메서드의 소괄호에 있는 변수
- 아규먼트: 파라미터에 저장되는 값
- 이클립스를 통해 메인메서드에 아규먼트 넣는 방법
실행 하고자 하는 파일 오른쪽 클릭> 런애즈> run configuration> 실행하고자 하는 파일 확인 후 arguments탭으로 변경> 넣고자 하는 아규먼츠 값 넣기(공백으로 구분함, 문자열로 나타내고 싶으면 쌍따옴표로 바꿔라)
- arguments 탭에서 variables 버튼 누른 후 Strgin prompt 이거 선택 설정하면은 일반 런애즈 하는경우 입력할 수 있는 창이 나와서 위 과정을 생략 시킬 수 있음.
- int num = Integer.parseInt("10");
>> 문자열 형태의 정수를 실제 정수로 변경하는 방법
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 랜덤값 얻기
- java.util.Random 클래스 이용
- 방법
1) Random 클래스 객체 생성
import java.util.Random;
Random r = new Random();
2) 랜덤값 반환하는 메서드 사용
int n = r.nextInt();
int n2 = r.nextInt(3); // 0, 1, 2 중에서 랜덤하게 반환
float f = r.nextFloat();
double d = r.nextDouble();
boolean b = r.nextBoolean();
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- 클래스
- 자바에서는 객체(object)를 어떻게 표현할까?
현실세계 OOP 가상세계(자바 프로그래밍)
------ --------------------
고양이 객체 --------------------------> 클래스로 표현 ( Cat 클래스 )
-속성: 이름,나이,성별... ------------------> 변수로 표현 (인스턴스 변수)
-동작(기능):먹기,뛰기,... -----------------> 메서드로 표현
- 반드시 클래스를 사용할려면 객체생성해야 된다.
문법:
클래스명 변수명 = new 클래스명();
- heap 메모리에 생성된 Cat을 인스턴스(instance)라고 부른다.
인스턴스안에 있는 구성요소인 변수와 메서드를 멤버(member)라고 부른다.
- Cat 인스턴스의 구성요소(변수,메서드)를 접근하기 위해서는
c 참조변수를 이용한다.
방법: c.변수/c.메서드()
- 주의할 점은 main 메서드를 지정하지 않는다. (*************)
이유는 재사용하기 위함이다. ( 클래스 재사용 )
main메서드가 없기 때문에 실행이 안됨.
실행하기 위해서 main메서드를 가진 임의의 클래스(핸들링 클래스)를 추가해야 된다.
결론:
Cat 클래스 (main 없음)
TestCat 클래스 ( main 있음, Cat 핸들링 역할: 객체생성등.... )
'개발자 학습 > JAVA 복습' 카테고리의 다른 글
9월 27일/ 9월 30일 (4,5일차)(3월 13일 오전 & 오후 영상 복습) (0) | 2024.09.30 |
---|---|
workshop 02 문제 풀기 (문제 1~11번) (1) | 2024.09.26 |
9월 26일 (3일차)(3월 12일 오전 & 오후 영상 복습) (1) | 2024.09.26 |
9월 25일 (2일차) 추가 학습 (0) | 2024.09.26 |
workshop 01 문제 풀기 (문제 1~3번) (0) | 2024.09.25 |