형 변환은 문자열을 정수형 이런 식으로 서로의 타입을 변환시키는 것을 의미
String -> int 문자열 -> 정수
int -> String 정수 -> 문자열
Integer.parseInt - 정수형으로 변환
public class zzzz {
public static void main(String[] args) {
String num = "123";
int n = Integer.parseInt(num);
System.out.println(n+100);
}
}
//223 //만약 변환을 안하고 했으면 123100이 출력 됐을거임
" " - 문자열로 변환
public class zzzz {
public static void main(String[] args) {
int n = 100;
String num = ""+n;
System.out.println(num+100);
}
}
//100100
String.valueOf(); - 문자열로 변환
valueOf(); - 파라미터가 null이면 문자열 "null"을 만들어서 반환한다. *toString 보단 얘 사용하는걸 추천
public class zzzz {
public static void main(String[] args) {
int n = 100;
String num = String.valueOf(n);
System.out.println(num+100);
}
}
//100100
Integer.toString(): - 문자열로 변환
toString(); - 대상 값이 null이면 NPE를 발생시키고 Object에 담긴 값이 String이 아니여도 출력한다.
public class zzzz {
public static void main(String[] args) {
int n = 100;
String num = Integer.toString(n);
System.out.println(num+100);
}
}
//100100
Double.parseDouble / Float.parseFloat - 소숫점이 포함된 숫자형태의 문자열 변환
public class zzzz {
public static void main(String[] args) {
String num = "1.2";
double n = Double.parseDouble(num);
System.out.println(n+0.1);
}
}
//1.3
정수 -> 실수
public class zzzz {
public static void main(String[] args) {
int num = 10;
double n = num;
System.out.println(n);
}
}
//10.0
실수 -> 정수
public class zzzz {
public static void main(String[] args) {
double num = 10.5;
int n = (int) num; //실수 -> 정수로 변환할때 무조건 정수형으로 캐스팅(int) 해줘야 함
System.out.println(n);
}
}
//10 //소숫점 생략되서 정수형으로 나옴
*실수 형태의 문자열을 정수로 변경하려고하면 NumberFormatException 발생하니 주의!
public class zzzz {
public static void main(String[] args) {
String num = "10.0";
int n = Integer.parseInt(num); //실수 형태의 문자열을 정수로 변경하면 오류남 double로 바꿔줘야 오류 안남
System.out.println(num);
}
}
//NumberFormatException 오류 발생
final - 자료형에 값을 단 한번만 설정할 수 있게 강제하는 키워드 / 값을 다시 설정 못함
클래스에 붙는 경우 상속 할 수 없다
메소드에 붙는 경우 재정의 할 수 없다
public class zzzz {
public static void main(String[] args) {
final int num = 123;
num = 456;
System.out.println(num);
}
}
//컴파일 에러 발생
public class C20final {
//final 변수 : 값을 한 번만 할당 할 수 있음
final int a = 3;
//a = 4; <<이거 불가능
}
class MyClass20 {
final int age = 3;
final String name;
//생성자를 통해 이렇게 할당 할 수 도 있고
MyClass20(){
this.name = "java";
}
//생성자를 통해 매개변수를 이용해 할당 할 수 도 있다.
MyClass20(String name){
this.name=name;
}
}
리스트의 경우도 재할당 안됨 *리스트에 값을 더하거나(add) 빼는(remove) 것은 가능
import java.util.ArrayList;
import java.util.Arrays;
public class zzzz {
public static void main(String[] args) {
final ArrayList<String> Food = new ArrayList<>(Arrays.asList("파스타", "순대국밥"));
Food = new ArrayList<>(Arrays.asList("샌드위치", "냉면"));
System.out.println(Food);
}
}
//컴파일 에러 발생
값을 더하거나(add) 빼는(remove)것도 싫으면 List.of로 절대 불가침한 리스트를 만들 수 있다.
import java.util.List;
public class zzzz {
public static void main(String[] args) {
final List<String> Food = List.of("파스타", "순대국밥");
Food.add("샌드위치");
System.out.println(Food);
}
}
//UnsupportedOpreationException 에러 발생
반응형
'JAVA' 카테고리의 다른 글
switch/case (0) | 2022.10.13 |
---|---|
if (참, 거짓) (0) | 2022.10.13 |
Set (집합) (0) | 2022.10.11 |
Map (Key, Value) (0) | 2022.10.11 |
ArrayList (리스트) + Generics<> (제네릭스) (0) | 2022.10.07 |