Java 89

[Java] String 타입 2022.10.31

자바는 문자열을 String 변수에 저장함 String 객체 생성 String 변수 선언 String 변수; String변수에 문자열을 저장하려면 큰 따옴표로 감싼 문자열 리터럴을 대입 일반적으로 변수에 문자열을 저장할 경우 문자열 리터럴을 사용 변수 = "문자열"; 변수 선언과 동시에 문자열을 저장할 수 있음 String 변수 = "문자열"; 엄밀히 말하자면 문자열을 String 변수에 저장한다는 말은 틀린 표현 문자열이 직접 변수에 저장되는 것 X, 문자열은 String 객체로 생성되고 변수는 String 객체를 참조 But, 일반적으로 String 변수에 저장한다는 표현을 사용 String 타입 변수 선언 및 초기화 EX) String name; String name = "홍길동"; String h..

[Java] 참조 타입 2022.10.31

참조 타입 : 객체 (Object)의 번지를 참조하는 타입배열, 열거, 클래스, 인터페이스 타입참조 타입을 이용해서 선언된 변수는 메모리의 번지를 값으로 가짐번지를 통해 객체를 참조한다는 뜻에서 참조 타입이라고 부름 참조 타입 변수 EX)[기본 타입 변수]int age = 25;double price = 100.5;[참조 타입 변수]String name = "홍길동";String hobby = "독서";  int와 double 변수인 age와 price는 값을 직접 저장하고 있음String 클래스 변수인 name과 hobby는 힙 영역의 String 객체 주소 값을 가지고 있음주소를 통해 객체를 참조한다는 뜻에서 String 클래스 변수를 참조 타입 변수라고 함 참조 변수의 ==, != 연산기본 타입 변..

[Java] 메모리 사용 영역 2022.10.31

JVM은 운영체제에서 할당받은 메모리영역 (Runtime Data Area)를 세부영역으로 구분해 사용함 메소드(Method) 영역 코드에서 사용되는 클래스(~.class)들을 클래스 로더로 읽어 클래스별 런타임 상수풀 (runtime constant pool), 필드(filed) 데이터, 메소드(method) 데이터, 메소드 코드, 생성자(constructor) 코드 등을 분류해서 저장 JVM이 시작할 때 생성되고 모든 스레드가 공유하는 영역 힙(Heap) 영역 객체와 배열이 생성되는 영역 힙 영역에 생성된 객체와 배열은 JVM 스택 영역의 변수나 다른 객체의 필드에서 참조 참조하는 변수나 필드가 없다면 의미 없는 객체가 되어 쓰레기로 취급 JVM은 쓰레기 수집기(Garbage Collector)를 실..

[Java] 데이터 타입 분류 2022.10.26

프로그램이 하는 일 → 데이터를 처리하는 것데이터를 얼마나 잘 다루느냐가 좋은 프로그램을 작성할 수 있는 관건이 됨 Q) 데이터를 잘 다루려면?A) 자바에서 지원하는 데이터 타입에 대해서 제대로 이해할 필요가 있음  자바의 데이터 타입은 크게 두 가지로 분류  1. 기본 타입 (원시 타입 : primitive type)- 정수 , 실수, 문자, 논리 리터럴을 저장하는 타입 변수를 선언할 때 어" data-og-host="bean-soup-99.tistory.com" data-og-source-url="https://bean-soup-99.tistory.com/19" data-og-url="https://bean-soup-99.tistory.com/19" data-og-image="https://scrap..

[Java] continue문 2022.10.25

반복문인 for문, while문, do-while문에서만 사용됨 블록 내부에서 continue문이 실행되면 for문의 증감식 또는 while문, do-while문의 조건식으로 이동 continue문의 실행 흐름 continue문은 반복문을 종료하지 않고 계속 반복을 수행한다는 점이 break문과 다름 break문과 마찬가지로 continue문도 대개 if문과 같이 사용됨 특정 조건을 만족하는 경우에 continue문을 실행하여 그 이후의 문장을 실행하지 않고 다음 반복으로 넘어감 continue 사용 EX) public class ContinueExample { public static void main(String[] args) { for(int i=1; i

[Java] break문 2022.10.25

break문 반복문인 for문, while문, do-while문을 실행 중지할 때 사용 switch문에서 break문을 사용하여 switch문 종료 break문 실행흐름 break문은 대개 if문과 같이 사용되어 if문의 조건식에 따라 for문과 while문을 종료할 때 사용 break문 EX) public class BreakExample { public static void main(String[] args) { while(true) { int num = (int)(Math.random()*6)+1; System.out.println(num); if(num==6) { break; } } System.out.println("프로그램 종료"); } } 실행 결과 중첩된 반복문과 break 반복문이 중첩되..

[Java] do-while문 2022.10.25

블록 내부의 실행문을 우선 실행시키고 실행 결과에 따라 반복 실행을 계속할지 결정하는 경우에 사용 EX) 키보드로 입력받은 내용을 조사하여 계속 루프를 돌 것인지를 판단하는 프로그램 ➡ 조건식이 키보드로 입력받은 이후에 평가되어야 하므로 키보드 입력을 우선적으로 받아야 함 while vs do-while while문과 do-while문은 조건식에 의해 반복 실행한다는 점에서는 while문과 동일함 차이점 : 조건을 먼저 검사하느냐 나중에 검사하느냐 while문 : 시작할 때 부터 조건식을 검사하여 블록 내부를 실행할지 결정 do-while문 : 블록 내부의 실행문을 우선 실행시키고 조건식을 검사 do-while문의 형식과 실행 흐름 작성시 주의할 점 : while() 뒤에 반드시 세미콜론(;)을 붙여야 ..

[Java] while문 2022.10.25

for문이 정해진 횟수만큼 반복한다면 while문은 조건식이 true일 경우에 계속해서 반복함 조건식에는 비교 또는 논리 연산식이 주로 옴 조건식이 false가 되면 반복 행위를 멈추고 while 문을 종료함 while문의 형식과 실행 흐름 while문이 처음 실행 될 때 ①조건식을 평가 평가 결과가 true이면 ②실행문 실행 평가 결과가 false이면 while문 블록을 실행하지 않고 종료 블록 내부의 ②실행문이 모두 실행되면 다시 조건식으로 되돌아가서 ①조건식을 다시 평가 평가 결과가 true이면 ② ➡ ① 로 다시 진행 평가 결과가 false이면 while문 종료 while문 사용 EX) public class WhilePrintFrom1To10 { public static void main(Str..

[Java] for문 2022.10.25

프로그램을 작성하다 보면 똑같은 실행문을 반복적으로 실행해야 할 경우가 많이 발생함 반복 실행 EX) int sum = 0; sum = sum + 1; sum = sum + 2; sum = sum + 3; sum = sum + 4; sum = sum + 5; System.out.println("1~5까지의 합: " + sum); 1부터 5까지의 합을 구하는 것을 5개의 실행문으로 해결 만약 1부터 100까지의 합을 구하는 코드를 같은 방법으로 작성한다면 100개의 실행문이 필요 for문을 사용하면 코드를 획기적으로 줄일 수 있음 for문 사용 EX) int sum = 0; for(int i=1; i

[Java] 반복문 2022.10.25

반복문 : 어떤 작업 (코드들)이 반복적으로 실행되도록 할 때 사용 for문, while문, do-while 문이 있음 for문과 while문은 서로 변환이 가능 반복문을 작성할 때 어느 쪽을 선택해도 상관 없음 for문 : 반복 횟수를 알고 있을 때 주로 사용 while문 : 조건에 따라 반복할 때 / 반복 횟수를 모를 때 주로 사용 while 문과 do-while 문의 차이점 조건을 먼저 검사하느냐 나중에 검사하느냐의 차이가 있음 동작 방식은 동일 1. for 문 [Java] for문 1. for 문 프로그램을 작성하다 보면 똑같은 실행문을 반복적으로 실행해야 할 경우가 많이 발생함 반복 실행 EX) int sum = 0; sum = sum + 1; sum = sum + 2; sum = sum + 3..