본문 바로가기

개발지

(80)
[0711] 자바 기초 10 (배열) #배열 : 동일한 타입의 값들을 하나의 묶음으로 묶은 자료 구조를 의미한다. 배열은 동일한 타입의 많은 값을 저장하기 위해 많은 변수를 선언해야할 때 사용한다. 배열을 사용하는 이유는 비슷한 유형의 값들을 저장할 때 메모리공간을 절약하고, 변수 선언의 번거로움을 줄일 수 있기 때문이다. #배열의 차원 :배열의 차원은 배열이 중첩된 정도를 의미한다. 중첩의 의미는 배열안의 요소가 배열인 경우이다. *특징은 배열은 참조 타입으로 선언된다. 즉 배열을 선언할 때 변수명에는 배열의 주소값만 담긴다. 왜나하면 처음 배열이 선언될 때에 몇 개의 요소가 담길 지 모르기 때문이다. 주로 사용하는 1,2차원 배열만 정리하자면 다음과 같다. (1) 1차원 배열 : 배열의 요소가 배열이 아닌 배열. 타입 뒤에 []을 붙여 ..
[0710] 자바 기초 9 (콘솔 입/출력, 제어문) #콘솔 출력 : 프로그래밍 중 변수에 담긴 값을 확인하기 위해 출력하고자 할 때 사용한다. (1) 출력: System.out.print() : 소괄호 안의 내용을 출력한다. (2) 출력 후 줄 바꿈: System.out.println() : 소괄호 안의 내용을 출력하고 줄 바꿈을 한다. (3) 형식대로 출력하기: System.out.printf() : 지시자를 이용해 변수의 값을 여러 형식으로 출력한다. EX. System.out.printf(지시자, 출력내용); *지시자의 갯수와 출력내용의 수는 같아야 한다. System.out.printf("오늘은 %c요일입니다.%n", '월'); System.out.printf("이번달은 %s년%c월입니다.", "2023", '7'); //출력값 //오늘은 월요일입..
[0710] 자바 기초 8 (연산자) #연산자 : 피연산자로 새로운 값을 만들어내는 기호. #산술연산자 연산자 기능 +(덧셈 연산자) 피연산자들을 더한 값을 반환 -(뺄셈 연산자) 왼쪽의 피연산자에서 오른쪽의 피연산자의 뺀 값을 반환 *(곱셈 연산자) 피연산자들을 곱한 값을 반환 /(나눗셈 연산자) 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 값을 반환 %(나머지 연산자) 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 나머지를 반환 *나눗셈 연산자와 나머지 연산자를 사용할 때, 오른쪽 피연산자로 0을 사용할 시, 에러 발생. *피연산자 중 실수형이 존재할 시, 실수형이 아닌 피연산자도 실수형으로 형변환되어 계산된다. #증감연산자 :변수의 값을 1씩 증가/감소 시키는 연산자 num1++; // num1 = num1 + 1;과 같습니다. ++num1..
[0707] 자바 기초 7 (StringTokenizer, StringBuilder, StringBuffer) #StringTokenizer : StringTokenizer 클래스는 문자열을 지정한 구분자로 쪼개주는 클래스이다. 쪼개어진 문자열은 토큰(Token)이라고 부른다. 사용하기 위해서는 java.util.StringTokenizer를 import해야 한다. (1) StringTokenizer st = new StringTokenizer(문자열); : 띄어쓰기 기준으로 문자열을 분리(토큰 생성) (2) StringTokenizer st = new StringTokenizer(문자열, 구분자); : 구분자를 기준으로 문자열을 분리(토큰 생성) (3) StringTokenizer st = new StringTokenizer(문자열, 구분자,true/false); : 구분자를 기준으로 문자열을 분리(토큰 생성)..
[0706] 자바 기초 6 (String타입, String클래스의 메서드) #String 타입 String 클래스 타입을 사용해 문자열을 다룬다. 큰따옴표("")로 문자열을 감싸 사용한다. (1)변수를 선언하여 문자열 리터럴을 할당하는 경우 : (String name = "pilgrim") (2)String클래스의 인스턴스를 생성하는 방법 : (String name2 = new String("pilgrim") //(1)변수를 선언하여 문자열 리터럴을 할당하는 경우 String name = "pilgrim"; //(2)String클래스의 인스턴스를 생성하는 방법 String name2 = new String("pilgrim"); #직접할당과 인스턴스 생성의 차이점 (1)과 (2)의 방법 모두 저장하고 있는 것은 문자열이 저장된 메모리 주소이다. 출력시 자동으로 호출되는 Strin..
[0705] 자바 기초 5 (논리 타입과 문자 타입, 자동 타입 변환) #논리 타입 boolean형만 존재한다. 참 거짓을 저장하는 값인 true/false만 저장할 수 있다. 2가지 타입을 표현하기에 1bit의 크기면 충분하지만, JVM이 다루는 데이터의 최소 단위가 1byte이기 때문에 boolean형은 1byte의 크기를 가진다. #문자 타입 char형 하나만 존재한다. char형 변수를 사용할 때는 작은따옴표('')를 사용한다. 큰 따옴표("")는 문자열 리터럴(String)로 인식되기 때문이다. 자바는 유니코드로 문자를 저장한다. char형 변수 alphbet에 'a'를 저장할 때 자바는 'a' 리터럴 대신 a의 유니코드를 저장한다. 후에 저장된 데이터를 꺼낼 때 유니코드를 불러와 코드에 맞는 문자를 출력한다. #자동 타입 변환 자바에서 타입이 자동으로 변환되는 경..
[0704] 자바 기초 4 (정수타입과 실수타입) #정수 타입 :숫자를 나타내는 타입. byte, short, int, long 총 4종류가 있다. 차이점은 나타낼 수 있는 숫자의 범위이다. 예전 메모리 크기가 제한적일 때 byte, short를 썼지만 현재는 주로 int형을 사용하며, 큰 정수를 저장할 때 long형을 사용한다. int: 약 -21억 ~ 21억 long: 약 -920경 ~ 920경 (접미사 L을 붙여준다) #오버플로우와 언더플로우 (1) 오버플로우 : 자료형의 최대값을 넘어간 값을 표현한 경우 발생. 최대값을 넘어가면 해당 데이터 타입의 최소값으로 변환된다. (2) 언더플로우 : 자료형의 최소값을 넘어간 값을 표현한 경우 발생. 최소값을 넘어가면 해당 데이터 타입의 최대값으로 변환된다. #실수타입 :소수점을 가진 수를 나타내는 타입. ..
[0703] 자바 기초 3 (타입과 리터럴) #타입 값의 유형 및 종류를 의미. 타입에 따라 결정되는 2가지가 있다. (1) 값이 차지하는 메모리 공간의 크기. (2) 값이 저장되는 방식 : 저장하고자 하는 값을 그대로 저장하는 기본 타입과 값이 저장된 메모리 공간의 주소를 저장하는 참조 타입 #기본 타입과 참조 타입 (1) 기본타입 :데이터의 실제 값이 저장. [ex. 정수 (byte, short, int, long), 실수 (float, double), 문자 (char), 논리 (boolean)] (2)참조타입 : 데이터가 저장된 주소값이 저장. (위 8개의 기본형을 제외한 나머지 타입) *출력시 차이점 public class Main { public static void main(String[] args) { int num = 1; Objec..
[0630] 자바 기초 2 (변수와 타입) #데이터와 메모리 컴퓨터의 메모리(RAM)는 1byte 크기의 데이터를 저장할 수 있는 메모리 셀의 집합체. 각 메모리셀은 고유 번호를 가지고 있고, 이를 메모리 주소라고 한다. 컴퓨터는 데이터를 메모리(메모리 주소)에 임시로 저장해둔다. 저장하는 과정은 다음과 같다. (1) 데이터를 저장하기 위해 필요한 메모리 공간을 파악합니다. (2) 필요한 만큼의 메모리 공간을 확보합니다. (3) 값을 저장할 공간에 이름을 지정합니다. (4) 메모리 공간에 데이터값을 저장합니다. 컴퓨터는 (1)에서 필요한 메모리 공간을 데이터의 타입(유형)으로 판단한다. 이 때 확보한 메모리 공간에 붙인 이름을 변수라고 한다. (1)~(3): 변수를 선언한다. (4): 변수에 값을 할당한다. #변수 : 값을 저장할 수 있는 메모리..
[0629] 자바 기초 1 (컴파일러, JVM/JRE/JDK, 메서드) #컴파일러 자바는 프로그래밍 언어다. 컴퓨터가 프로그래밍언어를 이해하기 위해서는 기계어로 변환되는 과정이 필요하다. 프로그래밍언어는 컴파일러를 통해 기계어로 변환된다. 컴파일러는 자바로 작성한 코드를 바이트코드를 변환시켜 JVM에 보낸다. JVM은 각 운영체제에 맞는 기계어로 변환시킨다. #JVM JVM은 자바 프로그램을 실행시키는 도구다. 자바는 JVM이라는 창 위에서 실행되기 때문에 컴퓨터의 운영체제(윈도우, 맥, 리눅스 등)의 규칙을 따르지 않고 사용될 수 있다. #JRE와 JDK JRE는 자바의 실행과 관련 있는 도구들이다. 즉, 자바를 실행시키는 데 필요하다. JDK는 JRE + 개발 도구 다. 자바를 이용해 개발까지 하고자 한다면 JDK를 설치해야하는 것이다. JDK의 버전은 매우 다양한데, ..