Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- vmware #가상화 #aws 클라우드 #아키텍트 #과정 #가상머신 #컨테이너 #docker
- 비트 #바이트 #이진수
- 리눅스 #
- 사용자 그룹관리
- selinux #실행모드 변경 #설정방법
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #KDT #기본문법 #데이터베이스 #Computer #Science #CPU #메모리
- 리눅스 #기초 #네트워크 #포트 번호 #역할
- ubuntu #설정변경 #vmware #vmbox #linux #명령어
- 공간복잡도 #공간자원 #캐시메모리 #SRAM #DRAM #시간복잡도
- 리눅스 #기초설정 #가이드 #명령어
- 리눅스 #명령어 #사용자 계정 정보 관리
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- 명령어 #기초 #비밀번호 설정
- oracle vmbox #rocky #linux9 #명령어 #암호화인증 #해시알고리즘
- sasac #aws 클라우드 #아키텍트 과정 #가상화 #vmbox #vmware #esxi #tar #selinux
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #웹개발
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- haproxy #wordpree #php #linux #가상화 #가상머신 #내용정리
- mysql #linux #설정 #wordpress #웹사이트 #db 연결 #
- 리눅스 #명령어 #내용정리 #mac #특수권한
- tar #build #배포 #통신포트 #설정방법 #linux #apache
- 프로세스 #CPU #시공유 #커널
- virtualbox #vmware #router #nat #pat #네트워크 구성도 #aws #ubuntu #
- samba #가상머신 #daemon
- storage #로컬스토리지 #세션스토리지 #백그라운드 서비스
- 리눅스 #사용자계정 #정보관리
- 쓰레드 #쓰레드풀 #프로세스
- 인바운드 #아웃바운드 #방화벽설정
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #OSI #ISO #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
Archives
- Today
- Total
요리사에서 IT개발자로
스파르타 코딩클럽 부트캠프 배열(Array), 다형성(1차원, 2차원, 3차원) 본문
여러개의 변수를 같은 곳에 모아서 저장할 때
한번에 많은 양의 데이터를 계산할 때
배열을 사용한다
선언 -> [ ]
//일반적인 선언방식
int[] intArray; //정수배열
long [] longArray;
double [] doubleArray; //실수배열
char [] charArray; // 문자배열
String [] stringArray; //문자열 배열
//배열선언
//2번째 선언방식
int intArray[]; //정수배열
long longArray[];
double doubleArray[]; //실수배열
char charArray[]; //문자배열
String stringArray[]; //문자열배열
생성은 new 명령어를 통해 생성 후 [ ] 대괄호를 사용해 크기를 지정한다.
각 칸마다 순번이 있다.
public class Array02 {
public static void main(String[] args) {
// 배열 생성
//배열 생성후 초기화하면 배열의 주소가 할당된다.
int[] intArray = new int[3]; //초기값 {0, 0, 0}
boolean[] boolArray = new boolean[3]; //초기값{false, false, false}
String[] stringArray = new String[3]; //{"", "", ""}
//배열 선언만 해놓고 나중에 초기화를 할 수 있다.
int[] intArray2;
intArray2 = new int[3]; //초기값 {0,0,0}
}
배열안에 담겨있는 변수들을 하나씩 꺼내사용하는것을
순회라 한다.
//배열 단건조회
int[] intArray3 = new int[3]; //모두 0으로 초기화된 사이즈3의 배열 생성
//배열에서 2번째 순번의 값을 출력.
System.out.println(intArray3[1]);
//출력 0
배열 순회
.lengh()
배열의 길이값
//길이가 3인 정수배열 선언
int[] intArray4 = new int[3];
//배열이 초기화된 값을 출력
for(int i=0; i<intArray4.length; i++){
System.out.println(intArray4[i]);
}
//출력 0, 0, 0
배열 초기화 및 입력
package arr;
import java.util.Arrays;
public class Array03 {
public static void main(String[] args) {
//1. 배열에 특정값 대입하며 선언
int[] intArray = {1, 2, 3, 4, 5};
String[] StringArray = {"A", "B", "C", "D", "E"};
//2. for문을 통해 값을 대입한다.
for(int i=0; i<intArray.length; i++){
intArray[i]= i;
}
//3.향상된 for문을 통해 값을 대입
for(int i : intArray){
System.out.print(i); //0, 1, 2, 3 , 4
}
System.out.println("=======================");
//4. 배열의 주소를 모두 같은값으로 초기화
Arrays.fill(intArray, 1); //배열의 모든 값을 1로 초기화한다
for(int i : intArray){
System.out.print(i); //1, 1, 1, 1, 1
}
}
}
얕은복사
변수명은 서로 다르지만 같은 값을 같고 있다.
public class Array04 {
public static void main(String[] args) {
//얕은 복사
int[] a ={1, 2, 3, 4};
int[] b = a; //얕은복사
b[0] = 3; //b배열의 0번째 값을 3으로 수정
System.out.println(a[0]); //출력 3
}
}
깊은복사
새로운 배열을 똑같이 만들고 싶을 때 사용한다.
import java.util.Arrays;
public class Array05 {
public static void main(String[] args) {
int[] a= {1, 2, 3, 4};
int[] b = new int[a.length];
for(int i = 0; i<a.length; i++){
b[i]= a[i]; //깊은복사
}
b[0] = 3; //b 배열의 0번째 순번값을 3으로 수정
System.out.println(a[0]); //1출력
System.out.println(b[0]); //3출력
//깊은 복사 메서드
// Arrays.copyOf()
int[] c = {1 ,2 ,3 , 4};
int[] d = Arrays.copyOf(c, c.length);
//배열과 함께 length값도 같이 넣어준다
}
}
String 배열
//String 배열을 아래와 같이 선언 생성
String[] StringArray = new String[3];
public class Array06 {
public static void main(String[] args) {
//String 배열을 아래와 같이 선언 생성
String[] stringArray = new String[3];
//선언 후 하나씩 초기화 할 수 있다.
stringArray[0] = "val1";
stringArray[1] = "val2";
stringArray[2] = "val3";
//선언과 동시에 초기화 할 수 잇다.
String[] stringArray1 = new String[] {"val1", "val2", "val3"};
String[] stringArray2 = {"val1", "val2", "val3"};
}
}
문자열 = 문자배열
char = 문자배열
String = 문자열
기본형 변수는 소문자로 시작
참조형 변수는 대문자로 시작
메서드
|
응답값 타입
|
설명
|
length()
|
int
|
문자열의 길이를 반환한다.
|
charAt(int index)
|
char
|
문자열에서 해당 index의 문자를 반환한다.
|
substring(int from, int to)
|
String
|
문자열에서 해당 범위(from~to)에 있는 문자열을 반환한다. (to는 범위에 포함되지 않음)
|
equals(String str)
|
boolean
|
문자열의 내용이 같은지 확인한다. 같으면 결과는 true, 다르면 false가 된다.
|
toCharArray()
|
char[]
|
문자열을 문자배열(char[])로 변환해서 반환한다.
|
new String(char[] charArr)
|
String
|
문자배열(char[]) 을 받아서 String으로 복사해서 반환한다.
|
package arr;
public class Array07 {
public static void main(String[] args) {
String str = "ABCD";
//length()
int strLength = str.length();
System.out.println(strLength); //4출력
//charAt(int index)
char strChar= str.charAt(2); //순번은 0부터 시작해서 2는 3번째
System.out.println(strChar); //C출력
//substring(int from, int to)
String strSub = str.substring(0, 2); //0~2번째 까지 출력
System.out.println(strSub); //ABC출력
//equals (String str)
String newStr = "ABCD"; //str 값과 같은 문자열 생성
boolean strEqual = newStr.equals(str); //boolean타입의 strEqual은 newStr안의 str과 같다.
System.out.println(strEqual); //true출력한다
//toCharArray()
char[] strCharArray = str.toCharArray(); //String을 char[]로 변환한다.
//반대로 char[]를 String으로 변환하기
char[] charArray = {'A', 'B', 'C'};
String charArrayString = new String(charArray);
System.out.println(charArrayString); //ABC출력
}
}
다형성
1차원 []
2차원 [] []
public class Array08 {
public static void main(String[] args) {
//중괄호를 사용해 초기화
int[][] array = {
{1, 2, 3},
{4, 5, 6}
};
}
}
int[][] array = new int[2][3]; //최초로 선언한다
for(int i = 0; i < array.length; i++){
for(int j =0; j <array[i].length; i++){
array[i][j] = 0; // i, j는 위 박스안에 숫자를 의미
가변배열
행마다 다른 길이의 배열을 저장할 수 있는 배열
package arr;
public class Array09 {
public static void main(String[] args) {
//가변 배열
//선언 및 초기화
int [][] array = new int[3][];
//배열 원소마다 다른 크기로 지정
array[0] = new int[2];
array[1] = new int[4];
array[2] = new int[1];
//중괄호 초기화 할 때 원소배열 크기를 다르게 생성 가능
int[][] array2 = {
{10, 20},
{10, 20, 30, 40},
{10}
};
}
}
//3차원 배열
// 중괄호 3개를써서 3차원 배열 초기화 가능
int [][][] multiArray = {{{1,2}, {3,4 }}, {{5, 6}, {7, 8}}};
다차원 배열 조회
package arr;
public class Array10 {
public static void main(String[] args) {
//가변 2차원 배열 조회
int[][]array = {
{10, 20 , 30},
{10, 20, 30, 40},
{10, 20}
};
for(int i=0; i < array.length; i++){ //1차원 길이 3을 돌아가며 순회
for(int j=0; j < array[i].length; j++){ //2차원 길이는 3, 4, 2
System.out.println(array[i][j]); // 2중반복문으로 i, j인덱스를 순회
}
//1차원 길이를 0부터 순회 할동안 j는 순회하면서 출력
}
}
}
//최대값 초기값 세팅
int max = arr[0];
//최대값 구하기
for(int num : arr){ //반복문을 돌면서 arr값이 num에 입력되며
if(num > max){ //if (num)에 대입이되며 max의 값과 비교
max = num; //5가 입력되며 max는 0으로 변경
}
}
System.out.println(max); //5출력
}
//최소값 구하기
int[] arr= { 3, 2, 1, 4, 3 };
//최소값 초기 세팅
int min = arr[0];
System.out.println(min);
//최소값 구하기
for(int num : arr) { //arr가 num에 대입되면서
if (num < min) { //min은 3이기에 2번째 2가 대입되며서 저장됬다가, 1이 최종 작은수로 저장
min = num; //min이 최종 작은값이 1이기에
}
}
System.out.println(min); //1이 출력
}
https://hs-backend.tistory.com/47
반응형
'Java' 카테고리의 다른 글
스파르타 부트캠프 자바 4강 예외처리 (0) | 2024.05.11 |
---|---|
스파르타 부트캠프 자바 컬렉션 정리 (0) | 2024.05.08 |
스파르타 코딩클럽 부트캠프 (Java 문법 5장) (0) | 2024.05.03 |
스파르타 코딩클럽 부트캠프 (Java 문법 4장) (1) | 2024.05.02 |
스파르타 코딩클럽 부트캠프 (Java 문법 3장) (0) | 2024.04.29 |