Wanna be Brilliant Full-Stack Developer

2/23 JAVA 연산자(대입,사칙,비교,논리) 란 무엇인가? 본문

Some Memos/Java

2/23 JAVA 연산자(대입,사칙,비교,논리) 란 무엇인가?

Flashpacker 2022. 2. 23. 23:41

우리가 배우게될 연산자는 대입 , 사칙, 비교, 논리, 조건 연산자를 배우게 될것이다. 

대입이라는건 간단한건 오른쪽에 있는 어떤 데이터를 왼쪽에 넣다는것이다.! 

저기에서 '=' 이 대입 연산자이다!  오른쪽에 있는 데이터를 왼쪽에 대입하는것이다

프로그램에서는 6번라인이 실행될떄 왼쪽부터 읽는것이 아니라 오른쪽을 먼저 읽는다! 

오른쪽을 먼저 읽으니 오른쪽에 있는것을 왼쪽으로 대입한다! 그것이 대입 연산자이다!


그다음은 사칙 연산자이다!

+ 은 더하기 ,

- 뺴기,

/ 은 나누기 ,

* 은 곱하기

지금 이건 오른쪽에 있는 n1 , n2을 더해서 결과가 7이 되면 7을 sum이라는 변수에 대입하겠다는 것이다.

근데 여기서 +연산자는 하나를 더 배워야하는데! 

package ch03;

// 사칙 연산 +,-,/,* 

public class OperEx02 {

	public static void main(String[] args) {
	int n1 = 3;
	int n2 = 4;
	int sum = n1 + n2; // 수치 연산자
	System.out.println(sum);
	
	String s1 = "반가워 나의 나이는 "; 
	int age = 25;
	System.out.println(s1 + age); // 결합 연산자
	}

}

여기서 String 문자열을 s1에 넣었다!
그리고 나서 int age와 더하게 되면 이거는 수치를 더한것이아니라 문자열과 숫자를 결합을 한것이다,
왜냐하면 문자열이랑 숫자를 수치로 더할수 없기 떄문이다! 

숫자끼리 + 하면 연산을 하게 되는데 숫자가 아닌 다른것을 더하게되면 결합이 된다! 

 

사칙연산에서 기억해야할것은 딱하나이다 +는 숫자끼리 + 되지 않으면 결합이 된다! 


이번에는 비교연산자이다! 

package ch03;

public class OperEx03 {
	public static void main(String[] args) {
		
		System.out.println( 1==1 );
	}
}

비교 연산자의 특징은? 무조건 리턴의 결과가 true 아니면 false이다! 

' == ' 를 붙이면 서로 값이 같은지 물어보는것이고 

느낌표 !를 붙이면 ' != ' 같지 않은것을 물어보는건데
! (느낌표) 가 무엇이냐면 부정의 의미를 가지고 있다 

비교연산자에는 크기를 나타낼 수도 있다. 

비교 연산자에서 앞에 있는 수는(3) 주어이다, 그러면 9 번라인은 3이 더 크나요? 10 번라인은 3이 1보다 작나요 이렇게 물어보는것이다
그래서 결과는 9번은 3이 1보다 크니 True이고, 10 번라인은 3이 1 보다 작지 않으니 false 결과가 나온다! 

System.out.println(2<=2); // 작거나 같나요?  이거는 2가 2보다 작거나 같나요? 결과는 TRUE


논리 연산자라는건? 

논리 연산자는 두개를 가지고 있다.  AND 와 OR ! And는 그리고 Or ~ 거나

전기선이 있는데 두군데가  스위치가 열려 있는데 전구가 있는데 내가 지금은 전류가 흐르다가 스위치에서 멈추면 

스위치를 두개 닫으으면 양쪽이 다 닫혀야 전류가 전구로 흘러가 불이 들어오는데 

두가지 조건을 만족해야하는것이 AND 논리 연산자이다.
그래서 양쪽이 TRUE이여야 전구에 불이 들어온다 이것이 AND이다.

 

OR은 스위치 한쪽만 닫혀도 전류가 전구로 흘러가 불이 들어온다. 

OR은 한쪽이 TRUE고 한쪽이 FALSE여도 불이 들어오는 OR회로이다! 

 

AND연산자는  && 이고 OR 연산자는 || 이다! 

OR은 앞에 코드만 보고 TRUE이면 한쪽만 TRUE이면 TRUE가 나오기떄문에 뒤에를
볼필요도 없기 떄문에 Deadcode라고 나온다! 

package ch03;

public class OperEx04 {
	public static void main(String[] args) {
		System.out.println(1 == 1 && 1 == 2 ); // true and false - > false
		System.out.println(1 == 1 || 1 == 2 ); // true or false  - > true 
		
		int n1 = 1;
		int n2 = 2;
		System.out.println(n1 == n1 || n1 == n2);
	}
}

하지만 밑에 있는건 DeadCode가 안나온다! 

위에 내가 직접 적은 이러한 숫자들을 상수라고 부른다!  

상수는 변하지 않는수 

변수 는 변하는수 (n1) 

n1은 지금은 1 이지만 여기에는 나중에 2 나 3이나 값이 변경이 될수 도있는데
상수는 (1) 과 같은 수는 변하지 않는 수이다!