자동 형변환
여러 타입의 변수 여러 개를 연산했을 때, 결과값은 가장 큰 타입의 피연산자 타입으로 변환됨!
float + double => double
public class W02 {
public static void main(String[] args) {
// 자동 형변환
int a = 10;
int b = 329;
float af = a;
float bf = b;
float cf = 35.0f + a;
// 실수로 나온다!
System.out.println(af);
System.out.println(bf);
System.out.println(cf);
}
}
삼항연산자 & 비트연산자
public class W02 {
public static void main(String[] args) {
//삼항연산자
int x = 1;
int y = 10;
boolean z = (x==y) ? true : false;
System.out.println(z);
//비트 연산자
System.out.println(3 << 2); //왼쪽으로 비트 부호 이동시 *2 11 -> 1100
System.out.println(30 >> 2); //오른쪽으로 비트 부호 이동시 /2
}
}
switch
- switch : 코드의 중복이 적지만, 하나의 피연산자에 대해서만 조건을 달게 됨
- If : 코드의 중복이 많지만, 여러 피연산자에 대해서 조건을 달 수 있음
public class W14 {
public static void main(String[] args) {
int month = 8;
int a = 0;
switch(month){
case 1:
System.out.println("1월 입니다");
break;
case 8:
System.out.println("8월 입니다");
a = 8;
break;
default:
System.out.println("모릅니다");
break;
}
System.out.println(a);
}
}
향상된 for문
public static void main(String[] args) {
int[] numbers = {1, 5, 3, 9};
for(int number : numbers){
System.out.println(number);
}
}
얕은 복사와 깊은 복사
= 로 하는 복사는 얕은 복사
int[] b = {1, 2,3};
int[] a = b →a는 b배열의 주소를 복사하는 것
a[1] = 5
sout(b[1]); → 5출력
깊은 복사
int[] a = b.clone(); //2차원 배열 이상에서는 얕은 복사
혹은
int[] a = Array.copyOf(b, b.length);
String
- Char : '' / 기본 자료형 / 1byte만 사용
- String : "" / 참조 자료형 / 널문자를 포함함
- 선언 : String str = "ABCD";
- 길이 : str.length();
- 해당 인덱스 값(char)로 변경 : char strChar = str.charAt(2);
- 부분 문자열 출력 : String subString = str.substring(0, 3);
- 동일한 내용의 문자열인지 확인 : newStr.equals(str);
- char 배열로 변환 : char[] cArr = str.toCharArray();
- char에서 String으로 : String strArrays = new String(bArr);
public class Arr02 {
public static void main(String[] args) {
String str = "ABCD";
int strLength = str.length();
System.out.println(strLength);
char strChar = str.charAt(2);
System.out.println(strChar);
//0부터 2까지 출력
String subString = str.substring(0, 3);
System.out.println(subString);
String newStr = "ABCD";
boolean strEqul = newStr.equals(str);
System.out.println(strEqul);
//string을 char배열로 변환
char[] cArr = str.toCharArray();
//반대로
char[] bArr = {'a', 'b', 'c'};
String strArrays = new String(bArr);
System.out.println(strArrays);
}
}
'JAVA' 카테고리의 다른 글
자료구조 요리 레시피 메모장 만들기 / Iterator (1) | 2025.01.02 |
---|---|
Array / List / Stack / Queue / Set / Map (0) | 2025.01.02 |
요리 레시피 메모장 만들기 / 배열, 입출력, 형변환 (0) | 2025.01.02 |
JAVA의 형변환과 자료형타입 (0) | 2025.01.01 |
JVM과 자바 컴파일 과정 (0) | 2024.12.31 |