목록Java (256)
코드 그라데이션
이런 경우는 어떻게 될까? int[ ] a = new int[10]; a = new int[20]; => 배열이 선언되어서, 이미 할당되었는데, a 변수에 새로운 크기의 배열이 저장되었다. 이 때 [10] 짜리 배열의 운명은 어떻게 될까... 정답은 배열은 가비지 컬랙션이 있어서 이미 실행이 끝나고 떠도는 것을 알아서 정리해준다! (면접 질문으로 나올 수 있음) 지금 보면 10 짜리 배열에 불이 안 들어와 있는 걸 볼 수 있음. 그리고 이걸 출력하면, 위 반복문에 의거해서 1 2 3 4 5 6 7 8 9 10 0 0 0 0 0 0 0 0 0 0 이렇게 나온다!! 간단한 퀴즈 배열 + Random 결합한 문제 풀이 순서 1. 랜덤 값 받기 2. 최댓값 찾기 3. 출력 package Day08; import..
배열 하나의 변수에 여러 개의 같은 자료형 값을 담을 수 있게 만든 것 변수에 큰 단점이 있습니다 ??? 일단, 1. 변수는 변수 하나에 값 한 개 밖에 저장을 못한다. 2. 변수는 반복문을 사용할 수가 없어. 배열은 가능하다. 변수를 출력하려면, 모든 변수 전부 print문을 작성해줘야 하는데, 배열은 한 번만 선언해주면 알아서 주르륵 나옵니다. 그럼 배열의 인덱스에 들어있는 값 출력은 어떻게 해야 하는가? => 그냥 배열이름 뒤에 대괄호 쓰고 인덱스 번호 넣으면 알아서 출력됨. ex) a[0] = 20; a[1] = 15; a[2] = 20; a[3] = 30; a[4] = 50; System.out.println(a[2]); // 20 변수와 배열의 직관적 비교 예시 public class Arra..
Random (원리는 스캐너와 유사함) : 임의의 난수를 발생시키는 클래스이다. Random r = new Random(); // 선언 방식 int num = r.nextInt(10); // 0~9 => 기본적으로 () 안에 숫자 n을 넣으면, 0 ~ n-1 범위의 난수를 출력한다는 사실! int num2 = r.nextInt(10) + 1; // 1~10 int num3 = r.nextInt(16) + 15 //15~30 => 이런 식으로, + 숫자 로 범위를 조절한다. 0+15 ~ 15+15 ⇒ 15~30 예시 package Day06; import java.util.Random; public class RandomTest { public static void main(String[] args) { ..
출력해야 하는 모양 브레인스토밍 - 공백도 문자일 수 있다는 idea! - 공백은 (" ") 이 모양으로 찍어주면 된다. - 공백 0 별 다섯 / 공백 하나 별 넷 / ... 이렇게 지금 반복 되고 있어. - 그러면, 공백을 찍는 for문과 / 별을 찍는 for문을 각각 만들어서 출력해주면 된다. ** 지금 변하는 값은? 공백의 수와 별의 수. 각각을 반복문으로 만들어 보면(행별) for (int j = 0; j
만들어야 하는 모양 브레인스토밍 - 별 개수는 점차 줄어들고, 공백의 수는 늘어난 다는 점을 착안하면 된다. - 그런데 이것도 좌측 정렬 중심이므로 별이 찍히는 개수만 조절해주면 된다. - 굳이 공백은 고려 대상은 아니다. - 별은 1행에서 5개, 2행에서 4개, 3행에서 3개, 4행에서 2개, 5행에서 1개 => 규칙적으로 행에서 하나씩 감하는 모습을 보이고 있다. 행별 정리하면 for(int i = 0; i < 5; i++) { System.out.print("*"); } System.out.println(); // 1행 for(int i = 0; i
이건 강사 선생님 풀이 기반으로 코드 해석(이해에 초점) 만들어야 하는 모양 풀이 코드 public class Star05_Ex { public static void main(String[] args) { for(int i = 0;ii; j--) { // 4 3 2 1 // 4 3 2 // 4 3 // 4 // 안찍힘 System.out.print(" "); } for(int j = 0;j
이건 강사 선생님 풀이 기반으로 코드 해석(이해에 초점) 만들어야 하는 모양 풀이 코드 public class Star04Ex_T { public static void main(String[] args) { for(int i = 0; ii; j--) { // 4 3 2 1 // 4 3 2 // 4 3 // 4 // 안찍힘 System.out.print(" "); } for(int j = 0; j3개...) ** 여기서 두 배는 산수적인 두 배가 아니라 의미상 두 배라고 생각하자. ex) i = 0 => 0*2=0 인데, [0]도 값으로 하면 1개니까. / i=1 => 1*2 = 2 인데, 배열[2]는 0, 1, 2 => 값은 3개.