Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Tags
more
Archives
Today
Total
관리 메뉴

개발자입니다

JAVA 5일차 - 연산자 본문

Java/IT BANK - Java 기초

JAVA 5일차 - 연산자

끈기JK 2022. 8. 30. 20:02

220211

 

데이터 가공 명령어(연산자)

- 산술연산자

: 연산에 참여하는 모든 데이터는 4byte 이상이어야 한다(자동 형변환 일어남)

: 서로 다른 타입의 데이터가 연산에 참여할 때는 더 큰 데이터 타입으로 자동 형변환된다

: +, -, *, /, %

- 관계연산자

: 대소관계 : <, >, <=, >=

: 등치관계 : ==, !=

- 대입연산자

: =

: +=(복합대입연산자) : 연산에 참여하는 변수에 연산 결과를 저장할 때, 연산 횟수를 줄여서 동일한 결과를 연산. 실제 연산 속도도 빨라짐

- 논리연산자 : 논리데이터를 연산해 주는 연산자

: AND(곱하기)

: OR (더하기)

: NOT(부정)

: Numeric data와 Logical data는 서로 형변환 할 수 없다.

: 가질 수 있는 값 : true, false

- 증감연산자 : 변수의 값을 1증가 또는 감소시키는 연산자

: ++, --

: ++변수(전치연산자) : 연산에 참여하는 다른 연산자들 보다 연산 우선 순위가 높다

: 변수++(후치연산자) : 연산에 참여하는 다른 연산자들 보다 연산 우선 순위가 낮다

-보수 : 보충해 주는 수

7에 대한 10의 보수 : 3

3에 대한 5의 보수 : 2

1에 대한 1의 보수 : 0

0에 대한 1의 보수 : 1

Char 형은 int 형에서 2바이트를 잘라서 사용하므로 숫자가 허용된다.

char c = 'A'; // 65

char ccc = c + 1; // 변수를 넣으면 int로 취급 (char)(c + 1) 해줘야 함

ccc = 'A' + 1; // 65 + 1. 정수를 넣으면 unicode로 취급

%(moduler) 연산으로 배수 관계인지 알 수 있다

-관계연산자

문자열 연산에는 equals()를 사용할 수 있다

String s = new String("hello");

String sss = new String("hello");

String ss = s;

ss == s; // true

sss == s; // false

s.equals(sss) // 객체의 내용끼리 비교

String s = new String("Hello World"); // new 로 생성할때마다 새로 공간 만듬

String ss = "Hello World";

String ssa = "Hello World"; // ss와 같은 객체를 가리킴

res = (s == ss); // false

res = (ssa == ss); // true

-논리연산자

True : 값을 가지고 있는 모든 상태

False : 값이 없는 상태

-증감연산자(단항연산자)

System.out.println(fv++); // 3.14. println도 값을 넘겨주는 연산이므로 먼저 함

-조건연산자(삼항연산자)

(조건식)? true일때 : false일때;

x=-10; y=10;

absX = (x>0) ? x : x*-1;

-비트연산자

<< >> : shift 연산. 비트를 이동. 그러나 자바에서 사용 안함. 리소스가 절박한 java아닌 장비에서는 사용

-연산자 우선순위

(), [], '.' 연산자의 우선순위가 가장 높다

대입연산자, ',' 연산자의 우선순위가 가장 낮다

일반적으로 항수가 낮은 연산자의 우선 순위가 높다 (일항 > 이항 > 삼항)

1+2*3/4 = → 1+((2*3)/4) = 로 해줘라. 코드 가독성을 위해

코드를 하나하나씩 다 분석해보라

프로젝트 과정을 바꿔서 결과를 동일하게 하라