본문 바로가기
Programming/JAVA

2016.3.22

by 짜_money 2016. 3. 22.
반응형

*배열(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