일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩
- 계산기
- Thread
- Java
- 고급자바
- I/O
- 연산자
- 변수
- 객체
- IBatis 게시판
- 동적 문자열
- ListSort
- 쓰레드
- 조건문
- 동적 버튼 생성
- iBatis
- Comparable
- 기초
- comparator
- enum
- oclick 동적
- 동적 버튼 onclick
- 변수초기화
- IBatis CRUD
- MAP
- 동적 데이터
- 객체지향
- io
- 변수선언
- 자바
- Today
- Total
Jun's Blog
[Java] 연산자(간단 문제) 본문
1. int형 변수 number를 선언하고 30의 값으로 초기화하여라.
int number = 30;
2. char형 변수 ch를 선언하고 'C'의 값으로 초기화하여라.
char ch = 'C';
3. 다음의 출력 결과를 작성하여라.
int result = number++ + 3 + ++ch + ++number;
System.out.println("number : " + number);
System.out.println("ch : " + ch);
System.out.println("result : " + result);
풀이 :
int result = number++ + 3 + ++ch + ++number;
//30++
//31 + 3 + D + 32
//65+D , D = 68
//= 133
1. int형 타입을 가지는 변수 a는 10의 값으로, 변수 b는 8의 값으로 초기화하여라.
int a = 10;
int b = 8;
2. 변수 share를 선언하고 a를 b로 나눗셈한 결과로 초기화하여라.
int share = a / b;
3. 변수 remain을 선언하고 a를 b로 나눈 나머지로 초기화하여라.
int remain = a % b;
4. 위 변수 4개를 활용하여 아래와 같이 출력하여라.
xxx를 xxx로 나눈 몫은 xxx이고 나머지는 xxx이다.
System.out.println(a+"을 "+b+"로 나눈 몫은 "+share+"이고 나머지는 " + remain+"이다.");
1. 변수 f1을 선언하고 0.1f의 값으로 초기화하여라.
float f1 = 0.1f;
2. 변수 f2를 선언하고 10.0f의 값으로 초기화하여라.
float f2 = 10.0f;
3. 변수 d1을 선언하고 01의 값으로 초기화하여라.
double d1 = 0.1;
4. 변수 d2을 선언하고 10.0의 값으로 초기화하여라.
double d2 = 10.0;
5. 변수 s를 선언하고 "자바"의 값으로 초기화하여라.
String s = "자바";
6. 변수 f1과 d1의 값은 같은지에 대해 결과를 출력하여라.
System.out.println(f1==d1);
7. 변수 f2와 d2의 값은 같은지에 대해 결과를 출력하여라.
System.out.println(f2==d2);
8. s의 값이 "자바"와 값이 같은지에 대해 결과를 출력하여라.
System.out.println(s.equals("자바"));
다음 연산 결과를 적으시오.
int x = 2;
int y = 5;
char c = 'A'; // 'A'의 문자코드 65
System.out.println(1 + x << 33);
// 3 << 33
// 3 X 2 X 2^32
// 정답은 6
System.out.println(y >= 5 || x < 0 && x > 2);
// 5>=5 또는 2<0 그리고 2>2
// '&&'이 '||'보다 연산 우선순위가 높다.
// 2 < 0 && 2 > 2 ====>> false
// 5>=5 ===> true
// true || flase
// ==>> true
System.out.println(y += 10 - x++);
// 증감연산자가 먼저 우선 순위로 계산을 해야한다.
// x는 2로 계산이 되고, 3의 값이 저장된다.
// 10에서 2를 빼면 8이고, 그렇게 된다면 y = 5+8이 된다
// 그래서 답은 13
System.out.println(x += 2);
// x += 2 (x=2)
// 단, 위의 식과 같이 x++에 대입 후 계산을 해줘서 3으로 계산이 된다.
// x = 3+2
// x = 5
System.out.println( !('A' <= c && c <= 'Z') );
// 'A' <= c ==>> true
// c <= 'Z' ==>> true
// true && true ==> true
// !ture 이라면 '!'는 논리부정연산자로써 반대를 의미하기 때문에 값이 반대로 바뀐다.
// 그래서 정답은 false
System.out.println('C' - c);
// c = 'A';
// 4byte 보다 작은 타입들은 int로 변환해야 한다.
// char - char = int - int =>> int
// 'C' - 'A'
// ASCII CODE로 나타낸다면 , A = 65, C = 67
// 67 - 65 = 2
System.out.println('5' - '0');
// 4byte 보다 작은 타입들은 int로 변환해야 한다.
// char - char = int - int =>> int
// '5' - '0'
// ASCII CODE로 나타낸다면 , 0 = 48, 5 = 53
// 53 - 48 = 5
System.out.println(c+1);
// c = 'A';
// char + int = int + int ==> int
// ASCII CODE로 A = 65
// 65 + 1 = 66
System.out.println(++c);
// ++c는 전위증감연산자로 c의 값에 1을 증가시킨다.
// 단, 증감연산자들은 단항 연산자로써 int로 변환되지 않는다.
// c = 'A';
// 문자 값이 그대로 먼저 저장시키고 출력한다.
// 정답은 B
System.out.println(c++);
//c++는 후위증감연산자로써 c의 값을 1증가시킨다.
// 후위형인 경우에는 변수 c가 출력되고 난 후에 c에 저장된 값이 증가된다.
// 그래도 값은 B가 나온다
System.out.println(c);
// 위 문제에서 출력이 끝나고 c에 저장된 값이 증가했다.
// 그러므로 c가 나온다.
<문제 출처> java의 정석에서..
'Java' 카테고리의 다른 글
[Java] 반복문 (for문, while문, do-while문) <계산기> (0) | 2020.09.16 |
---|---|
[Java] 조건문 (if문, switch문) <학점계산기> (0) | 2020.09.12 |
[Java] 연산자 (0) | 2020.09.02 |
[Java] 변수의 타입 (간단 문제) (0) | 2020.09.01 |
[Java] 변수의 타입 (0) | 2020.09.01 |