JAVA
-
Java | 다차원 배열_이차원 배열JAVA/JAVA 2020. 1. 29. 17:45
다차원 배열_이차원 배열 배열의 리스트가 배열로 이루어진 표(면)의 형태를 갖는 배열 배열의 첫 번째 리스트를 행이라고 하고, 각 행에 해당하는 배열을 열이라고 함 고정배열 행과 열의 개수가 정해져 있는 배열 자료형 [][] 배열명 = new 자료형[개수][개수] 가변배열 행의 개수는 정해져 있지만, 열의 개수는 정해져 있지 않은 배열 행의 개수가 정해져 있지 않은 배열은 생성할 수 없음 자료형 [][] 배열명 = new 자료형[개수][] 초기화 // 배열을 생성한 후 초기화 하는 경우, 불편하기 때문에 자주 사용되지 않음 자료형 [][] 배열명 = new 자료형[2][2] 배열명[0][0] = 값1, 배열명[0][1] = 값2, 배열명[1][0] = 값3, 배열명[1][1] = 값4 // 생성과 동시에..
-
Java | Ellipsis 가변인수JAVA/JAVA 2020. 1. 29. 17:40
Ellipsis (...) 가변인수 매개변수로 들어오는 값의 개수와 상관 없이 메소드가 기능하도록 해주는 매개변수 (...) 매개변수로 전달되는 인자들의 자료형은 반드시 같아야 함 (...) 가변인수는 매개변수 가장 마지막에 작성해야 함 (...) 앞에 매개변수가 있는 경우, 인자들이 앞에 있는 매개변수부터 하나씩 순서대로 전달되고 나머지 인자들이 (...)으로 전달됨 가변배열 형태의 매개변수임 ※ Argument 인자: 매개변수로 전달된 실질적인 값 형식 (자료형 ... 매개변수명) 사용례_확장 for문 활용 package j200129; public class VarArgTest { // ... 매개변수를 사용 public void print(String... names) { // 가변배열의 형태로 ..
-
Java | String Method & API 문서 참조 방법JAVA/JAVA 2020. 1. 29. 17:37
String Method 기본적으로 많이 사용되는 String 클래스 메소드 정리 메소드 설명 substring(start index) String 클래스의 일반 메소드, 객체명.substring()으로 사용하며, 시작 인덱스부터 마지막 인덱스까지의 문자열을 추출함 문자열 시작 인데스: 0 substring(start index, end index) 시작 인덱스부터 지정한 끝 인덱스까지의 문자열을 추출하는 메소드 시작 인덱스의 문자는 포함되며, 끝 인덱스의 문자는 제외됨 즉, 끝 인덱스 전 문자까지 문자열 추출 toUpperCase() String 클래스의 일반 메소드, 객체명.toUpperCase()로 사용하며, 문자열의 모든 알파벳을 대문자로 반환함 toLowerCase() 위의 메소드와 반대로 문자..
-
Java | ScannerJAVA/JAVA 2020. 1. 28. 22:43
Scanner Java.util 패키지에 있는 입력 클래스 문자뿐만 아니라 정수, 실수 등 다른 자료형도 읽을 수 있음 콘솔 화면 및 파일, 문자열을 생성자의 매개변수로 받아 자료를 읽어 올 수 있음 Scanner 대표 생성자 생성자 설명 Scanner(File source) 파일을 매개변수로 받아 Scanner 생성 Scanner(InputStream source) 바이트 스트림을 매개변수로 받아 Scanner 생성 InputStream source: 간단하게 키보드라고 할 수 있음 Scanner(String source) String을 매개변수로 받아 Scanner 생성 ※ Scanner(System.in): 표준 입력(콘솔 입력)으로부터 자료를 읽어 들이는 Scanner 생성 System.in은 I..
-
Java | Array 배열 활용, 확장 for문JAVA/JAVA 2020. 1. 28. 22:38
Array 배열 활용 사용례_for문 활용 배열은 같은 자료형의 여러 값을 모아둔 것이기 때문에 for문과 함께 자주 사용됨 배열의 인덱스를 통해 데이터를 제어할 필요가 있을 때는 for문을 사용하는 것이 유용함 public class ArgTest { public static void main(String[] args) { // 10개의 int형 데이터를 갖는 배열 arrayTest 선언 int[] arrayTest = new int[10]; // for문을 이용해서 arrayTest에 10 ~ 100의 값을 저장 for (int i = 0; i < 10; i++) { arrayTest[i] = (i + 1) * 10; } // for문으로 배열 각각의 값을 출력 for (int i = 0; i < a..
-
Java | Array 배열JAVA/JAVA 2020. 1. 28. 22:30
Array 배열 같은 타입(자료형)의 여러 변수를 하나의 대표적인 변수로 묶어주는 것 ↔ 클래스: 다른 타입의 여러 변수를 하나의 대표적인 변수로 묶어주는 것(C 언어에서의 구조체) + 메소드 배열 특성 많은 양의 데이터를 다룰 때 유용함 ↔ 변수의 양이 많아지면 관리하기가 어려움 배열의 각 요소는 서로 연속적임 0부터 시작하는 인덱스번호로 구분 변수가 메모리에 연속적으로 저장되기 때문에 처리속도가 향상됨 ↔ 기본적으로 변수는 메모리에 무작위로 할당됨 참조형(=객체형, 클래스형) 자료형임 참조형 자료형에는 Class, Array, Interface 등이 포함됨 자동 초기화 일반 변수는 반드시 값을 초기화해야 하지만, 배열은 자동으로 초기값이 설정됨 int → 0, double → 0.0, float → ..
-
Java | Static 정적 변수 & 정적 메소드JAVA/JAVA 2020. 1. 28. 22:18
Static 정적 변수 & 정적 메소드 정적 변수(=Class 변수) 변수 앞에 static을 작성해서 사용하며, 정적 변수는 객체를 생성하지 않아도 메모리에 할당됨 변하지 않으면서 프로그램 전체에서 공유하고자 하는 변수가 필요할 때 사용 ※ [객체명.정적 변수명] or [클래스명.정적 변수명]으로 정적 변수에 접근 가능 일반적으로는 [클래스명.정적 변수명]을 많이 사용 사용례_정적 변수 / 인스턴스 변수 비교 public class StaticVariable { // 정적 변수 index 선언 static int index = 0; // 인스턴스 변수(멤버 변수) insIndex 선언 int insIndex = 0; // index의 값을 1씩 증가시키는 메소드 생성 public void upIndex..
-
Java | Java 메모리 구조JAVA/JAVA 2020. 1. 28. 22:10
JAVA 메모리 구조 Method Area(= Static Area) JVM이 읽어들인 클래스와 인터페이스에 대한 런타임 상수 풀, 멤버 변수(Instance 변수), 클래스 변수(Static 변수), 생성자, 메소드 등을 저장하는 공간 프로그램이 시작되면 가장 먼저 메모리에 올라오는 부분 → main() 메소드가 가장 먼저 메모리에 올라감 정적 변수, 정적 메소드 선언시 static영역에 할당됨 → 과도하게 사용시 메모리가 낭비되거나 메모리에 과부하가 걸릴 수 있음 Heap 프로그램에서 사용하는 동적 메모리(dynamic memory) 공간 new 연산자로 객체 생성시 객체가 저장되는 공간 ex) Car sonata = new Car(); sonata 변수는 스택 메모리에 할당되며, sonata에는 C..