JS에서는 대충 후두려 패면 바꼈었음.
특히 “123”에 *1 후리는걸 잘 이용해 먹었었지.
java는 생각보다 예민한 친구였다아아
public void intToString(){
int exp = 12345;
String tab = String.valueOf(exp); // 1번째 방법
String tab2 = "" + exp; // 빈 문자열을 더해주면 문자가 됨
String tab3 = Integer.toString(exp); // 길다길어
System.out.println(tab3.length());
System.out.println(tab + exp); //2번 방법을 보면 알겠지만 문자가 됨.
// 1234512345가 된다.
System.out.println((tab+exp).getClass().getSimpleName()); // String가 출력
}
public void stringToInt(){
String a = "123";
int b = 1;
int tab = Integer.valueOf(a);
System.out.println(a+b); // 1231이 출력
System.out.println(b+tab); //124 출력
System.out.println((b+tab) + " 이렇게 할거면 괄호를 치세요");
}
문자 + 숫자는 문자가 되기 때문에 사족 적을거면 숫자끼리 합칠 때 괄호를 해줄것.
JS처럼 1을 곱하는건 안되는듯.
여기서 진수는 “이 숫자가 몇진수냐” 라는 뜻임.
int D = Integer.parseInt("1001", 2);
System.out.println("1001(2진수)를 십진수로 : " + D); //
// 1001(2진수)를 십진수로 : 9
int 뿐만 아니라 byte, short, long, float, double 등 숫자와 관련된 타입은 전부 가능함
— parseByte() / parseShort() / parseInt() / parseLong() / parseFloat() / parseDouble()
— () 안에는 문자열 타입의 숫자를 넣어주면 됨
— boolean은 없음
System.out.println("10진수 967을 2진수로 Integer.toBinaryString : " + E);
System.out.println("10진수 967을 8진수로 Integer.toOctalString : " + F);
System.out.println("10진수 967을 16진수로 Integer.toHexString : " + G);
//10진수 967을 2진수로 Integer.toBinaryString : 1111000111
//10진수 967을 8진수로 Integer.toOctalString : 1707
//10진수 967을 16진수로 Integer.toHexString : 3c7
정수 → 실수 = 앞에 걍 (fload)나 (double)을 붙여준다.
아마 반대는 int겠지?
근데 만약에 실수로 선언후에 정수끼리 계산을 한 값을 넣어봤자 원하던 값이 안나옴.
public static void main(String[] args){
int pp = 61;
int ff = 8;
float pf = pp/ff;
float ppff = (float)pp/ff; // 둘중 하나만 바꿔줘도 알아서 실수로 바뀜
System.out.println((float)pp/ff); // 7.625
System.out.println(pf); // 7.0
System.out.println(ppff); // 7.625
System.out.println((int)ppff); // 7
}
이를테면 100/3 때려도 33.3333—- 이 나오는게 아님
double a = 100/3; // 33.0
double b = (double)100/3; // 33.33333333333
double c = 100/3.0; // 상기랑 같음
ㅇㅋ?