확대 형변환 (자동 형변환)
더 작은 크기의 타입에서 더 큰 크기의 타입으로 변환하는 것을 말합니다.
자동으로 이루어지므로 명시적인 캐스팅이 필요 없습니다.
변환 순서:
byte -> short -> char -> int -> long -> float -> double
축소 형변환 (수동 형변환)
더 큰 크기의 타입에서 더 작은 크기의 타입으로 변환하는 것을 말합니다.
수동으로 이루어지므로 명시적인 캐스팅이 필요합니다.
변환 순서:
double -> float -> long -> int -> char -> short -> byte
1) sc.next()
- 이 메소드는 공백을 기준으로 다음 토큰(단어)만 읽는다
- 예를 들어 입력이 "Hello World"라면 "Hello"만 반환된다
2) sc.nextLine()
- 이 메소드는 엔터키(개행문자)를 만날 때까지의 모든 입력을 읽는다
- 공백을 포함한 전체 줄을 읽는다
- 예를 들어 입력이 "Hello World"라면 "Hello World" 전체를 반환한다
➡️ 특히 문장이나 여러 단어로 구성된 입력을 처리할 때 유용하다
indexOf() 메서드는 문자열에서 지정된 텍스트가 처음 나타나는 인덱스 (위치)를 반환한다(공백포함)
두 개의 문자열을 연결하는 데도 이 방법을 사용할 수 있다
String firstName = "John ";
String lastName = "Doe";
System.out.println(firstName.concat(lastName));
// 결과값 : John Doe
x와 y의 가장 높은 값을 찾는 데 사용
x와 y의 가장 낮은 값을 찾는데 사용할 수 있다
x의 제곱근을 반환한다
public class Main {
public static void main(String[] args) {
System.out.println(Math.sqrt(64));
}
}
// 결과 값 : 8.0
x의 절대값(양수)를 반환한다
public class Main {
public static void main(String[] args) {
System.out.println(Math.abs(-4.7));
}
}
// 결과값 : 4.7
Math.random() 0.0(포함)과 1.0(제외) 사이의 난수를 반환한다
ex) 0 ~ 100 사이의 난수만 원하는 경우
public class Main {
public static void main(String[] args) {
int randomNum = (int)(Math.random() * 101); // 0 to 100
System.out.println(randomNum);
}
}
// 결과 : 65
자바는 수학에서 사용하는 일반적인 논리 조건을 지원합니다:
작다: a < b
작거나 같다: a <= b
크다: a > b
크거나 같다: a >= b
같다: a == b
같지 않다: a != b
이러한 조건들을 사용하여 다양한 결정에 따라 다른 작업을 수행할 수 있습니다.
또한 자바에는 다음과 같은 조건문들이 있습니다:
if: 지정된 조건이 참인 경우에 실행할 코드 블록을 지정합니다.
else: 동일한 조건이 거짓인 경우에 실행할 코드 블록을 지정합니다.
else if: 첫 번째 조건이 거짓인 경우에 새로운 조건을 테스트할 수 있도록 지정합니다.
switch: 많은 대안적인 코드 블록들을 지정하여 실행할 수 있습니다.
variable = (condition) ? expressionTrue : expressionFalse;
int time = 20;
String result = (time < 18) ? "Good day." : "Good evening.";
System.out.println(result);
지정된 조건에 도달하는 한 코드 블록을 실행할 수 있다
루프는 시간을 절약하고, 오류를 줄이고, 코드의 가독성을 높여주기 때문에 편리하다
➡️ while 루프는 지정된 조건이 참인 동안 코드 블록을 반복 실행한다
while (조건) {
// 조건이 참일 때 반복 실행할 코드
}
do/while 루프는 while 루프의 변형이다. 이 루프는 조건이 참인지 확인하기 전에 코드 블록을 한 번 실행한 후, 조건이 참인 동안 계속해서 루프를 반복합니다.
do {
// code block to be executed
}
while (condition);
이 루프는 조건이 거짓이더라도 코드 블록이 최소 한 번은 실행된다. 이는 코드 블록이 조건을 테스트하기 전에 실행되기 때문이다.
ex)
int i = 0;
do {
System.out.println(i);
i++;
}
while (i < 5);