1.2차원 배열
값이 행과 열로 구성된 배열
1차원
데이터타입[] 배열이름 = new 데이터타입[갯수];
int[] arr = new int[3];
arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
int[] arr = {10, 20, 30};
2차원
데이터타입[][] 배열이름 = new 데이터타입[행갯수][열갯수]
int[][] arr = new int[2][3];
[0,0] [0,1] [0,2]
[1,0] [1,1] [1,2]
arr[0][0] = 10;
arr[0][1] = 20;
..
arr[1][2] = 60;
행단위로 묶음
int[][] arr = {
{10,20,30}
,{40.50.60}
};
향상된 for문
for(변수 : 배열){
배열의 요소갯수만큼 반복할 문장;
...
}
int[] num = {10, 20, 30};
for(int i : num){
System.out.prinltn(i);
}
2. String 클래스
자바의 문자열을 저장하고 다룰 수 있는 클래스
✨String 클래스는 불변객체! heap에 계속 새로운 문자열을 생성해서 메모리를 잡아먹음
버려진 애들은 자바의 가비지컬렉터가 지워주기도 함
char[] ch = {'안', '녕', '하', '세', '요'};
String str = new String("안녕하세요");
String str = "안녕하세요";
3. 유용한 메소드들
클래스내 변수 = 필드
블래스내 함수 = 메소드
String str1 = new String("java");
String str2 = new String("Programming");
System.out.println(str1);
System.out.println(str2);
// concat(); 문자열과 문자열을 연결
System.out.println(str1.concat(str2)); // 1
String temp = str1.concat(str2); // 2
System.out.println(temp);
System.out.println(str1 + str2); // 3
// indexOf(): 원하는 문자열을 찾아 해당하는 문자열의 index를 반환
System.out.println(str2.indexOf("P")); // 8
System.out.println(str2.indexOf("p")); // -1
System.out.println(str2.indexOf("gra")); //3 첫 단어의 인덱스
System.out.println(str2.indexOf("r",3)); //4
// trim(): 문자열의 앞뒤 공백을 제거
String str3 = new String(" 자바 ");
System.out.println("✔" + str3 + "✔");
System.out.println("✔" + str3.trim() + "✔");
// toLowerCase(): 소문자로변환, toUpperCase(): 대문자로 변환
System.out.println(str2.toLowerCase());
System.out.println(str2.toUpperCase());
// length(): 문자열의 길이를 반환
System.out.println(str2.length()); // 11
// substring(): 원하는 문자를 추출
// Programming
System.out.println(str2.substring(3)); //문자열 index 3부터 끝까지 출력
temp = str2.substring(3);
System.out.println(temp);
System.out.println(str2.substring(3,7)); //문자열 index 3부터 7직전까지 추출
// 문자열을 숫자로 변환
String str4 = "100"; // 문자열이긴한데 숫자모양을 하고있는 문자열
int i = 200;
System.out.println(str4 + i); //100200
System.out.println(Integer.parseInt(str4) + i);
//
과제
주민등록번호 검증 프로그램을 만들어보자
0 0 1 0 1 1 - 3 0 6 8 5 1 8
1. 각 자리에 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5를 곱하고 모두 더하기
(단 주민등록번호의 마지막 자리는 제외)
0 0 1 0 1 1 3 0 6 8 5 1 8(제외)
* * * * * * * * * * * *
2 3 4 5 6 7 8 9 2 3 4 5
0 + 0 + 4 + 0 + 6 + 7 + 24 + 0 + 12 + 24 + 20 + 5 = 102
2. 11로 나눈 나머지 값을 구함
102 % 11 = 3
3. 11에서 "2번의 결과"를 뺀 값을 구함
11 - 3 = 8
(단, 3번의 결과가 2자리(10이상)인경우 10으로 나눈 나머지 값을 구함)
4. 3번의 결과값과 주민등록번호 마지막 자리와 일치하면 유효한 주민등록번호임!
'서버&백엔드 > 🔥 JAVA' 카테고리의 다른 글
Java | 배열,Object,상속,캐스팅,instanceof (0) | 2022.10.01 |
---|---|
Java | 메소드,main,OOP,클래스,생성자 (0) | 2022.09.29 |
Java | 반복문,Math,배열 (0) | 2022.09.27 |
Java | 타입변환,Scanner,조건문,반복문 (0) | 2022.09.26 |
Java | JVM,소스코드,출력,주석,변수,연산자 (1) | 2022.09.23 |