*연산자의 종류
1. 연산자 우선순위: ()괄호먼저, 왼쪽->오른쪽 순으로 처리됨
2. 단항연산자: +,-(부호) --,++(증감) !(NOT) ~(NOT,비트상)
3. 산술연산자: *, /, %, +, -
4. 비교(관계)연산자: > >= < <= == !=
5. 논리연산자: &&, ||. 비트에서: &, |, ^(XOR)
6. 삼항(조건)연산자: 조건?참값:거짓값
7. 대입연산자: =, *=, /=, +=, -=
*정수형과 실수형의 나눗셈
헷갈리는 분들을 위해 개념에 대해 간단히 설명하겠다.
정수형에는 byte(1), short(2), int(4), long(8)이 있고
실수형에는 float과 double 두 종류가 있다.
각 숫자의 범위를 계산하는 방법은, 예를 들어 byte형의 경우, 1byte = 8bit. 즉 2^8개 숫자를 반으로 나눈 범위에 들어간다(-128~127).
자, 이제 본격적으로 나눗셈에 대해 알아보자.
(1) 정수형 / 정수형 = 정수형
(2) 정수형 / 실수형 = 실수형
실수를 나눗셈할 때에는 저렇게 2가지 방법으로 해도 결과는 같게 나온다.
결과
*단축키
- ctrl + shift + f : 코딩 모양 자동정렬(편리함!)
*두 정수의 곱셈(명시적 형변환): 곱한 수의 결과가 int형 범위보다 커질 경우
a와 b는 백만이다. 둘을 곱하면 1조가 나오는데, int형은 약 21억 정도이므로 범위를 벗어나서 쓸 수 없다. 따라서 한단계 높은 long을 써줘야 한다.
그렇다면 int형에서 long형으로 형변환을 해줘야 하는데,
이렇게 작은 쪽에서 큰 쪽으로 형변환하는 작업을 "명시적 형변환"이라 한다.
또다른 형변환의 종류로 "묵시적 형변환"이 있는데, 이 형변환은 코딩 3번째 줄에서 괄호부분()을 생략할 수 있지만, "명시적 형변환"은 생략할 수 없고 무조건 표기해줘야 한다.
*문자형의 출력과 아스키(ASCII)코드
코딩
결과
첫번째 결과로 문자형인 a가 출력되는건 당연해 보인다. 하지만 두번째 결과로 나오는 97은 어떻게 나오게 된 것일까?
두번재 결과는 char형에서 int형으로 "명시적 형변환"을 해준 것이다.
소문자 a는 실제로 컴퓨터가 알아들을 수 있는 숫자로 이루어져 있는데, 바로 "아스키코드"로 이루어져 있다. 소문자 'a'에 대한 아스키코드는 97로 정해져 있으므로, 출력값도 당연히 97이 되는 것이다.
그렇다면 세번째 결과는 어떻게 된 것일까? 이미 두번째 결과에서 변수 c1은 "정수형"으로 변환되었다. 그러므로 변환된 아스키코드값 97과 숫자 10이 더해져 107이라는 결과가 나온 것이다.
*관계연산자를 이용한 변수 a의 참과 거짓 판별
코딩
결과
변수 a의 값은 50으로 초기화 되어있고, 첫번째로 변수 a가 10보다 크냐고 묻고 있으므로 결과는 참이 된다. 첫번째 출력문에서 (a >10)과 같이 관계연산자를 사용하여 a값을 묻게 되면, 컴퓨터는 그 물음이 맞는지, 아닌지를 판단하여 boolean형인 "true" 혹은 "false"의 결과값을 출력해준다.
아래는 다양한 참과 거짓 판별 예제다.
코딩
결과
*기타 판별
(1) 10대인지 아닌지 알아내기
(2) 대문자의 아스키코드값 알아내기
(3) b의 대문자 판별하기
결과
힘들다 고만할래...
이 뒤에 한 내용들은 다 알던 내용이라~ 생략할련다.
이제 놀러가야지! /(ㅇ_ㅇ)/ 뿅~
'N스크린하이브리드앱과정 > JAVA' 카테고리의 다른 글
[3일차] JAVA수업. 이중 for문의 활용. 구구단, 피라미드 등 (0) | 2013.07.17 |
---|---|
[3일차] JAVA수업. 대소문자 구분하기 프로그램 (0) | 2013.07.17 |
[2일차]3~4교시 JAVA 수업 : printf문의 기능. 다양한 활용들. (0) | 2013.07.16 |
[1일차 5~8교시]이클립스(eclipse) 설치, 실행, 설정하기. 간단히 구동해보기. (0) | 2013.07.15 |
[1일차 5~8교시] JAVA/JSP수업. JAVA 설치 및 환경변수 설정 방법 (0) | 2013.07.15 |