※ 이 게시물은 [Adobe Photoshop CC 2019] 제품을 구입하고 처음 시작 단계인 튜토리얼을 복습한 내용입니다.

자세한 내용은 Phothshop CC를 구매한 후 확인해주세요.

 

ㆍ레이어의 기본 개념 이해하기

 

  위와같이 포토샵을 실행하고, 상단의 레이어(L)를 클릭하여 레이어를 추가할 수 있습니다.

 

  또한 오른쪽 밑의 레이어를 클릭하여 레이어를 이동할 수 있고, 눈 모양을 클릭하여 레이어를 볼 수도있고, 

 

  보지 않을 수도 있습니다.

 

  위의 상황처럼 우주비행사 레이어를 클릭하고, 붉은 네모의 우주비행사를 클릭하여 이리저리 옮길 수 있습니다.

 

  또한, 위의 상황처럼 특정 레이어를 선택하고, 이미지 > 조정 > 색조/채도를 통해서

 

  색조, 채도 등 레이어 속성을 변경할 수 있습니다.

 

ㆍ스팟 복구 브러시 도구 (J)

 

    위와같이, 왼쪽 도구모음에서 스팟 복구 브러시 도구를 클릭하여 사용할 수 있습니다.

 

  스팟 복구 브러시 도구를 클릭하고, 천장의 별들을 클릭해 보았습니다.

 

  왼쪽 붉은 네모가 사용 후, 오른쪽 붉은 네모가 사용 전입니다.

 

  이처럼 스팟 복구 브러시 도구를 통해서 특정한 부분을 지우고, 주위 배경으로 바꿀 수 있습니다.

 

 

※ 이 게시물은 참고용이며, 정답이 아닙니다.

 

자세한 내용은 Adobe Photoshop CC 2019를 구매한 후 확인해주세요.

※ 이 게시물은 [윤성우의 열혈 Java 프로그래밍] 인터넷 강의를 듣고 공부한 내용을 정리하여 쓴 글입니다.

자세한 내용은 강의를 참고하세요.

2단원과 3단원은 연습문제가 없기 때문에 포스팅하지 않았습니다.

 

ㆍ4단원 2번째 연습문제입니다. (p.102)

 

ㆍ비트 연산자 그리고 비트 쉬프트 연산자

 

- 문제 1. 7에 대한 2의 보수를 계산하여 출력하는 프로그램을 작성해보자. ('~' 연산자 이용)

 

      sol) Java에서 ~ 연산자는 기존의 값에 1의 보수를 취한 뒤, 크기를 구해서 값을 정한다.

           크기를 구할때는 맨 앞의 값이 1, 즉 음의 부호이면 2의 보수를 취하는 방법을 사용하는데,

           2의 보수를 취하는 방법원래의 수에 1의 보수를 취한 후, 1을 더해주면 된다.

           따라서, 7에 ~ 연산을 하면, 7의 이진수는 0000 0111이므로, 1의 보수를 취해 1111 1000이 된다.

           이제 크기를 구하면 되는데, 맨 앞의 부호가 음의 부호이므로, 1111 1000의 2의 보수를 취한다.

           그러면, 0000 0111에서 1을 더해주어 0000 1000이 되므로, 크기는 8, 부호는 음 (-)이다.

           따라서 7의 ~ 연산은 -8이 출력이된다.

           여기서 +1을 해주면, 7에 2의 보수인 -7이 출력되게된다.

int num1 = 7; //0000 0111

       System.out.println(~num1 + 1);

출력은 -7이 나온다.

 

- 문제 2. int형 정수 15678의 오른쪽 끝에서 세 번째 비트와 다섯 번째 비트가 각각 무엇인지 확인하여 출력.

 

      sol) 15678을 비트 쉬프트 연산을 통해 오른쪽으로 각각 2비트, 4비트를 쉬프트해 준다.

            이렇게 쉬프트하면, 오른쪽 마지막 숫자가 각각 오른쪽 끝에서 세 번째, 다섯 번째 비트가 되는데

            쉬프트한 수를 %2 연산을 하여

            나머지가 1이면 홀수이므로 비트가 1, 나머지가 0이면 짝수이므로 비트가 0이된다.

int num2 = 15768; //111101100110
        int num3 = 15768; //1111011001
        num2 = num2 >> 2;
        num3 = num3 >> 4;
        System.out.println(num2%2);
        System.out.println(num3%2);

출력은 각각 0과 1이 나오므로, 오른쪽 세 번째 비트는 0, 오른쪽 다섯 번째 비트는 1 이라는 것을 알 수 있다.

 

※ 이 게시물은 참고용이며, 정답이 아닙니다. 정답은 오렌지 미디어 홈페이지를 참고해주세요.

※ 이 게시물은 [윤성우의 열혈 Java 프로그래밍] 인터넷 강의를 듣고 공부한 내용을 정리하여 쓴 글입니다.

자세한 내용은 강의를 참고하세요.

2단원과 3단원은 연습문제가 없기 때문에 포스팅하지 않았습니다.

 

ㆍ4단원 1번째 연습문제입니다. (p.91)

 

ㆍ연산자의 활용과 연산의 특성 파악

 

- 문제 1. int형 변수 num1, num2, num3에 각각 10, 20, 30이 저장된 상태에서 다음 문장을 실행하면

            각각 얼마가 저장 되겠는가?

            num1 = num2 = num3;

 

     sol) 최종적으로 모두 num3의 값인 30이 저장된다.

           이것을 증명하기 위해서 다음과 같이 코드를 작성했습니다.

// 문제 1
int num1 = 10;
int num2 = 20;
int num3 = 30;

num1 = num2 = num3;

System.out.println(num1 + " " + num2 + " " + num3);

실행 결과로는 30 30 30이 출력되었습니다.

 

- 문제 2. 예제 SCE.java의 실행 결과를 보면 변수 num2의 값이 증가하지 않았음을 알 수 있다.

            그렇다면 예제를 어떻게 수정해야 num2의 값이 증가하겠는가?

 

      sol) 예제에서는 && 연산의 앞이 False 이므로 뒤의 문장이 실행이 되지 않았고 또, || 연산의 앞이 True 이므로

            뒤의 문장이 실행되지 않았습니다.

            이것을 연산자 앞, 뒤 모두 실행되도록 다음과 같이 코드를 작성했습니다.

int num4 = 0;
int num5 = 0;
boolean result2;

result2 = ((num4 += 10) < 0) || ((num5 += 10) > 0);
       System.out.println("num4 = " + num4);
       System.out.println("num5 = " + num5);
       
result2 = ((num4 += 10) > 0) && ((num5 += 10) > 0);
       System.out.println("num4 = " + num4);
       System.out.println("num5 = " + num5);

            이렇게 작성하면 첫 번째 || 연산에서 num4에 10이 저장되고, 0보다 크므로 False이고, 뒤의 num5에는 10이

            저장되고 0보다 크므로 True가 되는데, || 연산에서는 하나만 True여도 True로 판단되므로

            num4, num5에 모두 10이 출력됩니다.

 

            두 번째 && 연산에서는 마찬가지로 num4에 10을 더해 20이 저장되고, 0보다 크므로 True이고, 뒤의 num5도

            10이 더해져 20이 저장되고 0보다 크므로 True가 됩니다. && 연산에서 두 연산 모두 True 이므로

            num4, num5에 모두 20이 출력됩니다.

 

            실행 결과로는 num4 = 10, num5 = 10과 num4 = 20, num5 = 20 이 출력되었습니다.

 

- 문제 3. 식 {(25 x 5) + (36 - 4) - 72} / 5의 계산 결과를 출력하는 프로그램을 작성해보자.

 

      sol) 단순히 수식을 출력하도록 코드를 작성했습니다.

System.out.println(((25 * 5) + (36 - 4) - 72)/5);

            실행 결과로는 17이 출력되었고, 수식이 잘 계산된 것을 확인할 수 있습니다.

 

- 문제 4. 다음 계산 결과를 출력하는 프로그램을 작성하되, 덧셈 연산의 횟수를 최소화하여 작성해보자.

            3 + 6, 3 + 6 + 9, 3 + 6 + 9 + 12

         

      sol) 이미 결과를 알고 있기 때문에 곱셈을 사용해보았습니다.

System.out.println((3 * 3));
System.out.println((3 * 6));
System.out.println((3 * 10));

 

- 문제 5. 변수 n1, n2, n3이 다음과 같을 때 n1 > n2 > n3 이면 True, 아니면 False를 출력하는 프로그램을 작성해보자.

            n1 = {(25 + 5) + (36 / 4) - 72} * 5

            n2 = {(25 x 5) + (36 - 4) +71} / 4

            n3 = (128 / 4) x 2

 

      sol) 우선 n1, n2, n3에 위의 값을 저장하고, Boolean으로 변수를 선언한 뒤, && 연산을 이용해 모든 조건이 True

            인 경우에만 True를 반환하도록 하였습니다.

int n1 = ((25 + 5) + (36 / 4) - 72) * 5; // -165
int n2 = ((25 * 5) + (36 - 4) + 71) / 4; // 5.1818182
int n3 = (128 / 4) * 2; // 64
boolean result5;

result5 = ((n1 > n2) && (n2 > n3) && (n1 > n3));

           실행 결과로는 연산의 결과가 -165 > 5.1818182 > 64 는 모두 False이므로 False가 출력되었습니다.

 

※ 이 게시물은 참고용이며, 정답이 아닙니다. 정답은 오렌지 미디어 홈페이지를 참고해주세요.

※ 이 게시물은 [윤성우의 열혈 Java 프로그래밍] 인터넷 강의를 듣고 공부한 내용을 정리하여 쓴 글입니다.

자세한 내용은 강의를 참고하세요.


ㆍ1단원 연습문제입니다. (p.33)


ㆍ클래스의 이름과 문자열의 출력


- 문제 1


문제 1은 스스로 예측해보는 문제이기 때문에 각자의 방법이 있다고 생각합니다.


저의 경우에는 개발 도구로 'IntelliJ'를 사용하기 때문에 그냥 'SimpleJavaProgram' 이라는 클래스를 하나 더 생성하거나,


원래 클래스인 'FirstJavaProgram'의 이름을 변경하면 된다고 생각합니다.


- 문제 2


저의 경우에는 다음과 같이 코드를 작성했습니다.


1
2
3
4
5
6
7
8
9
10
11
public class FirstJavaProgram {
 
    public static void main(String[] rags) {
 
        System.out.println("2 + 5 = " + 2 + 5 );
 
        System.out.println("2 + 5 = " + (2 + 5));
        
    }
    
}
cs


위와 같이 코드를 작성한 후, 실행을 했을 때의 결과로는 


2 + 5 = 25


2 + 5 = 7


위와 같은 결과가 출력되었습니다.


첫 번째 문장은 2 + 5 = 와 2 와 5 를 한 덩어리의 스트링으로 인식하기 때문에 단순히 2와 5가 출력되어 25가 출력되었을 것이고,


두 번째 문장은 괄호 안에 있는 (2+5)가 수학에서 처럼 연산이되어 합인 7이 출력된 것 같습니다.


- 문제 3


12를 총 5회 출력하기 위해서는 여러가지의 방법이 있지만 저의 경우에는 다음과 같이 코드를 작성했습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class FirstJavaProgram {
 
    public static void main(String[] rags) {
 
        System.out.println("12");
 
        System.out.println((3 * 4));
 
        System.out.println((4 * 3));
 
        System.out.println(10 + 2);
 
        System.out.println(48 / 4);
    }
 
}
cs


실행 결과로는 5문장 모두 12를 출력하는 것을 확인할 수 있고, 다시 한 번 수학의 연산을 사용하기 위해서는 반드시 괄호 안에


수식을 입력해야 한다는 것을 알 수 있었습니다.



※ 이 게시물은 참고용이며, 정답이 아닙니다. 정답은 오렌지 미디어 홈페이지를 참고해주세요.

+ Recent posts