Java 78

[JAVA] 문자열(String)

자바의 문자열은 String 객체로 생성된다. 다음은 두 개의 String 변수 name과 hobby를 선언하고 문자열 리터럴을 대입한 것이다. name 변수와 hobby 변수에 문자열 리터럴이 대입되면 문자열은 String 객체로 생성되고, 객체의 번지가 각각 대입된다.String name;name = "홍길동";String hobby = "여행"; 문자열 비교자바는 문자열 리터럴이 동일하다면 String 객체를 공유하도록 설계되어 있다. 다음과 같이 name1과 name2 변수에는 동일한 String 객체의 번지가 저장된다.String name1 = "홍길동";String name2 = "홍길동"; String 변수에 문자열 리터럴을 대입하는 것이 일반적이지만, new 연산자로 직접 String 객체..

Language/JAVA 2024.09.03

[JAVA] 참조 타입

자바의 데이터 타입은 크게 기본 타입(Primitive type)과 참조 타입(Reference type)이 있다. 이 글에서는 참조 타입에 대해 알아보자. 참조 타입이란 객체(Object)의 번지를 참조하는 타입으로 배열, 열거, 클래스, 인터페이스 타입이 있다. 기본 타입과 참조 타입의 차이점은 저장되는 값이다. 기본 타입으로 선언된 변수는 값 자체를 저장하고 있지만, 참조 타입으로 선언된 변수는 객체가 생성된 메모리 번지를 저장한다. 참조 타입의 변수들은 모두 스택(Stack)이라는 메모리 영역에 생성된다. 메모리 사용 영역 메서드 영역바이트코드 파일을 읽은 내용이 저장되는 영역으로 클래스별로 상수, 정적 필드, 메서드 코드, 생성자 코드 등이 저장된다. 힙 영역객체가 생성되는 영역이다. 객체의 번..

Language/JAVA 2024.09.03

[JAVA] break 문과 continue 문

break 문break 문은 반복문을 실행 중지하거나 조건문을 종료할 때 사용한다. 대게 if 문과 같이 사용되어 조건식에 따라 for 문과 while 문을 종료한다. for (...) { break; }while (...) { break; } 만약 반복문이 중첩되어 있을 경우 break 문은 가장 가까운 반복문만 종료하고 바깥쪽 반복문은 종료하지 않는다. 중첩된 반복문에서 바깥쪽 반복문까지 종료시키려면 바깥쪽 반복문에 이름(레이블)을 붙이고, 'break 이름;'을 사용하면 된다.Label: for (...) { for (...) { break Label; } } continue 문continue 문은 반복문에서만 사용되는데, 블록 내부에서 countinue 문이 실행되면..

Language/JAVA 2024.09.03

[JAVA] while 문

for 문이 정해진 횟수만큼 반복한다면, while 문은 조건식이 true일 경우에 계속 반복하고, false가 되면 반복을 멈추고 while 문을 종료한다. while 문while(조건식) { 실행문; } while 문이 실행될 때 조건식을 평가한다. 평가 결과가 true면 실행문을 실행한다. 조건식이 false가 되면 while문을 종료한다. while 문 예제 : 1부터 100까지 합 구하기public class Sum { public static main(String[] args) { int sum = 0; int i = 1; while(i  실행 결과5050 조건식에 true를 사용하면 무한 반복하게 된다. 이 경우, 언젠가 while 문을 빠..

Language/JAVA 2024.09.03

[JAVA] for 문

프로그램을 작성하다 보면 똑같은 실행문을 반복적으로 실행해야 할 경우가 많이 발생한다. 실행문이 많아질수록 코드 양이 엄청 늘어날 것이다. 이런 경우 for 문을 사용하면 코드를 획기적으로 줄일 수 있다. for 문for(초기화식; 조건식; 증감식) { 실행문; } for 문이 실행될 때 초기화식이 제일 먼저 실행된다. 그런 다음 조건식을 평가해서 true면 실행문을 실행시키고, 실행문을 모두 실행하면 증감식이 실행된다. 조건식이 false가 되면 for 문을 종료하고 블록을 건너뛴다. for 문 예제 : 1부터 100까지의 합 구하기public class SumExample { public static void main(String[] args) { int sum = 0; in..

Language/JAVA 2024.09.03

[JAVA] Math.random 메소드

Math.random 메소드는 0.0 0.0  주사위의 범위를 구해보자. 여기서 각 변에 6을 곱하면 0.0 (0.0 * 6)  그리고 각 변을 int 타입으로 강제 타입 변환하면 0 ~ 5 중에서 하나의 정수 난수를 얻게 된다.(int) 0.0  마지막으로 각 변에 1을 더하면 비로소 1 ~ 6 중에서 하나의 정수 난수를 얻게 된다.1  그렇다면 start 부터 시작하는 n개의 정수 중에서 하나의 정수를 얻기 위한 코드는 다음과 같이 작성할 수 있다.int num = (int)(Math.random() * n) + start; 로또 번호 (1, ··· , 45) 중 하나를 뽑기 위해서도 다음 코드를 사용할 수 있다.int num = (int)(Math.random() * 45) + 1;

Language/JAVA 2024.09.03

[JAVA] if 문

자바 프로그램은 main() 메소드의 시작 중괄호에서 끝 중괄호까지 위에서부터 아래로 실행하는 흐름을 가지고 있다. 이러한 실행 흐름을 개발자가 원하는 방향으로 바꿀 수 있도록 해주는 것이 흐름 제어문(이하 제어문)이다. 제어문의 종류는 다음과 같다.조건문반복문if 문, switch 문for 문, while 문, do-while 문 제어문 블록이 실행 완료된 후 다시 제어문의 처음으로 돌아갈지, 아니면 제어문 블록을 빠져 나와 정상 흐름으로 다시 돌아올지는 어떤 제어문을 사용하느냐에 달려 있다. 조건문일 경우는 정상 흐름으로 돌아오지만, 반복문일 경우는 제어문의 처음으로 다시 되돌아가 반복 실행한다. 이것을 루핑(Looping)이라고 한다. 제어문 블록 내부에는 또 다른 제어문을 사용할 수 있다. 그렇기..

Language/JAVA 2024.09.03

[JAVA] 연산의 방향과 우선순위

산술 연산식에서 덧셈, 뺄셈 연산자보다 곱셈, 나눗셈 연산자가 우선 처리된다는 것을 우리는 이미 알고 있다. 그러면 다른 연산자들의 경우는 어떨까? 연산자들은 우선순위가 정해져 있다. 우선순위가 같은 대부분의 연산자들 끼리는 왼쪽에서부터 오른쪽으로 연산을 수행한다. 예외가 하나 있는데, 대입 연산자(+=, -=, =, ···)는 오른쪽에서 왼쪽으로 연산을 수행한다.a = b = c = 5; 위 연산식은 c = 5, b = c, a = b 순서로 실행된다. 이와 같이 연산자는 우선순위 및 연산 방향이 정해져 있기 때문에 복잡한 연산식에서는 주의가 필요하다. 다음은 연산자들의 연산 방향과 우선순위를 정리한 표이다.연산자연산 방향우선순위증감(++, --), 부호(+, -), 비트(~), 논리(!)←높음낮음산술..

Language/JAVA 2024.09.03

[JAVA] 삼항(조건) 연산자

삼항 연산자삼항 연산자는 총 3개의 피연산자를 가진다. ? 앞에 피연산자에는 boolean 변수 또는 조건식이 오므로 조건 연산자라고도 한다. 이 값이 true면 피연산자1이 선택되고, false면 피연산자2가 선택된다.(조건연산자 ? 피연산자1 : 피연산자2) 피연산자1과 피연산자2에는 주로 값이 오지만, 경우에 따라서 다른 연산식이 올 수도 있다.public class ScoreExample { public static void main(String[] args) { int score = 85; char grade = (score > 90) ? 'A' : ( (score > 80) ? 'B' : 'C'); System.out.println(score + "점은 " + ..

Language/JAVA 2024.09.03

[JAVA] 대입 연산자

대입 연산자구분연산식설명단순 대입연산자변수=피연산자우측의 피연산자 값을 변수에 저장복합 대입연산자변수+=피연산자변수 = 변수 + 피연산자변수-=피연산자변수 = 변수 - 피연산자변수*=피연산자변수 = 변수 * 피연산자변수/=피연산자변수 = 변수 / 피연산자변수%=피연산자변수 = 변수 % 피연산자변수&=피연산자변수 = 변수 & 피연산자변수|=피연산자변수 = 변수 | 피연산자변수^=피연산자변수 = 변수 ^ 피연산자변수피연산자변수 = 변수 변수>>=피연산자변수 = 변수 >> 피연산자변수>>>=피연산자변수 = 변수 >>> 피연산자 복합 대입 연산자는 축약 대입 연산자라고 이해하면 된다.

Language/JAVA 2024.09.03