일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Oracle
- string
- Uipath
- 배열
- 상속
- Array
- rpa
- spring
- jquery
- Eclipse
- JDBC
- db
- SpringBoot
- Java
- jsp
- View
- mysql
- html
- Board
- MVC
- git
- React
- Scanner
- Controller
- API
- Thymeleaf
- 조건문
- 이클립스
- 문자열
- Database
- Today
- Total
유정잉
3일 Java [ for문 중첩 , 배열 Array , 다차원 배열 , 열거 타입 ] 본문
[ 반목문 for 문 중첩 ? ] for 문은 또 다른 for 문을 내포할 수 있는데, 이것을 중첩된 for 문이라고 한다. 이 경우 바깥 for문이 한번 실행할 때마다 중첩된 for문은 지정 횟수만큼 반복하고 다시 바깥 for 문으로 돌아간다.
열이 가변적일때, 행을 기준으로 공통수식을 뽑아 조건식에 넣는다.
행(i)변수를 이용해 열(j) 변수값이 나오도록 공통수식을 뽑는다.
행은 5개 고정 열은 가변적. 행은 고정 열이 가변적일 때 행을 기준으로 공동수식을 뽑아 조건식에 넣는다. 행 변수를 이용해 열 변수 값이 나오도록 공통수식을 뽑는다
Q. 밑에를 출력해라.
*
**
***
****
*****
[ for - each 문 ? ] 자바는 배열 및 컬렉션을 좀 더 쉽게 처리할 목적으로 for-each문을 제공한다. 카운터 변수와 증감식을 사용하지 않고, 항목의 개수만큼 반복한 후 자동으로 for문을 빠져나간다.
for ( 타입변수 : 배열 ) {
실행문;
}
가져올 항목이 존재할 경우 배열->타입변수->실행문;
가져올 항목이 없는 경우 배열->빠져나감
[ 자바의 데이터 타입] 은 크게 기본타입 primitive type과 참조 타입 reference type 으로 분류된다. 참조 타입이란 객체 object의 번지를 참조하는 타입으로 배열, 열거, 클래스, 인터페이스 타입이 있다. 기본 타입으로 선언된 변수와 참조 타입으로 선언된 변수의 차이점은 저장되는 값이다. 기본 타입으로 선언된 변수는 값 자체를 저장하고 있지만, 참조 타입으로 선언된 변수는 객체가 생성된 메모리번지를 저장한다. 변수들은 모두 스택 stack 이라는 메모리 영역에 생성된다.
[ null과 NullPointerException ? ] 참조 타입 변수는 아직 번지를 저장하고 있지 않다는 뜻으로 null 값을 가질 수 있다. 자바 프로그램 실행 도중에 발생하는 오류를 예외 Exception라고 부른다. 참조 변수를 사용하면서 가장 많이 발생하는 예외 중 하나는 NullPointerException이다. 변수 null인 상태에서 객체의 데이터나 메소드를 사용하려 할 때 이 예외가 발생한다.
[ Strig 문자열 타입 ? ] String 변수에 문자열 리터럴을 대입하는 것이 일반적이지만, new 연산자로 직접 String 객체를 생성하고 대입할 수도 있다. new 연산자는 새로운 객체를 만드는 연산자로 객체 생성 연산자라고 한다.
String name 1 = "홍길동";
String name 2 = "홍길동";
String name 3 = new String "홍길동";
=> name1 과 name2는 동일한 문자열 리터럴로 생성된 객체를 참조하기 때문에 name1==name2의 결과는 true,
name3는 new 연산자로 String 객체를 별도로 생성했기 때문에 name1==name3의 결과는 false 가 나온다.
[ Array 배열 타입 ? ] 많은 양의 값을 다루는 좀 더 효율적인 방법. 배열은 연속된 공간에 값을 나열시키고, 각 값에 인덱스 index를 부여해 놓은 자료구조이다. 인덱스는 대괄호 [ ] 와 함께 사용하여 각 항목의 값을 읽거나 저장하는데 사용된다. 배열의 특징으로 배열은 같은 타입의 값만 관리하고, 배열의 길이는 늘리거나 줄일 수 없다.
[ 배열 변수 선언 ? ] 두가지 형태로 작성할수 있지만 관례적으로 첫번째 방법을 주로 사용한다. 1) 타입[] 변수; 2) 타입 변수[]; 배열 변수는 참조 변수이다. 참조할 배열이 없다면 배열 변수도 null로 초기화할 수 있다. 타입[] 변수 = null;
[ 값 목록으로 배열 생성 ? ] 배열에 저장될 값의 목록이 있다면 다음과 같이 간단하게 배열을 생성할 수 있다.
타입[] 변수 = { 값0, 값1, 값2, 값3 };
String []season = { "Spring", "Summer", "Fall", "Winter" };
season[0] = Spring
만약 season[0] = "봄"; 으로 인덱스0의 항목의 값이 변경된다면
System.out.println(season[0]); 은 봄으로 출력된다.
public class Test2 { public static void main(String[] args) { int sum = 0; int[] scores = {30,60,90}; for(int i=0;i<scores.length;i++) { sum += scores[i];} System.out.println(sum); } }
중괄호 { }로 감싼 값의 목록의 배열 변수에 대입할 때 주의할 점이 있다. 배열 변수를 미리 선언한후에는 값 목록을 변수에 대입할 수 없다.
타입[] 변수;
변수 = { 값0, 값1, 값2, 값3 }; // 컴파일 에러
타입 []변수 = { 값0, 값1, 값2, 값3 } // 이렇게 해야 함.
타입 변수 = new 타입[] {
값0, 값1, 값2, 값3 } // 배열 선정과 동시에 new도 가능
1. int []ary={4,5,6}; // 가장 많이 쓰는 방법 1.2.3. 모두 표현 가능
2. int []ary;
ary=new int[] {4,5,6};
3. int ary[]=new int[]{4,5,6}
[ new 연산자로 배열 생성 ? ] 값의 목록은 없지만 향후 값들을 저장할 목적으로 배열을 미리 생성할 수도 있다.
타입[] 변수 = new 타입 [길이] => 길이는 배열의 갯수를 나타냄.
[ 배열 길이 ] 배열의 길이를 얻으려면 도트(.) 연산자를 사용해서 참조하는 배열의 length 필드를 읽으면 된다.
Q. 주어진 배열 항목에서 최대값을 출력하는 코드를 작성해보세요 (for문 이용)
int [] array = {1,5,3,8,2};
[ 다차원 배열 ? ] 배열 항목에는 또 다른 배열이 대입될 수 있는데, 이러한 배열을 다차원배열.
변수[1차원인덱스][2차원인덱스]
[ 2차원 배열 ]
int [ ] [ ] ary = { {1,2,3,4, }, {5,6,7,8} } ;
2행 / 4열 | [0] | [1] | [2] | [3] |
[0] | 1 | 2 | 3 | 4 |
[1] | 5 | 6 | 7 | 8 |
[ 2차원 배열일 때 ]
행 => 배열명.length
열 => 배열명 [행] .length
[ 열거 enum 타입 ]
참조타입 중 열거 타입은 데이터 중에는 몇가지로 한정된 값을 갖는 경우가 있다. 예를들어 월,화,수,목,금,토,일 요일은 7가지 봄,여름,가을,겨울 계절은 4가지. 이와 같이 한정된 값을 갖는 타입을 열거 타입 enumeration type 이라고 한다. 모두 대문자로 작성한다. 열거 타입 변수에는 열거 상수를 대입할 수 있는데, '열거타입.열거상수' 형태로 작성한다.
'네이버 클라우드 부트캠프 > 복습 정리' 카테고리의 다른 글
6일차 Java [ 싱글톤, Getter Setter, 정적 멤버, final, 패키지 ] (0) | 2024.02.27 |
---|---|
5일차 Java [ 객체 지향 프로그램 , 클래스, 접근 제한자 ] ☆★ (2) | 2024.02.26 |
4일차 Java [ 문자열 함수 , 메소드 ] (0) | 2024.02.23 |
2일차 Java [ 연산자 , 조건문 , 반복문 ] (0) | 2024.02.21 |
1일차 Java [ JDK 설치 , WINDOWS 환경 변수 설정 , ECLIPSE 설치 , Scanner , 자동 강제 타입 변환 ] (0) | 2024.02.20 |