[2021-06-17] Java
2일차
오늘은 연산자에 대한 공부를 했다.
마찬가지로 C언어와 비슷하게 기본 연산자(+,-,*,/)들 과
논리형 연산자(and,or,not)등이 거의 똑같았고 단항연산자(--a,a--)등도 똑같았다.
이스케이프 문자 역시 C언어와 똑같아서 배우는데에 어려움은 없었다.
문자열과 숫자 출력
출력 메소드안에 문자열과 선언되지않은 숫자를 넣으면 자동적으로 숫자는 문자열로 바뀌어 출력이 된다.
기본연산자
기본연산자에는 +, -, *, /, % 이 있는데
순서대로 덧셈 뺄셈 곱셈 나눗셈(몫) 나눗셈(나머지)이다.
정수형끼리 나눗셈을 할 때"/"을 사용하여 연산을 하면 몫만 출력이 된다.
몫과 나눗셈을 같이 출력하고싶으면 둘중 하나의 변수만 실수형인 double로 바꿔주면 된다.
실수형이 정수형보다 서열이 높기 때문에 자동적으로 결과값이 실수형으로 바뀌게 된다.
비교연산자
비교 연산자는 출력값이 true , false 로 출력되는 연산자이다.
>,<,== 등이 있고 크거나 같다를 표시할 경우 >=로 표시해주면 된다.
중요한 점은 같다를 표시할 경우 =를 두개 써야한다는 점이다. 하나만 쓸 경우
변수 선언과 중첩되어 오류가 발생하거나 잘못된 값이 출력될 수 있다.(a==b 처럼)
not 연산자
not 연산자는 !로 표시하는데 이미 나온값(true 나 false)에는 그냥 사용할 수 있지만
변수 사이에 독립적으로는 사용할 수 없다.
(a ! b) 는 불가
(! true)는 가능 -->false 로 출력이 된다.
논리 연산자
논리 연산자 역시 비교연산자 처럼 출력값이 true false 형태이다.
AND 형인 &&
OR 형인 | |
NOT 형인 !로 나눌 수 있다.
&&는 모두 참이어야 참이고
| | 는 둘중 하나만 참이어도 참이고
!는 참이면 거짓, 거짓이면 참이다.
이스케이프 문자
이스케이프 문자에서 자주 사용되는 것은 "\n",\t","\"" 가 있는데
\n은 줄바꿈 \t 는 탭 \"는 인용구를 쓸 때 큰따옴표를 넣어줄 때 사용한다
중요한점은 문자열 안에서 사용해야 한다는 점이다.
printf() 메소드에서는 문자열안에 %n 형식자를 사용하여 줄바꿈 할 수도 있다.
단항 연산자
단항 연산자는 --a, a--등이 있는데
두개는 엄연히 다른 연산자이다.
먼저--a는 먼저 a에서 1을 감소시킨다음 출력을 한다는 의미이고
a--는 a를 출력시킨다음 1을 감소시킨다는 의미이다.
--a와 a--는 변수의 값 자체를 변화시키기 때문에 출력이후에도 그 값은 유지된다.
위 사진에서 a 초기값이 3이고 두번의 단항 연산자 a--와 --a를 거쳐서
최종값이 1이되었다.
먼저 첫번째 메소드에서 a를 일단 출력한 후 (a=3) 그 뒤 a값에서 1을 빼주었다.
첫번째 메소드가 끝난뒤 a값은 2로 저장이 되어있을 것이다.
그리고 두번째 메소드에서 a값에서 먼저 1을 빼주고 a값을 출력을 했으니
2에서 1을 뺀 값인 1을 출력을 하고 a값에는 1이 저장이 되어있을 것이다.
형변환
때때로 int형의 값을 double형으로 바꿔주거나 double 형의 값을 int 나 다른 형식으로 바꿔주려고 할 때 형변환을 사용한다
알아두어야할 점은 더 많은 데이터를 담을 수 있는 자료형을 더 적은 자료형으로 형변환 시켜줄때는 오류가 발생한다는점이다.
반대의 경우에는 가능하다
예를 들어 double a= 3.14;로 선언을 한 변수 a를 int형(3)으로 바꿔주려고 한다면
.14만큼의 값의 손실된다. 자바에서는 이를 일반적으로 허용하지 않는다.
정 바꾸고 싶다면 형변환자에 괄호를 씌워주면 가능하다.
double a=3.14;
double b= a; ---->불가능
double b=(double) a; ---->가능
Author And Source
이 문제에 관하여([2021-06-17] Java), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@spider/2021-06-17-Java-공부저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)