SQLD, ECLIPS, JAVA,PYTHON, NODE....

(선행)[Oracle] Java class 4 - 연산용어 정리 본문

Java

(선행)[Oracle] Java class 4 - 연산용어 정리

D_Aiden 2023. 10. 6. 14:08
728x90
반응형
SMALL

Java의 클래스명은 대문자이며, 모든 명령어는 소문자 임.

spring: flame work(틀이라고 보면 된다)

JAVA 풀이 설명
tap 6자리 글자 띄움  
&& and 모든 연산이 boolean(참/거짓)인 경우
|| or 연산 중 1개라도 bolean(참/거짓)인 경우
; enter(엔터키) 결과 값 출력
?    
, 콤마 데이터 나열할때 사용
= = 대입연산자
++a 전위 연산자 1증가되고 사용됨 (ex. ++a <=10 False)
a++ 후위 연산자 사용이 되고 1 증가(ex. a++ <=10 True)
+, -, * , / , %(나머지) + - * / % 사칙연산임. % 나머지는 모지??
" " 문자열 Java에선 문자열은 " " 로 안에 내역 입력방식.
shift+ | 역슬레시(\) Enter위에 있는 자판
\t 들여쓰기 3자  
\n 한줄 바꿔서 출력  
println 
print
ln 붙으면,
출력결과 값의
라인변경
System.out.println("오늘은 3일차 입니다.")
System.out.println("내일은 4일차 입니다.")
// 오늘은 3일차 입니다.
내일은 4일차 입니다.

System.out.print("오늘은 3일차 입니다.")
System.out.print("내일은 4일차 입니다.")
// 오늘은 3일차 입니다. 내일은 4일차 입니다.
switch-case
if 
차이

break;의 추가사유

switch-case는 조건만족해도 case2값의 명령 수행 --> 그렇기 때문에 break;를 선언해서 불필요한 흐름탈출 필요.
(참고) switch에 오는 값은 정수형 데이터, String 데이터만 올 수 있음

if는 case 값1 조건만족하면 끝

Scanner sc = new Scanner(System.in);   Java에서 키보드호출 함수 키보드 객체 생성(메모리 할당을 받음)
String id = sc.nextLine();   입력한 값을 얻어오는 함수
   char sung = id.charAt(7); sung은 객체할당
7은 주민번호 자리수
주민번호 값으로 성별을 추출
for( (변수;조건;변수의 증/감 명령) 조건이 참인 동안 명령 반복  구구단 같이 정수반복 함수
nextInt() 정수데이터 받아오는 함수 (자주사용)
정수(ex.구구단)데이터 받아오는 함수
Calendar.getInstance()
int year=c.(Calendar.YEAR);
Calendar 클래스 객체화(메모리 할당) 현재 년도 구하기 함수
   length    
private 지정된 함수만 접근하도록 제어하는 함수 함수 오류 및 보안때문에 걸어두는 경우
this 현재 클래스의 호출값 사용 가장 가까운 함수의 호출값을 바로 불러오는 함수
A.output(); A라는 호출값 부르는 함수 A함수 호출값
     

 

연산자 (Operator) 정의

  • 프로그램에서 데이터를 처리하여 결과를 산출하는 것을 연산(operation)이라 한다.
  • 연산에 사용되는 표시나 기호를 연산자(operator)라고 한다.
  • 연산되는 데이터는 피연산자(operand)라고 한다.
    예) 산술연산 +, -, *, /, %

연산자의 종류

자바에서 제공하는 연산자의 종류는 아래의 표와 같습니다.

종류 연산자 우선순위
증감 연산자 ++, -- 1순위
산술 연산자 +, -, *, /, % 2순위
시프트 연산자 >>, <<, >>> 3순위
비교 연산자 >, <. >=, <=, ==, != 4순위
비트 연산자 &, |, ^, ~ ~만 1순위, 나머지는 5순위
논리 연산자 &&, ||, ! !만 1순위, 나머지는 6순위
조건(삼항) 연산자 ?, : 7순위
대입 연산자 =, *=, /=, %=, +=, -= 8순위

증감 연산자

증감연산자는 피연산자의 값을 1씩 증가 또는 감소시키는 연산자이다. 증감 연산자가 변수 앞에 위치하느냐 변수 뒤에 위치하느냐에 따라 결과 값이 달라진다.

구분 연산자 설명
증감 연산자 x++ 먼저 해당 연산을 수행한 후 피연산자의 값을 1증가 시킴
++x 먼저 피연산자의 값을 1증가 시킨 후 해당 연산을 수행함
x-- 먼저 해당 연산을 수행한 후 피연산자의 값을 1감소 시킴
--x 먼저 피연산자의 값을 1감소 시킨 후 해당 연산을 수행함
// 증감연산자 ++, --
int x = 10;
//int y = x++;  // y = x; x = x + 1;
int y = ++x;    // x = x + 1; y = x;

System.out.println("x = " + x);
System.out.println("y = " + y);

 

산술 연산자

가장 기본이 되는 연산자로 4칙 연산(+, -, *, /)과 나머지 값을 구하는 나머지 연산자(%)가 있다.

구분 연산자 설명
산술 연산자 + 두 수에 대한 덧셈
- 두 수에 대한 뺄셈
* 두 수에 대한 곱셈
/ 두 수에 대한 나눗셈
% 두 수를 나눈 후 그 나머지를 반환한다.

4칙 연산은 다 아는 내용이라 생략하고, 나머지 연산자만 알아봅니다.

나머지 연산자(%)는 프로그래밍 작업 시 자주 사용되는 연산자입니다. 나머지 연산자의 결과 값은 왼쪽 피연산자의 값을 오른쪽 피연산자의 값으로 나눈 나머지 값을 반환합니다.

예를 들어 (x % n) 의 경우 x의 값이 어떤 수가 들어오든 나올 수 있는 값의 범위는 0 부터 n-1의 범위를 갖습니다.

아래와 같이 (x % 7) 연산의 값의 범위는 0 ~ 6의 값만 나오게 됩니다. 다시 말해 결과값이 회귀하게 되는 것이죠. 그래서 알고리즘을 구현한다던지 이럴 때 자주 사용되는 연산자입니다. 꼭 기억하세요.

int x = 1234;
System.out.println("x % 7 = " + (x % 7));  // 0 ~ 6 사이의 값을 반환
System.out.println("x % 2 = " + (x % 2));  // 0 ~ 1 사이의 값을 반환, x값이 홀수인지 짝수인지 구분에 유용

 

시프트(shift) 연산자

시프트 연산자는 bit단위의 연산처리를 하며 자료의 가공을 위해 오른쪽 또는 왼쪽으로 이동하여 값에 대한 변화를 일으키는 연산자입니다.

구분 연산자 설명
시프트 연산자 >> bit값을 오른쪽으로 이동 (빈 자리는 부호값으로 대입) 한다.
<< bit값을 왼쪽으로 이동 (빈 자리는 0으로 대입) 한다.
>>> bit값을 오른쪽으로 이동 (빈 자리는 0으로 대입) 한다.
// 쉬프트 연산자 >>, <<, >>>        
int x = 64;   // -64;
int n = 2;        
System.out.println("x >> n = " + (x >> n)); // 나눗셈, (x / 2^n)
System.out.println("x << n = " + (x << n)); // 곱셈,  (x * 2^n)
System.out.println("x >>> n = " + (x >>> n));

System.out.println("x >> 34 = " + (x >> 34));    // x / 2^(n % 32)
System.out.println("x << 34 = " + (x << 34));
System.out.println("x >>> 34 = " + (x >>> 34));

 

비교 연산자

변수나 상수의 값을 비교할 때 쓰이는 연산자로서 결과가 항상 true 또는 false인 논리값(boolean)이어야 한다.

구분 연산자 설명
비교 연산자 > 크다
< 작다
>= 크거나 같다
<= 작거나 같다
== 피연산자들의 값이 같다
!= 피연산자들의 값이 같지 않다
// 비교연산자 <, >, <=, >=, ==, !=
int x = 12;
int y = 15;
// boolean bool = x > y;
// boolean bool = x < y;
boolean bool = (x = x + 5) != y;
System.out.println("bool = " + bool);

 

논리 연산자

논리 연산자는 피연산자의 값이 true나 false인 논리 값을 가지고 다시 한번 조건 연산하는 연산자이다. 

 

논리 연산자의 종류(1)

구분 연산자 의미 설명
논리 연산자 & and (논리곱) 주어진 조건들이 모두 true일 때만 true를 나타낸다.
| or (논리합) 주어진 조건들 중 하나라도 true이면 true를 나타낸다.
! not (부정) true는 false로 false는 true로 나타낸다.

논리 연산자의 종류(2)

구분 설명
&& 선조건이 true일 때만 후조건을 실행하며 선조건이 false이면 후조건을 실행하지 않는다.
|| 선조건이 true이면 후조건을 실행하지 않으며 선조건이 false일 때만 후조건을 실행한다.

 

논리 연산자의 경우 논리곱(&, &&), 논리합(|, ||) 연산자가 2가지로 사용이 가능하다. 이들의 사용법은 차이가 있으며, 일반적으로 &&, || 이 연산자를 주로 사용한다.

 

// 논리연산자 &, |, !, &&, ||
x = 20;
y = 30;
bool = x < y || (x = x + 15) > y;
System.out.println("bool = " + bool);
System.out.println("x = " + x);

 

대입 연산자

특정한 상수 값이나 변수 값 또는 객체를 변수에 전달하여 기억시킬 때 사용하는 연산자이다.

구분 연산자 설명
대입 연산자 = 연산자를 중심으로 오른쪽 변수값을 왼쪽 변수에 대입한다.
+= 왼쪽 변수에 더하면서 대입한다.
-= 왼쪽 변수값에서 빼면서 대입한다.
*= 왼쪽 변수에 곱하면서 대입한다.
/= 왼쪽 변수에 나누면서 대입한다.
%= 왼쪽 변수에 나머지 값을 구하면서 대입한다.
// 대입연산자
int num = 120;

num += 30;		// 풀어서 쓰면 num = num + 30; 과 같다.
System.out.println("num = " + num);

// num = num + 3.14F;		// 에러 발생, 아래 코드와 같이 형 변환 해줘야 함.
num = (int)(num + 3.14F);  // int형으로 형 변환 했으므로 정상처리

num += 3.14F;       // 복합대입연산자를 사용시 대상 타입으로 자동 형 변환 해줌.

// 복합대입연산자의 형변환 : 복합대입연산자의 경우 최종 할당되는 변수의 데이터 타입으로 형 변환되서 계산됨.
// int x = 10; double y = 2.3;
// x += y; 이 코드는 x = (데이터타입)(x + y) 이렇게 계산이 됨.
int i = 10;
double rate = 0.01;        
i += (i * rate);    // 형변환되어서 들어가므로 에러 아님.

 

 

비트 연산자
피연산자 즉 연산의 대상이 되는 값들을 내부적으로 bit단위로 변경한 후 연산을 수행하는 연산자이다.

 

구분 연산자 설명
비트 연산자 & 비트 단위의 AND
| 비트 단위의 OR
^ XOR (배타적 OR)
~ 단항 연산자 이며, 비트를 반전한다. 0은 1로 1은 0으로 만듬

 

// 비트 연산자 &, |, ^, ~
int num = 170;       
System.out.println("num & 15 = " + (num & 15)); // num & 15 = 10 , mask 연산
System.out.println("num | 15 = " + (num | 15)); // num | 15 = 63, 특정 비트를 1로 셋팅
System.out.println("num ^ 15 = " + (num ^ 15)); // num ^ 15 = 58, 특정 비트를 반전시킬 때.
System.out.println("~num = " + (~num)); // ~num , 비트 반전, 1의 보수 표현

 

조건 연산자(삼항 연산자)
하나의 조건을 정의하여 만족 시에는 ‘참값’을 반환하고 만족하지 못할 시에는 ‘거짓값’을 반환하여 단순 비교에 의해 변화를 유도하는 연산자이다. 피연산자가 3개라 해서 삼항 연산자라고도 부른다.

구분 연산자 설명 구성
조건 연산자 ? : 제어문의 단일 비교문과 유사하다. 조건식 ? 참값 : 거짓값
// 조건 연산자 cond ? true : false
char gender = 'F';
System.out.println(gender == 'M' ? "남성" : "여성");

// 어떤 수가 양수, 음수, 영인지 판별하시오.
int no = -12;
System.out.println(no == 0 ? "영" : ( no > 0 ? "양수" : "음수"));

 

728x90
반응형
LIST