//do~while문, 배열, 최종정리,
/*
* 능력단위명 : 화면구현
* 능력단위요소 : UI 설계 확인하기
*
*/
do {
System.out.println("spring 점수를 입력하세요.");
spring = sc.nextInt();
} while (spring < 0 || spring >100); //점수가 0보다 작거나 100보다 크면 다시 돌리세요.
//헷갈릴 수 있음! while문을 계속 돌리기 위해선 (조건)값이 참 이여야 함.
//참 인 동안은 계속 돌려야하니, 즉 잘못 값을 넣었을 때 계속 돌려야 한다.
//등급 평균 100~90 A, 89~80 B, 79~70 C, 나머지 F
//switch문으로 제작 가능! 10으로 나눠서 해보자 ㅋㅋ
int temp = (int)avg / 10;
///////////배열
//배열 Array
/* index(위치), length(길이) ---> String
*
* 일단 기억하자 "배열은 객체다!"
* 객체는 기본적으로 속성과 메소드()를 가지고 있다.
* 배열은 유일하게 속성만 가지고 있다.
*
* 배열은 동일(유사)한 타입의 데이터를 하나의 묶음 형태로
* 관리하기 위해 사용되는 자료구조 이다.
*
* 예) int 타입의 변수가 100개 필요하다면 변수명만 만드는데 시간이 다 가고,,
* 이를 관리하는 어려움도 있을 것이다. 이것을 극복하고자 '배열'이 사용된다.
*
* 배열은 객체라고 했기 때문에 객체의 속성과 메소드를 사용해서
* 배열을 관리한다. 하지만 배열은 유일하게 속성만 가지고 있음.
*
* 속성은 배열의 길이를 나타내는 length 이다.
* 객체의 속성과 메소드 등을 호출할 때는 .(점)을 이용한다.
*/
//////////배열은 두고두고 복습하자 ^^...
public class Array01 {
public static void main(String[] args) {
//배열 생성식 = 변수 선언식
//데이터 타입 변수명 = 값;
//int 타입의 배열 = 내가 배열임을 선언
//길이 = 저장할 수 있는 값
int[] arr01 = new int[10]; //int타입, 길이가 10인 배열 선언. Scanner를 생각해보면 비슷하다.
double[] dArr01 = new double[5]; //double타입, 길이가 5인 배열
char[] cArr01 = new char[15];
//같은 타입, 동일 관리, 주소 호출
//배열 생성식
// 1 2 3 4 5 = 길이 length
// 0 1 2 3 4 = 위치 index
//10 <- 여기에 10 저장해줘!
//int arr02[] = new int[5];
// []를 이름 뒤에 붙일 수 도 있다 하지만 웬만하면 데이터타입에 쓰자...
int[] arr02 = new int[5];
//길이는 "생 성 할 때 만! " 사용한다!!
//값 대입 = index
arr02[0] = 10; //index는 값 호출, 대입할 때 사용
//호출
System.out.println(arr02[0]);
System.out.println(arr02[1]);
System.out.println(arr02[2]);
System.out.println(arr02[3]);
System.out.println(arr02[4]);
//System.out.println(arr02[5]); //index 밖으로 나간다
System.out.println(arr02); //[I@5ccd43c2 주소값
System.out.println(Arrays.toString(arr02)); //Arrays도 대문자시작, 클래스!
//문제 [10, 11, 12, 13, 14]
//index는 정수, 변수도 가능
for(int i = 1; i < 5; i++) {
arr02[i] = 10 + i;
}
//해당 배열의 길이
int length = arr02.length;
System.out.println(length);//길이는 int
System.out.println(arr02.length);
System.out.println( Arrays.toString(arr02) ); //배열 예쁘게 출력
//문제 [100, 101, 102, 103, 104]
for(int i = 0; i < 5; i++) {
arr02[i] = 100 + i;
}
System.out.println( Arrays.toString(arr02) );
//문제 [100, 102, 104, 106, 108]
for(int i = 0; i < arr02.length; i++) {
arr02[i] = 100 + (i * 2);
}
System.out.println( Arrays.toString(arr02) );
//길이를 모르는 배열 맨 마지막 index 값을 대입하고 싶다면
//index = 길이 - 1
arr01[arr01.length - 1] = 1000;
System.out.println(Arrays.toString(arr01));
System.out.println(arr01.length);//10개 공간
//문제 arr01에 1~10까지 저장하자
for(int i = 0; i < arr01.length; i++) {
arr01[i] = i + 1;
}
System.out.println(Arrays.toString(arr01));
}
}
///Array02
String str = null; //기본값, 초기값이 null 이므로 이렇게 넣을수도 있음
Scanner sc = null; //Scanner도 객체. 앞이 대문자로 시작하는 애들은 다 null값 가능
//생성식 = int 배열, 10칸 = 초기값으로
//초기값? 정수는 0, 실수는 0.0, char는 0(부터 시작,정수값이 들어감.. 유니코드값인듯?), boolean은 거짓값..객체는?
//객체는 기본값, 초기값이 null 이다!
//또 다른 생성식~ 바로 값 넣어주기
int[] arr02 = new int[] {10, 11, 12, 13, 14, 15, 16, 17};
//또 다른 생성식2
int[] arr03 = {1, 2, 3, 4, 5};
String str = null; // 기본값, 초기값이 null 이므로 이렇게 넣을수도 있음
Scanner sc = null; // Scanner도 객체. 앞이 대문자로 시작하는 애들은 다 null값 가능