JAVA
3일차 // 과제 10( java) 연산 left shift < < / rightshift > > , bit 연산, Random 값, 삼항연산자
aesup
2021. 1. 13. 18:23
728x90
// left shift == *2
<<
/*
0001 -> 1
0010 -> 2
0100 -> 4
1000 -> 8
*/
byte by;
by = 0x1 << 3; // shift 한다고 표현 shift 값 = 3
System.out.println(by);
// right shift == /2
>>
by = 0x8 >> 1;
System.out.println(by);
과제10
다음의 결과 값을 먼저 기입하고 결과를 확인하라.
int number;
number = 5;
number = number << 4;
number = number >> 3;
number = number >> 1;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
package work020113;
public class homeworkjava05 {
public static void main(String[] args) {
int number;
number = 5;
number = number<<4;
System.out.println(number);
number = number>>3;
System.out.println(number);
number = number<<1;
System.out.println(number);
}
}
outPut
80
10
20
|
cs |
과제11
다음의 결과 값을 먼저 기입하고 결과를 확인하라.
int num1, num2;
num1 =128;
num2 = 56;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
package work020113;
public class homeworkjava05 {
public static void main(String[] args) {
int num1, num2;
num1 = 128;
num2 = 56;
//16진수로 바꾼다.
System.out.printf("0x%x \n", num1);
System.out.printf("0x%x \n", num2);//16진수로 바꾼다.
num1 = 0x80;
num2 = 0x38;
//num1
//1000 0000
//num2
//0011 1000
//&
//1000 0000
//0011 1000
//-> 0000 0000
num1 =(num1 & num2)|(num1 & num2);
//num1 -> 0000 0000 // 0011 1000
num2 =~(num1 ^ num2);
// num2 - > ~(0011 1000)
// num2 - > 1100 0111
// num2 - > 0xC7
System.out.printf("0x%x \n", num1);
System.out.printf("0x%x \n", num2);
}
}
|
cs |
int 가 아닌 byte로 변수를 잡으면 더 좋다.
OUTPUT
과제12
하나의 수를 입력 받고 삼항 연산자를 사용하여 양수인지 음수인지 판단하라.
//수를 입력
// 판단
// 출력
양수입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
package work020113;
import java.util.Scanner;
public class homework12 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num;
num = sc.nextInt();
String A;
A = ( num > 0)?"양수입니다":"음수입니다";
System.out.println(A);
}
}
|
cs |
OUTPUT
과제12
랜덤 수를 취득하라.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
package work020113;
public class homework12_02 {
public static void main(String[] args) {
int random;
//랜덤 수를 취득하라
//범위 0~99 개수: 1개
random = (int)(Math.random()*100);
System.out.println(random);
//범위: 11, 12, 13, 14, 15 개수 1개
random = (int)((Math.random()*5)+11);
System.out.println(random);
//범위: 1~45 개수 6개
random = (int)(Math.random()*45);
System.out.print(random+ "\t");
random = (int)(Math.random()*45);
System.out.print(random+ "\t");
random = (int)(Math.random()*45);
System.out.print(random+ "\t");
random = (int)(Math.random()*45);
System.out.print(random+ "\t");
random = (int)(Math.random()*45);
System.out.print(random+ "\t");
}
}
|
cs |
OUTPUT
728x90