사이먼's 코딩노트
[Java] 변수 / 연산자 본문
[변수]
- 변수는 데이터를 저장할 수 있는 특정 공간이라고 생각하면 좋다.
- 변수에는 공간이 매우 작기 때문에 값을 하나만 넣을 수 있다.
- Java에서 정수 타입을 가진 변수를 선언하고 싶다면 int x; 와 같이 작성하면 된다.
- 여기서 말하는 int는 integer의 줄임말이며 정수를 뜻한다.
- 변수 2개를 선언하고 각 변수에 숫자를 부여하는 구조는 아래와 같다.
class Main {
public static void main(String[] args) {
int x = 10; // x라는 변수에 10 값 선언
int y = 20; // y라는 변수에 20 값 선언
System.out.println("x : " + x);
System.out.println("y : " + y);
}
}
- 위 예시에서 // 하고 뒤에 씌여진 문장은 주석처리 되어있기 때문에 코드 동작 시 실제로 실행되지는 않는다.
- 변수 2개를 선언하고 하나의 출력문에 같이 출력할 때는 + 를 이용하여 작성한다.
- Java에서 = 은 같다라는 의미가 아니고 ~에 속한다 라고 생각하면 좋다.
- 같은 이름의 변수를 두 번 이상 선언하거나 특수문자로 변수를 지정하면 에러가 난다.
[연산자]
[사칙연산]
- + : 더하기
- - : 빼기
- * : 곱하기
- / : 나누기
[논리연산]
- == : 같다
- != : 다르다
- > : 크다(초과)
- < : 작다(미만)
- >= : 크거나 같다(이상)
- <= : 작거나 같다(이하)
- && : 그리고(and)
- || : 또는(or)
[연산자 우선순위]
- 우선순위가 높은 것이 먼저 실행된다.
- 사칙연산자가 논리연산자보다 우선순위가 높다.
- 곱하기와 나누기는 다른 사칙연산자 보다 우선순위가 높다.
- &&와 ||는 다른 논리 연산자보다 우선순위가 낮다.
- 앞에 있는 것이 먼저 실행된다.
[증감 연산자]
- i++; 는 i의 값을 1 증가시킨다.
- i--; 는 i의 값을 1 감소시킨다.
- i = i + 2; 는 i의 값을 2 증가시킨다.
- i += 2; 는 i의 값을 2 증가시킨다. (위와 같은 표현)
- i = i - 2; 는 i의 값을 2 감소시킨다.
- i -= 2; 는 i의 값을 2 감소시킨다. (위와 같은 표현)
[문제 1]
- Java를 활용하여 변수 a와 b의 값을 교체해봅시다.
- 처음 변수 a, b를 선언할 때 a는 5, b는 10이라는 값을 주었다.
- 문제의 목적은 변수 a와 b의 값을 교체하는 것이고 결과적으로 a는 10, b는 5이 출력되어야 한다.
- 변수의 값을 교체하기 위해선 a에 10, b에 5이라는 값을 직접 넣어주거나, 사칙연산을 사용하여 a에 5를 더하고, b에 5를 빼는 방법이 있다.
[문제 2]
- Java를 활용하여 변수 a와 b의 값을 교체해보자. 단, 사칙연산과 숫자를 사용하지 않고 교체해봅시다.
- 처음 변수 a, b를 선언할 때 a는 5, b는 10이라는 값을 주었다.
- 문제의 목적은 변수 a와 b의 값을 교체하는 것이지만, 사칙연산과 숫자를 쓰지 않는 조건이다.
- 사칙연산과 숫자를 쓰지 않기 위해서는 a와 b를 서로 swap 해야한다.
- swap 즉, 교환하기 위해서는 새로운 변수를 하나 추가해야한다.
- c라는 변수를 추가하고 기존 a에 있던 5를 c에 넣어준다. 그럼 현재 a와 c에는 5라는 값이 들어있다.
- a에는 10이라는 값이 들어가야되기 때문에 현재 b에 10이라는 값이 있어 a = b를 사용해서 a에 10이라는 값을 넣는다.
- 마지막으로 b에는 5라는 값이 들어가야되기 때문에 새로 추가했던 변수 c에 5라는 값이 있어 b = c를 사용해서 b에 5라는 값을 넣는다.
반응형
'Java > Java' 카테고리의 다른 글
[Java] 클래스와 메서드(1) (2) | 2024.01.29 |
---|---|
[Java] 객체지향 프로그램 (0) | 2024.01.24 |
[Java] 반복문(for, while) (0) | 2024.01.22 |
[Java] 조건문(if, else if, else) (0) | 2024.01.19 |
[Java] Java 기본구조 / System.out.println (0) | 2024.01.16 |