seong_hye, the developer

JAVA 기초 개념 (2) 본문

JAVA

JAVA 기초 개념 (2)

seong_hye 2021. 6. 28.
수식

 

: 변수, 상수, 연산자 등으로 구성된 식

- 항상 결과값을 가짐

- 수학에서의 식과 거의 같은 형태

 

x = 10;
y = 20;
sum = x + y; // 3문장 다 수식임

 


 

연산자

 

: 특정한 연산을 나타내는 기호 ( ex) +, - , *, / 등등)

<> 피연산자 : 연산의 대상

- 피연산자들에 대하여 지정된 연산을 수행하고 결과를 반환함

 

~ 대입 연산

 

: 왼쪽에 있는 변수에 오른쪽에 있는 수식의 값을 계산하여 저장함

- 대입 연산자는 할당 연산자 또는 배정 연산자라고 함

 

x = 10; // 상수 10을 변수 x에 대입함

 

 

~ 산술 연산

 

연산자 기호 의미
덧셈 + x와 y를 더함 x + y
뺄셈 - x와 y를 뺌 x - y
곱셈 * x와 y를 곱함 x * y
나눗셈 / x와 y를 나눔 x / y
나머지  % x를 y로 나눌 때의 나머지 값 x % y

 

- 사칙 연산자들은 이항 연산자라고 불리는데 두 개의 피연산자를 가지기 때문

* 나눗셈 연산자 /를 사용할 때는 주의해야 함 

     - 피연산자 중 하나라도 부동소수점형이면 전체의 계산이 부동소수점형 나눗셈이 됨 ex) 10.0 / 5 의 값은  2.0

     - 정수를 0으로 나누면 오류가 발생하면서 프로그램 실행이 중지됨

       + 부동소수점형을 0으로 나누면 무한대 값을 나타내는 NaN이 발생함

* 나머지 연산자 %를 이용해 짝수 검사를 많이 함

     - x % 2의 값이 0이라면 x는 2의 배수라는 말이기에 짝수임

 

~ 증감 연산자

 

: ++, --기호를 이용하여 변수의 값을 증가시키거나 감소시키는 연산자

- 피연산자의 앞이나 뒤에 올 수 있음

  단, 수식의 해석에 상당한 차이가 있음

 

연산자 의미
++i i값을 먼저 증가한 후에 다른 연산에 사용함  // 수식의 값은 증가된 i값
i++ i값을 먼저 사용한 후에 증가함  // 수식의 값은 증가되지 않은 원래의 i값
--i i값을 먼저 감소한 후에 다른 연산에 사용함  // 수식의 값은 감소된 i값
i-- i값을 먼저 사용한 후에 감소함  // 수식의 값은 감소되지 않은 원래의 i값

 

 

~ 관계 연산자

 

: 두 개의 피연산자를 비교하는데 사용됨

- 결과는 true(참) 아니면 false(거짓)으로 계산됨

 

연산자 기호 의미 사용 예
== x와 y가 같은가? x == y
!= x와 y가 다른가? x != y
> x가 y보다 큰가? x > y
< x가 y보다 작은가? x <y
>= x가 y보다 크거나 같은가? x >= y
<= x가 y보다 작거나 같은가? x <= y

 

 

~ 논리 연산자

 

: 여러 개의 조건을 조합하여 참인지 거짓인지를 따질 때 이용

 

연산자 기호 사용예 의미
&& x && y AND연산,  x와 y가 모두 참이면 참, 아니면 거짓
|| x || y OR연산, x나 y중에서 하나만 참이면 참, 아니면 거짓
! ! x NOT연산,  x가 참이면 거짓, x가 거짓이면 참

 


 

형변환

 

: 하나의 자료형을 다른 자료형으로 변환하는 방법

- 자동적으로 발생하기도 하고 강제적으로 변환하도록 할 수도 있음

 

~ 자동적인 형변환

: 확대 변환으로 더 큰 크기의 변수로 값을 이동하는 변환에 해당하는 안전한 변환

 

ex)

 

double d = 23;

 

23이 23.0으로 변환되어 변수 d에는 23.0이라는 값이 들어가있게 됨

아무런 정보도 손실되지 않음 but 정밀도를 잃어버릴 수 있음

 

~ 강제적인 형변환

- 형변환 연산자를 사용

+ 형변환 연산자는 변환하려는 값의 앞에 괄호를 치고 원하는 자료형을 적어주면 됨

 

y = (double)x;
i = (int) 12.5;

     

     - y 변수에 x에 들어있던 값이 double형으로 형변환되어 들어감

     - 변수 i에 소수점 이하가 없어지고 정수 부분만 남게 되어 12라는 정수 값만 들어감

 


 

우선 순위

 

- 우선적으로 계산되어야 하는 항목에 괄호를 쳐주는 것이 가장 안전한 방법임

- 괄호 () > 단항 ++,-- > 산술 +,-,*,/ > 관계 == > 논리 && > 삼항 ? > 배정 = > 콤마 , 순으로 기억하면 좋음 

 


 

결합 규칙

 

: 동일한 우선 순위의 연산이 있는 경우에 무엇을 먼저 수행하느냐에 대한 규칙

 

~ 왼쪽 우선 결합 규칙 : 왼쪽에서 오른쪽으로 수행함

ex) 이항 연산자

 

~오른쪽 우선 결합 규칙 : 오른쪽 연산자부터 먼저 수행하는 것

ex) 단항 연산자, 대입 연산자

 


 

문자열

 

:문자들의 모임

- 자바 언어에는 내장된 문자열 자료형이 없음 ~> String 클래스가 제공됨

  문자열은 참조 자료형에 해당됨

- String 객체들은 + 연산자를 이용하여 문자열과 문자열, 변수값과 문자열을 합침

 

String s1 = "Hello World";
String s2 = "I'm a new Java programmer!"
int age = 2021

System.out.println(s1 + age + s2);

 


 

입력과 출력

 

 

~ 입력하기

   - 대부분 Scanner 클래스 이용

  1. 프로그램의 첫줄에 다음과 같은 문자을 추가함

 

import java.util.*; // Scanner 클래스 포함

     

      - java.util 패키지에 포함된 모든 클래스를 포함시키고 있음

      - * 표시 : "모든"이라는 의미 

 

  2. System.in에 연결된 Scanner 객체를 다음과 같은 문장으로 생성함

 

Scanner input = new Scanner(System.in);

   

      - new 연산자 : 객체를 생성하는 연산자

 

  3. Scanner가 제공하는 다양한 메소드를 이용하여서 입력을 받으면 됨

 

System.out.print("문장을 입력하시오: ");
String line = input.nextLine(); // 한 줄을 읽음

String word = input.next(); // 한 단어를 읽음

System.out.print("나이를 입력하시오: ");
int age = input.nextInt(); // 정수를 읽음

 

~ 출력하기

   - println() : 문자열을 출력한 후에 줄을 바꾸는 메소드

   - print() : 문자열 출력 후에 줄을 바꾸지 않는 메소드

   

 + 출력 형식 지정자

 

형식 지정자 의미
%d 정수를 출력 System.out.printf("%d",10);
%f 실수를 표시 System.out.printf("%f",3.14);
%c 문자를 표시 System.out.printf("%c",'a');
%s 문자열을 표시 System.out.printf("%s","Hello");

 


 

'JAVA' 카테고리의 다른 글

JAVA 기초 개념 (3)  (0) 2021.07.01
JAVA 기초 개념 (1)  (0) 2021.06.28
Comments