Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바
- Java
- 다중if
- 단순if
- dowhile문
- 산술 쉬프트 연산자
- 안드로이드스튜디오
- 증감연산자
- 참조형호출
- 변수유효범위
- 비정방행렬
- print()
- 타입변환
- for문
- 비교연산자
- 기본형호출
- 대입 연산자
- 사용자입력Switch문
- println()
- 문자열
- array
- 배열
- 논리 쉬프트 연산자
- 다차원배열
- 삼항 연산자
- while문
- 비트논리연산자
- 순환문
- 명명규칙
- 콘솔출력문
Archives
- Today
- Total
신입개발자
연산자1 본문
public class 연산자1 {
public static void main(String[] args) {
// 자바 산술 연산자
System.out.println(7 + 3); // 10
System.out.println(7 - 3); // 4
System.out.println(7 * 3); // 21
System.out.println(7 / 3); // 2 몫
System.out.println(7 / 3.); // 2.3333333333333335
System.out.println(7 % 3); // 1, 모듈러 연산자(나머지)
System.out.println();
// 증감연산자
int i =10, j=20;
System.out.println(i-- + ++j); // 31 = 10(후위연산자) + 21
i = 10; j =20;
System.out.println(--i + j++); // 29 = 9(전위연산자) + 20
System.out.println();
//10진수를 다른 진수(문자열)로 변환
System.out.println(Integer.toBinaryString(10)); // 1010, 2진수
System.out.println(Integer.toOctalString(10)); // 12(8의1제곱 + 8의0제곱 2개), 8진수
System.out.println(Integer.toHexString(10)); // a(16의 0제곱), 16진수(0~9 a~f)
System.out.println();
//다른진수(문자열)을 10진수로 변환
System.out.println(Integer.parseInt("1010", 2)); // 10
System.out.println(Integer.parseInt("12", 8)); // 10
System.out.println(Integer.parseInt("A", 16)); // 10 a/A 상관없음
System.out.println();
//다른진수(숫자)을 직접 이용하기
System.out.println(10); // 10, 10진수
System.out.println(0b1010); // 10, 2진수 (b는 바이너리임)
System.out.println(012); // 10, 8진수
System.out.println(0xA); // 10, 16진수
System.out.println();
//비트 논리 연산자
i =10; j=12;
System.out.printf("i = \t%32s\n",Integer.toBinaryString(i)); // 1010, 2진수
System.out.printf("j = \t%32s\n",Integer.toBinaryString(j)); // 1100, 2진수
System.out.printf("i & j = %32s, %d\n",Integer.toBinaryString(i & j), i & j);
//1000, (10진수로) 8, 비트 AND 연산자
/*
* 1010
* 1100
* 1000 (둘다 1일 때 1)
* */
System.out.printf("i | j = %32s, %d\n",Integer.toBinaryString(i | j), i | j);
//1110, (10진수로) 14, 비트 OR 연산자
/*
* 1010
* 1100
* 1110 (둘 다 혹은 둘 중 하나 1일 때 1)
* */
System.out.printf("i ^ j = %32s, %d\n",Integer.toBinaryString(i ^ j), i ^ j);
//110, (10진수로) 6, 비트 XOR 연산자(배타적)
/*
* 1010
* 1100
* 0110 (서로 다를 때 1)
* */
System.out.printf("~i = \t%32s, %d\n",Integer.toBinaryString(~i), ~i);
// '1'1111111111111111111111111110101, 10진수로 -11, 비트 NOT 연산자
// 맨앞 '최상위 비트' MSB, Most Significant Bit 는 부호 비트 : 0은 양수 1은 음수
// 양수는 1의 위치에 2진법 적용, 음수는 0의 위치에 2진법을 적용한 뒤 1더하여 음수처리
//1111111111111111111111111111 0101(-((2의3 + 2의1) +1))
}
}
Comments