컴퓨터는 잘못이 없다..

[JAVA]자바의 연산자 총정리(산술연산자/증감연산자/비교연산자/논리연산자/대입연산자/삼항연산자/연결연산자) 본문

공부/JAVA

[JAVA]자바의 연산자 총정리(산술연산자/증감연산자/비교연산자/논리연산자/대입연산자/삼항연산자/연결연산자)

도토리까꿍v 2020. 11. 24. 17:30
Contents 접기

[산술 연산자 예제코드]

package test.main;
/*
 * 1. 산술 연산자 테스트
 * +, -, *, /, %
 * 
 */
public class MainClass01 {
	public static void main(String[] args) {
		int num1=5;
		int num2=2;
		
		//+연산하기
		int sum=10+1;
		int sum2=num1+num2;
		int sum3=10+num2;
		
		//정수끼리 연산하면 결과는 정수만 나온다.
		int result=5/3;
		int result2=num1/num2;
		
		//연산의 결과로 실수 값을 얻어내고 싶으면 적어도 하나는 실수여야 한다.
		double result3=5/3.0;
		double result4=num1/(double)num2;
		//앞에 있는 수를 뒤에 있는 수로 나눈 나머지 값을 얻어낸다.
		int result5=num1%num2;

		

	}
}

 

[증감연산자 예제코드]

package test.main;

/*
 * 2. 증감 연산자 테스트
 * 변수에 있는 숫자값을 1씩 증가 혹은 1씩 감소 시킬 때 사용한다.
 */
public class MainClass02 {
	public static void main(String[] args) {
		int num=0;
		num++;
		num++;
		num++; //num이 최종적으로 3이 된다.
		
		int num2=0;
		num2--;
		num2--;
		num2--; //num2는 최종적으로 -3이 된다.
		
		int num3=0;
		int result=++num3;//result1은 1 num3은 1
		
		int num4=0;
		//이 경우 연산의 우선순위가 증감연산자 보다 대입연산자가 더 빠르다.
		int result2=num4++; //0이 대입되고 그 다음에 num4를 증가시킨다.
		System.out.println(result2);
		System.out.println(num4);
		
		
		//연산 후 num, num2, result3엔 무엇이 들어있는 지 확인
		num=0;
		num2=0;
		int result3 = num-- + ++num2; //1이 들어있다.
		
		System.out.println("메인 메소드가 종료 됩니다.");
		

	}

}

 

[비교연산자 예제코드]

package test.main;
/*
 * 3. 비교 연산자 테스트
 * -비교 연산의 결과는 boolean type이다.
 * ==, !=, >, >=, <, <=
 * */
public class MainClass03 {
	public static void main(String[] args) {
		boolean result1 = 10==10;//true
		boolean result2 = 10!=10;//false
		boolean result3 = 10>100;//false
		boolean result4 = 10>=10;//true
		boolean result5 = 10<100;//true
		boolean result6 = 10<=10;//true
		
		//String type 변수에 null 대입하기
		//Java에서 null은 참조데이터 type에 담길 수 있는 빈 공간이다!
		//반드시! 참조데이터 타입에 담길 수 있는 빈공간! (기본 데이터 타입의 빈 공간은 아니다 int num =null? 이런거 없음)
		String name=null;
		
		boolean result7=name==null;
	}
}

 

[논리연산자 예제코드]

package test.main;
/*

4. 논리 연산자

-논리 값 boolean 을 연산할 때 사용하는 연산자이다.
||, &&, !
 
*/

public class MainClass04 {
	public static void main(String[] args) {
		
		//메소드 안에서 생성하는 변수를 'local variable(지역변수)' 라고 한다.
		//datatype identifier = value; -> 지역변수 생성방법과 각 용어
		//자바에서는 타입이 맞지 않으면 값이 들어가지지 않는다.
		//boolean result1 = 10.1(x)
		
		// or 연산 
		boolean result1 = false || false; //false
		boolean result2 = false || true; //true
		boolean result3 = true || false; //true
		boolean result4 = true || true; //true
		// and 연산
		boolean result5 = false && false; //false
		boolean result6 = false && true; //false
		boolean result7 = true && false; //false
		boolean result8 = true && true; //true
		// not 연산
		boolean result9 = !true; //false
		boolean result19 = !false; //true
		
		//boolean타입의 변수는 is~ 로 짓는것이 좋다. -> 가독성이 좋아진다.
		boolean isRun=false;
		
		//만일 isRun이 true가 아니라면
		if(isRun != true){
			System.out.println("달리지 않아요");
		}
		
		//만일 isRun이 false라면 
		//만일 달리지 않을거라면 
		if(!isRun){
			System.out.println("달리지 않아요2");
		}

	}
}

 

[대입연산자 예제코드]

package test.main;
/*
 *  5. 대입 연산자
 *  
 *  - 우측에 있는 어떤값을 좌측에 대입하는 연산자
 *  
 *  =, +=, -=, *=, /=, %=
 */
public class MainClass05 {
	public static void main(String[] args) {
		//우측에 있는 값을 좌측에 그냥 대입
		int num=10;
		//우측에 있는 값을 원래 값에 더해서 대입
		// num=num+10;
		num+=10;
		//우측에 있는 값을 원래 값에 빼서 대입
		// num=num-10;
		num-=10;
		//우측에 있는 값을 원래 값에 곱해서 대입
		//num=num*4;
		num*=4;
		
		//우측에 있는 값을 원래 값에 나누어서 대입
		//num=num/5;
		num/=5;
		
		//우측에 있는 값으로 원래 값을 나눈 나머지값을 대입
		//num=num%6;
		num%=6;
	}
}








 

[삼항연산자 예제코드]

package test.main;
/*
6. 3항 연산자 테스트 
*/
public class MainClass06 {
	public static void main(String[] args) {
		boolean isWait = true;
		
		
		//isWait이 true이면 result에 기다려요 대입, false이면 기다리지 않아요 대입 
		String result = isWait ? "기다려요" : "기다리지 않아요";
		
		String result2 = null;
		if(isWait) {
			result2="기다려요";
		}else {
			result2 ="기다리지 않아요";
		}
		
		System.out.println(result);
		System.out.println(result2);
		
		double result3 = isWait? 10.12 : 99.5; //d는 생략가능
		float result4 = isWait? 10.12f : 99.5f; //float는 생략불가능
		float result5 = isWait? (float)10.12 : (float)99.5; //f를 생략하고싶다면 casting하기 
		

	}
}

 

[연결연산자]

연결연산자에서

String 타입 데이터와 숫자타입 데이터가 만나면 String타입으로 형변환 된다.

 

ex1) 2+"Hello"+3 = "2Hello3"

ex2) Hello+2+3 = "Hello23"

ex3) 2+3+"Hello" = "5Hello" --> 단, String타입을 만나기 전 숫자타입끼리 연결연산자로 연결하면 숫자연산이 된다. 

 

 

 

 

Comments