TIL

Day10(정수형 변수 초기화, 스왑, 변수명 작성 실수, git stash)

jackpods 2023. 2. 8. 21:07

ㅁ 정수형 변수 초기화

      int strike1 = 0;
        int strike2 = 0;
        int ball1 = 0;
        int ball2 = 0;

        //입력
        while (strike1 <3 && strike2 < 3) {

            System.out.print("Player1 - Guess numbers: ");
            int[] input1 = new int[3];
            for (int i = 0; i < 3; i += 1) {
                input1[i] = scanner.nextInt();
            }
            strike1 = 0;
            ball1 = 0;
            strike2 = 0;
            ball2 = 0;

숫자야구게임을 만들면서 strike1.strike2,ball1,ball2 등을 변수로 만들 때 이미 초기화를 시켰는데 왜 반복문 안에서 또 초기화를 하나 이해가 안됐다. 반복문 안 변수 초기화를 지우고 보니 반복문이 돌 때마다 초기화를 해줘야 하기  때문에 작성한거다. 

초기화를 하지 않을 경우 값이 계속해서 중첩이된다.

ㅁ스왑

int[] numbers = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
for (int i = 0; i < 20; i += 1) {
            int x = random.nextInt(10);
            int y = random.nextInt(10);
            //스왑:numbers x 와 numbers y를 서로 바꾼다. -> x를 다른 곳에 보내고 y를 x에 덮어쓰고 다른 곳에 보낸걸 다시 x에 보낸다.

            int temp = numbers[x];
            numbers[x] = numbers[y];
            numbers[y] = temp;
        }

동일한 수가 등장하지 않도록  20번 섞어 배열에 다시 담는다.

 

ㅁ 변수명 작성 실수

아래 사진 strike1에 2를 넣어야하는데 윗 사진을 복붙하고 수정하다보니 놓쳤다. 이 실수 하나를 찾기위해 삼십분 이상을 낭비했다.

이런일을 방지하기 위해 변수명을 확실하게 선정하고 비슷하다면 다시한번 확인하도록 노력하자.

 

ㅁ git stash

git stash는 commit하기는 애매하고 다른 것을 잠시 보고 오거나 작업해야할 때 임시 저장소에 보관하는 것이다. 즉, 브랜치를 변경할 때.

명령어로는

- git stash    => 워킹 디렉토리에 임시로 저장한다.

-git stash list => 워킹 디렉토리 리스트를 보여준다.

-git stash pop ___ => 워킹 디렉토리에 저장했던 파일을 다시 불러오는 동시에 제거한다. ___자리에는 list 맨 앞에 적혀있는 순서를 넣는다 

       ex) git stash pop stash@{0}

-git stash apply   => 워킹 디렉토리에서 지우지는 않고 가져오기만 한다.

-git stash drop  => 리스트 기록을 삭제한다.