10월 13일 정보처리기사 실기를 보고왔다

 가채점 결과 넉넉하게 합격한거 같은데 가장 자신있었던 Java 문제를 틀렸다

 

 static과 ++연산자에 관한 문제가 나왔는데 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package kr.or.ksmart;
 
public class Static {
    
    public int a = 20;
    static int b = 0;
    
    public static void main(String[] args) {
        
        int a = 10;
        Static.b = 10;
        
        Static st = new Static();
        
        System.out.println(Static.b++); //10
        System.out.println(st.b); //11
        System.out.println(a); //10
        System.out.println(st.a); //20
        
    }
}
 

 

 ++ 연산자를 정확하게 모르고 있던점 그리고 static이 정적키워드라는 것만 알고 있어서 틀린것 같다

 

 

 먼저 ++ 연산자를 살펴보면

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package kr.or.ksmart;
 
public class PlusPlus {
 
    public static void main(String[] args) {
        
        int x = 0;
        int y = x++;
        int z = ++x;
        
        System.out.println(x + " <-- int x");    //2
        System.out.println(y + " <-- int y");    //0
        System.out.println(z + " <-- int z");    //2
 
    }
}
 

 

 x++ x값을 먼저 사용한 후 1을 증가시킨다

 ++x 먼저 1을 증가시킨 후 그 값을 사용한다

 

 즉, y는 1을 증가시키기 전 x의 값 0을 사용한 후 1을 증가시키고 z는 먼저 x의 값 1에 1을 증가시킨 2를 사용한다

 

 -- 또한 ++와 동일하다

'교육 > Java' 카테고리의 다른 글

#107 Java 싱글톤 패턴  (0) 2019.10.18
#104 Java static  (0) 2019.10.15
#101 Java 2차원 배열 알고리즘  (0) 2019.10.10
#93 Java Connection Pool  (0) 2019.09.26
#88 Java 키워드 복습  (0) 2019.09.19

+ Recent posts