230426 day17 개념 정리

Jin·2023년 5월 25일
0

codenotion

목록 보기
14/90
post-thumbnail
배열
참조형타입
배열선언
1. 타입[] 변수명= {1,2,3,4,5}
ex> int[] nums = {1,2,3,4,5}
2. 타입[] 변수명 = new 타입[배열길이]
ex> int[] nums2 = new int[5] {0,0,0,0,0}

String[] strs = new String[3] {null. null, null}
Double[] dous = new double[3] {0.0,0.0,0.0}
boolean[] bs = new boolean[2] {false, false}

배열 값 사용
배열변수[0]
배열길이
배열변수.length
마지막index는 배열변수.length-1


배열 값 수정 
nums[1] = 100;

배열복사
int nums = {1,2,3,4,5}
int nums2 = nums; ---> 같은 번지를 공유하게 됌 
(번지를 복사 -> 요소 값 수정하면 수정한 값 같이 공유)

1. int[] nums3 = new int[5]; ---> 새로운 주소를 생성, 요소의 값만 따로 복사
for(int i=0; i<nums.length; i++) {nums2[i] = nums[i]}
(다른 객체의 값 수정해도 복사한 값에는 영향을 주지 않음)

2. System.arraycopy(복사할 배열, 복사할 배열의 인덱스, 
붙여넣기할 배열, 붙여넣기할 배열의 인덱스, 붙여넣을 요소의 갯수)
System.arraycopy(nums, 1, nums2, 0, 4);

배열과 함께 쓰는 for문 - 향상된 for문
for(타입변수 : 배열변수)
for(int num : nums) {}

변수는 항상 초기화해야 사용할 수 있다 
참조타입은 값이 없으면 int[] nums = null;로 초기화 가능

배열 특징 
1) 생성된 배열의 길이 변경 불가능 
2) 타입과 다른 값을 담을 수 없음 


객체 = 클래스의 인스턴스 

클래스 
- 필드  
- 생성자
- 메소드(동작)

Car() {  } 					Car car1 = new Car()
Car(String model) {  }			Car car2 = new Car("소나타")
Car(String model, String color) {  }		Car car3 = new Car("소나타", "흰색")
Car(String model, String color, int speed) {  }	Car car4 = new Car("소나타", "흰색", 80)

연습문제 

TV클래스

속성
브랜드 
전원 = false
채널 = 0
음량 = 10
생성자 브랜드 명만 받아서 필드 브랜드 변경 (삼성, 엘지)

동작
전원on powerOn 	"전원이 켜집니다." 출력 	전원필드 true로 변경
전원off powerOff 	"전원이 꺼집니다." 출력 	전원필드 false로 변경
채널이동 
channelUp() 	채널 필드값을 1증가, 채널 출력
channelDown() 	채널 필드값을 1감소, 채널 출력
음량조절 
volumeUp() 	음량 필드값을 1증가, 음량 출력 
volumeDown() 	음량 필드값을 1감소, 음량 출력 
profile
신입 개발자의 배웠던 것을 복습하기 위한 블로그입니다.

0개의 댓글