자바 핸드북 (계속 업데이트 할 예정)

Thomas·2023년 6월 1일
0

    public static void main(String[] args) {
        int num = 5;
        char ch = '5';
        String s,s1;

        // int -> string
        s = num + "";
        System.out.println(s.getClass().getSimpleName()); // String 체크

        // char -> string
        s1 = ch + "";
        System.out.println(s1.getClass().getSimpleName()); // char 체크

        // string -> int
        System.out.println();
        int i =Integer.parseInt(s); // 5
        System.out.println("i = " + i);
        System.out.println(((Object)i).getClass().getSimpleName()); // int 체크

        // string -> double
        System.out.println();
        String pi = "3.14";
        double d = Double.parseDouble(pi);
        System.out.println("d = " + d); // 3.14
        System.out.println(((Object)d).getClass().getSimpleName()); // double 체크

        // string -> char
        System.out.println();
        String s2 = "c";
        char c = s2.charAt(0);
        System.out.println("c = " + c);
        System.out.println(((Object)ch).getClass().getSimpleName()); // char 체크

    }

int에서 String로 변환

String s = 5 + "";

char에서 String로 변환

String s = '5' + "";

String에서 int로 변환

int i = Integer.parseInt("123");

String에서 double로 변환

double d = Double.parseDouble("3.14");

String에서 char로 변환

String s = "c";
char ch = s.charAt(0);

String을 char[]로 변환

String[] words = { "television", "computer", "mouse", "phone" };

for (int i = 0; i < words.length; i++) {
            char[] question = words[i].toCharArray(); // String을 char[]로 변환
}

랜덤으로 번호 섞기

class Arrays3_4 {
    public static void main(String[] args) {
        int[] numArr = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
        System.out.println("원본 = " + Arrays.toString(numArr));

        for (int i = 0; i < numArr.length; i++) {
            int num = (int) (Math.random() * 10); // 0 ~ 9 의 랜덤 수
            int tmp; 
            
            // tmp는 배열의 첫 번째 수로 계속 초기화 된다.
            // 랜덤한 위치의 값과 배열의 첫 번째 수가 서로 바뀐다.
            tmp = numArr[0]; 
            numArr[0] = numArr[num];
            numArr[num] = tmp;

            System.out.println(i + 1 + " 번째 변경 : " + Arrays.toString(numArr));
        }

        System.out.println("결과 = " + Arrays.toString(numArr));
    }
}

임의의 정수

범위의 임의 정수 뽑기(0~10)

System.out.println((int)(Math.random() * 11));

범위의 임의 정수 뽑기(-5~5)

System.out.println((int)(Math.random() * 11) - 5); 

범위의 임의 정수 뽑기(1~9)

System.out.println((int)(Math.random() * 9) + 1); 

문자열 str의 내용이 "yes"(대소문자 구분 X)

str.equalsIgnoreCase(“yes”)

정렬(Sort)

Arrays.sort(arr);

배열복사(copyOf(), copyOfRange())

int[] arr1 = Arrays.copyOf(arr2, arr1.length);
int[] arr1 = Arrays.copyOfRange(arr2, 2,4);

1차원 배열 출력(toString)

int[] num = {0, 1, 2};

System.out.println("Arrays.toString(num) = " + Arrays.toString(num));

2차원 배열 출력(deepToString)

int[][] score = {
                {88, 35, 100},
                {84, 60, 55},
                {100, 99, 72},
                {33, 54, 77}
};

System.out.println("Arrays.deepToString(score) = " + Arrays.deepToString(score));

배열 비교

String[][] strArr1 = {
    {"AAA","BBB","CCC"},
 	{"aaa","bbb","ccc"},
};
String[][] strArr2 = {
    {"AAA","BBB","CCC"},
 	{"aaa","bbb","ccc"},
};

1차원 비교(equals)

System.out.println("Arrays.equals(strArr1[0], strArr2[0]) = " + Arrays.equals(strArr1[0], strArr2[0])); // true
System.out.println("Arrays.equals(strArr1[1], strArr2[0]) = " + Arrays.equals(strArr1[1], strArr2[0])); // false

다차원 비교(deepEquals)

System.out.println("Arrays.deepEquals(strArr1, strArr2) = " + Arrays.deepEquals(strArr1, strArr2)); // true

가변길이의 매개변수도 선언

oid carSpeeds(double … speeds) {
	for(double v : speeds) {
		sout(“v= ” + v);
	}
}

배열

배열의 주소를 모두 같은 값으로 초기화
Array.fill(intArr,1);


배열: 깊은 복사 메서드
int[] a = {1,2,3,4};
int[] b = a.clone();

복사는 완전히 하지만 주소는 다른 걸 가져온다
하지만 clone()메서드느느 2차원이상 배열에서는 얕은 복사로 동작합니다.

그래서

import java. util.Arrays;

int[] a = {1,2,3,4};
int[] b = Arrays.copyOf(a,a.length);

이 방법을 가장 많이 쓴다


String

String str = "1234";

length()

int srLength = str.length()

charAt(int index)

char strChar = str.charAt(1);

substring(int fromIdx, int toIdx)

String strSub = str.substring(0,3) // 123 출력

equals(String str)

String newStr = "1234"
boolean strEqual = newStr.eqauls(str);

toCharArray() : String -> char[]

char[] strCharArray = str.toCharArray();

char[] -> String : char[] -> String

char[] charArray = {'1','2','3','4'};
String charArrayString = new String(charArray);


profile
Backend Programmer

0개의 댓글