자바 - 기본 연산자
미래의 자바 프로그래머 여러분, 환영합니다! 오늘은 자바 연산자의 흥미로운 세계에 뛰어들어보겠습니다. 아직 코드를 한 줄도 작성하지 않았다고 해도 걱정하지 마세요 – 저희는 맨 처음부터 시작하여 점진적으로 공부하겠습니다. 이 수업이 끝나면 여러분은 데이터를 전문가처럼 조작할 수 있을 것입니다!
연산자란 무엇인가요?
저희가 뛰어들기 전에, 연산자가 무엇인지 이해해보겠습니다. 프로그래밍에서 연산자는 컴퓨터가 특정한 수학적이거나 논리적인 조작을 수행하도록 지시하는 특수한 기호입니다. 이를 문장의 동사와 비유해보면 – 이들은 작업을 수행하는 것들입니다!
자바 산술 연산자
저희는 가장 익숙한 연산자부터 시작해보겠습니다 – 산술 연산자입니다. 이 연산자들은 여러분이 초등학교 때부터 사용하고 있었던 것들입니다!
덧셈 (+)
int apples = 5;
int oranges = 3;
int totalFruit = apples + oranges;
System.out.println("Total fruit: " + totalFruit);
이 코드는 다음과 같은 출력을 합니다: Total fruit: 8
여기서 우리는 +
연산자를 사용하여 사과와 오렌지를 더합니다. (보시죠? 프로그래밍에서 우리는 사과와 오렌지를 더할 수 있습니다!)
뺄셈 (-)
int startingMoney = 100;
int spentMoney = 25;
int remainingMoney = startingMoney - spentMoney;
System.out.println("Money left: $" + remainingMoney);
출력: Money left: $75
-
연산자는 하나의 값에서 다른 값을 뺍니다.
곱셈 (*)
int widgetPrice = 5;
int widgetQuantity = 7;
int totalCost = widgetPrice * widgetQuantity;
System.out.println("Total cost: $" + totalCost);
출력: Total cost: $35
*
연산자는 두 값을 곱합니다.
나눗셈 (/)
int pizzaSlices = 8;
int people = 3;
int slicesPerPerson = pizzaSlices / people;
System.out.println("Slices per person: " + slicesPerPerson);
출력: Slices per person: 2
/
연산자는 하나의 값을 다른 값으로 나눕니다. 자바에서 정수를 나눌 때는 가장 가까운 정수로 내림차순으로 처리함에 주의하세요.
나머지 (%)
int cookiesLeft = 10;
int peopleWantingCookies = 3;
int leftoverCookies = cookiesLeft % peopleWantingCookies;
System.out.println("Cookies left over: " + leftoverCookies);
출력: Cookies left over: 1
%
연산자는 나눗셈 후 남는 나머지를 제공합니다. 이는 숫자가 짝수인지 홀수인지 결정하거나, 값을 주기적으로 순환시키는 데 매우 유용합니다.
자바 관계 연산자
관계 연산자는 두 값을 비교하고 논리적 결과를 반환합니다 (true 또는 false). 이는 코드에서 결정을 내리는 데 필수적입니다.
동등한지 (==)
int age = 18;
boolean canVote = (age == 18);
System.out.println("Can this person vote? " + canVote);
출력: Can this person vote? true
==
연산자는 두 값이 동등한지 확인합니다.
동등하지 않은지 (!=)
String weather = "sunny";
boolean stayInside = (weather != "sunny");
System.out.println("Should I stay inside? " + stayInside);
출력: Should I stay inside? false
!=
연산자는 두 값이 동등하지 않은지 확인합니다.
더 큰지 (>)와 더 작은지 (<)
int playerScore = 85;
int highScore = 90;
boolean newHighScore = (playerScore > highScore);
System.out.println("New high score achieved: " + newHighScore);
출력: New high score achieved: false
>
연산자는 왼쪽 값이 오른쪽보다 큰지 확인하고, <
는 반대입니다.
더 크거나 동등한지 (>=)와 더 작거나 동등한지 (<=)
int requiredAge = 18;
int personAge = 18;
boolean canEnter = (personAge >= requiredAge);
System.out.println("Can the person enter? " + canEnter);
출력: Can the person enter? true
이 연산자들은 값이 다른 값보다 크거나 작거나 동등한지 확인합니다.
자바 논리 연산자
논리 연산자는 여러 조건을 결합할 수 있게 합니다.
AND (&&)
boolean hasTicket = true;
boolean hasID = true;
boolean canAttendConcert = hasTicket && hasID;
System.out.println("Can attend the concert: " + canAttendConcert);
출력: Can attend the concert: true
&&
연산자는 두 조건이 모두 true일 때만 true를 반환합니다.
OR (||)
boolean isWeekend = true;
boolean isHoliday = false;
boolean canSleepIn = isWeekend || isHoliday;
System.out.println("Can sleep in: " + canSleepIn);
출력: Can sleep in: true
||
연산자는 적어도 하나의 조건이 true일 때 true를 반환합니다.
NOT (!)
boolean isRaining = false;
boolean shouldTakeUmbrella = !isRaining;
System.out.println("Should take umbrella: " + shouldTakeUmbrella);
출력: Should take umbrella: true
!
연산자는 논리 값을 반전합니다.
대입 연산자
저희는 예제에서 기본 대입 연산자 =
를 사용해왔습니다. 하지만 자바는 대입을 결합한 다른 연산을 수행하는 접두사 연산자가 있습니다.
덧셈 대입 (+=)
int score = 0;
score += 10; // 이는 다음과 동일합니다: score = score + 10;
System.out.println("Current score: " + score);
출력: Current score: 10
다른 대입 연산자
자바는 -=
, *=
, /=
, %=
등이 비슷하게 작동합니다.
자바 연산자 우선순위 및 결합성
수학과 마찬가지로 자바 연산자는 우선순위가 있습니다. 예를 들어:
int result = 5 + 3 * 2;
System.out.println("Result: " + result);
출력: Result: 11
곱셈이 덧셈보다 먼저 일어나는 것은 수학에서도 마찬가지입니다.
다음은 연산자 우선순위의 간단한 표입니다 (높은 우선순위부터 낮은 우선순위 순):
우선순위 | 연산자 |
---|---|
1 | * / % |
2 | + - |
3 | < > <= >= |
4 | == != |
5 | && |
6 | |
7 | = |
기억하십시오, 여러분은 언제든지 괄호를 사용하여 연산의 순서를 명시적으로 지정할 수 있습니다:
int result = (5 + 3) * 2;
System.out.println("Result with parentheses: " + result);
출력: Result with parentheses: 16
이렇게 저희는 자바 연산자의 세계에 첫 걸음을 내딛었습니다. 이 작은 기호들은 여러분이 자바로 만들 수 있는 놀라운 일들의 블록입니다. 계속 연습하시고, 곧 이 연산자들을 결합하여 복잡한 문제를 해결하고 재미있는 프로그램을 만들 수 있을 것입니다. 코딩을 즐겨세요!
Credits: Image by storyset