Java교육 내용정리 1일차_2강

J3nn W·2022년 4월 12일
0

Java 교육

목록 보기
2/9
post-thumbnail

2강 내용정리

1. 식과 연산자

여러가지 계산을 수행하기 위한 " 식과 연산자 " 와, 키보드로 부터 문자를 입력 받거나, 화면에 문자를 출력
난수를 생성하는 등의 "명령문"
계산문
계산문이란, 변수나 값을 이용하여 여러가지 계산을 컴퓨터에 수행하기 위한 문장
사칙연산 뿐만 아니라 변수에 값을 대입하는 것으로 컴퓨터에게는 일종의 계산 셈인 것.
예제)1-1

int a;
int b;
a = 20;
b = a + 5; ( expression 식 표현)
System.out.println(a);
System.out.println(b);

*expression 이란?

식은 값을 기술하는 것으로 식은 반드시 컴파일러에 의해 값으로 평가 될수 있어야 한다.
식은 하나의 값으로 치환 된다. 함수 호출 (method calls)m객체 할당(object allocations) 산술식이 모두 포함된것.

예제 )1-2

int i, j;
i = 5;
j = (i = 5);

i=5; 하나만 놓고 보면, 의미적으로는 변수 I 값을 할당하는 기능을 하고, 자바에서 모든 문장의 끝에는 세미콜론이
붙는다.

예제 1-2의 두번재 라인에서 세미콜론이 붙여지지 않을때 오류 발생 !
예제 1-2의 세번째 라인에서는 i=5에 세미콜론이 붙지 않는다. 이때 i=5는 j 에 할당되는 값으로 환원이 되고 식으로 사용이 된것.
하나의 식으로 구성된 문장은 존재 하지만 이렇게 하나의 식으로 구성된 문장을 expression statement 라고 표현 한다.

예제) 1-3 expression statement

//Increment and decrement expressions
num++;
++num;
num--;
--num;

//Assignment expressions
num = 200;
num *= 20;

//Method invocation expressions
System.out.println("This is a statement");
someMethod(param1, param2);

2. 식의 구성요소

2-1 연산자와 피연산자

b = a+ 5;

파연산자란 ?

변수나 값이 라는 표현보다 좀더 명확히 하기 위해 피연산자에서 중요한 " 리터럴(literal)" 을 알아야 한다.

예제)2-1

// 0x를 붙이면 16진수
int a = 0x11; //17
// 0b를 붙이면 2진수
int b = 0b0011; // 3
// 알기 쉽게 _를 붙이는 것도 가능하다.
long price = 2_000_000; // 2,000,000원 
//(이를 언더바를 이용한 표기는 가독성을 더하기 위한 것)

예제)2-2


연산을 실행하는
+(더하기),
-(빼기),
*(곱하기),
/(나누기),
…등의 기호를 연산자(operator)라고 하고,
연산의 대상이 되는 것을 피연산자(operand)라고 한다.
아래와 같은 식에서 x, y는 피연산자이고 +는 연산자이다.

예제)2-3

2-2 산술 연산자

산술연산자

연산자 의미 + 더하기 - 빼기 곱하기 / 나누기 % 나머지 ++ 1증가 – 1감소
곱하기(
), 나누기(/)와 나머지(%) 연산자는 더하기(+)와 빼기(-) 연산자보다 우선순위를 갖는다.
괄호는 표현식을 묶는데 사용한다.

예제) 2-4

public class pre1{
public static void main(String[] args){
System.out.println(1 + 2 * 3); // 7
System.out.println((1 + 2) * 3); // 9
}
}

예제) 2-5

public class pre2{
public static void main(String[] args){
int x = 1;
int y = 0;
y = x++; // 표현식이 끝나면 x를 1증가
System.out.println(x);
System.out.println(y);
x = 1;
y = 0;
y = ++x; // x를 1증가후 표현식을 실행
System.out.println(x);
System.out.println(y);
	}
}

예제 2-5 에서 나온 ++,– 연산자의 경우 위치에 따라 연산방법이 다르다. (연산자의 위치가 앞에 있는 경우와 뒤에 있는경우)

3. 형변환

형이 맞지 않는데 에러가 발생하지 않는 이유는, java가 식을 계산하는 과정에서 자동적으로
형을 변환하고 있기때문 이다.
1. 대입 할때에 자동형 변환
2. 명시적 형변환
3. 연산시에 자동형변환

예제)3-1

double d = 3;
String s = "베스트" + 3;
/*
결과값 출력시
" 베스트3 " 로 출력 된다.
*/

작은 타입의 값을 큰 타입의 변수에 대입 할 경우에 자동형변환이 일어난다

예제)3-2

float f = 3;
double d = f;
System.out.println(f);
System.out.println(d);

결과값 출력시 ___

4.강제 형변환

예제 ) 4-1


-> 붉은 표시가 나타난 예제와 같이 앞에 형이 맞지않아 오류 발생 !
-> 숫자 앞에 (int) 를 써주면 오류가 사라진다.
예제 4-1과 같이 (int)를 캐스트 연산자 라고 한다.

profile
New Dev. && NFT Artist

0개의 댓글