*배열(array)
같은 타입의 변수들의 집합
컴퓨터가 생각하기에는 int s1과 int s2의 차이나
int s1과 int age 와 별차이 없음
배열로 변수집단을 생성하면 같은 집단(배열)에 속한 변수들은 메모리상에 연속된 공간에 할당됨
but, 배열을 사용하면,
s[0]와 s[1]은 같은집단으로써 관련있다고 생각하는 것 뿐아니라
s[0]와 age는 다른집단이므로 관련없다고 생각
int s1 ... int s29 까지 있는 숫자(1~29)는 단지 변수명으로의 글자
s[0]... s[28] 까지 있는 숫자(0~28)는 정수데이터
int[] values;//자바 방식
int values;//C언어 유사 방식
- 배열 중간문제
-6칸짜리 배열을 만들고 중복되지 않는 로또 번호 6개를 배열에 담아 출력하기
- 배열크기, 성적 입력 후 평균출력
-배열이용 전기세 출력
다른방법 :
import java.util.Scanner;
public class ElectricityBill {
public static void main(String[] args) {
int a;
double bill = 0;
Scanner scan = new Scanner(System.in);
System.out.print("전기사용량을 입력: ");
a = scan.nextInt();
int[] BASIC_FEE = {410, 910, 1600, 3850, 7300, 12940};
final double[] USE_FEE = {60.7, 125.9, 187.9, 280.6, 417.7, 709.5};
if (a <= 100) {
bill = BASIC_FEE[0] + a * USE_FEE[0];
}
else if (a <= 200) {
bill = BASIC_FEE[1] + 100*USE_FEE[0] + (a-100)*USE_FEE[1];
}
else if (a <= 300) {
bill = BASIC_FEE[2] + 100*USE_FEE[0] + 100*USE_FEE[1] + (a-200)*USE_FEE[2];
}
else if (a <= 400) {
bill = BASIC_FEE[3] + 100*USE_FEE[0] + 100*USE_FEE[1] + 100*USE_FEE[2] + (a-300)*USE_FEE[3];
}
else if (a <= 500) {
bill = BASIC_FEE[4] + 100*USE_FEE[0] + 100*USE_FEE[1] + 100*USE_FEE[2] + 100*USE_FEE[3] + (a-400)*USE_FEE[4];
}
else {
bill = BASIC_FEE[5] + 100*USE_FEE[0] + 100*USE_FEE[1] + 100*USE_FEE[2] + 100*USE_FEE[3] + 100*USE_FEE[4] +(a-500)*USE_FEE[5];
}
System.out.println("전기세는 " + bill + "입니다");
}
}
null → 아무것도 없다
arr2 = arr; (얕은복사)
→ arr이 담고있는 위치를 arr2에 복사
얕은복사 : 위치 복사
↓깊은복사 : 실제데이터를 복사
'Programming > JAVA' 카테고리의 다른 글
2016.3.24 (0) | 2016.03.24 |
---|---|
2016.3.23 (1) | 2016.03.23 |
2016.3.21_시험문제 (0) | 2016.03.21 |
2016.3.21 (0) | 2016.03.21 |
2016.3.18 (0) | 2016.03.18 |