JS에서는 대충 후두려 패면 바꼈었음.

특히 “123”에 *1 후리는걸 잘 이용해 먹었었지.

java는 생각보다 예민한 친구였다아아

  1. 숫자 → 문자
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가 출력
    }
  1. 문자 → 숫자
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

  1. 정수 → 실수 (그 역까지)

정수 → 실수 = 앞에 걍 (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; // 상기랑 같음

ㅇㅋ?