본격적인 JAVA 공부가 시작되었다!
변수를 사용하는 방법은 "선언"과 "할당"의 두 영역으로 구분
변수의 선언
-> 선언은 데이터 형과 사용하고자 하는 변수의 이름을 지정한 후, 세미콜론( ; )으로 한 라인을 종료
데이터형 변수이름;
int num1;
변수의 할당
-> 선언된 변수에 원하는 값을 대입하는 과정을 의미
-> 값의 대입은 대입연산자("=")를 사용하여, 우변에서 좌변으로 대입
변수이름 = 값;
num1 = 100;
선언과 할당의 통합
데이터형 변수이름 = 값;
int num1 = 100;
String 형의 변수를 선언하고, 쌍 따옴표로 묶인 값을 대입
빈 문자열이나 공백도 문자열 데이터이다.
String msg = " 안녕하세요. 자바 "
-> 문장을 표현, 공백 포함
String blank = "";
-> 빈 문자열 값 가능
String age = "25";
-> 숫자 값이 쌍따옴표로 묶였다면 문자열이다.
문자열 데이터의 덧셈
-> 문자열 + 문자열 : 두 문장을 하나로 합쳐준다.
String language = "JAVA";
String language = "JA" + "VA";
문자열 + 기본자료형
-> 기본 자료형의 데이터가 문자열로 변환되고, 두 문장이 합쳐진다.
int age = 20;
String name = "자바학생";
String result = name + age;
-> "자바학생" + 20 -> "자바학생20"
변하지 않는 수
변수와 마찬가지로 메모리상에 존재하지만, 값이 변경될 수 없는 데이터
final 키워드를 사용하여 선언된 변수는 상수로 생성된다.
final int age = 20;
final long money = 1200000L;
final float PI = 3.14F;
메모리 상에 접근은 가능하지만, 할당한 값을 변경할 수는 없다. (읽기 전용)
public class Main {
public static void main(String[] args) {
int num1; // 변수 선언
num1 = 100; // 변수 할당
System.out.println("num1 : " + num1);
// 출력 -> num1 : 100
num1 = 200; // 변수의 재할당
System.out.println("num1 : " + num1);
// 출력 -> num1 : 200
int num2 = 200; // 변수 선언 + 할당
System.out.println("num2 : " + num2);
// 출력 -> num2 : 200
// 선언 + 할당 + 접미사의 사용
long num3 = 123456789000000000L;
double num4 = 128.D;
float num5 = 3.14F;
System.out.println("num3 : " + num3);
System.out.println("num4 : " + num4);
System.out.println("num5 : " + num5);
/*
출력
num3 : 123456789000000000
num4 : 128.0
num5 : 3.14
*/
int width = 100; // 일반변수
final double PI = 3.14D; // 상수
System.out.println("width : " + width);
// width : 100
System.out.println("PI : " + PI);
// PI : 3.14
width = 200; // 값의 변경
// 이 라인은 에러가 발생한다.
// PI = 3.141582d; -> 상수에 값을 재할당을 해서
System.out.println("width : " + width);
// width : 200
System.out.println("PI : " + PI);
// PI : 3.14
public class Main {
public static void main(String[] args) {
int num1 = 12;
int num2 = 8;
int result1 = num1 + num2; // + (덧셈)
int result2 = num1 - num2; // - (뺄셈)
int result3 = num1 * num2; // * (곱셈)
int result4 = num1 / num2; // / (나눗셈 - 몫)
int result5 = num1 % num2; // % (나눗셈 - 나머지)
System.out.println("result1 : " + result1);
System.out.println("result2 : " + result2);
System.out.println("result3 : " + result3);
System.out.println("result4 : " + result4);
System.out.println("result5 : " + result5);
}
}
result1 : 20
result2 : 4
result3 : 96
result4 : 1
result5 : 4
// 0 으로 나누기
int num = 100;
int zero = 0;
int result = num / zero; // 에러 : 0으로 나누어서 에러
int rewult2 = zero / num; // 0
어떤 변수(x)의 값에 대한 계산 결과를 다시 자기 자신에게 대입하고자 하는 경우의 약식 표현이다.
int x = 100;
x = x + 5;
-> 단항연산자
int x = 100;
x += 5;
단항 연산자는 모든 사칙 연산자에 표현 가능
-> +=, -=, *=, /=, %=
public class Main {
public ststic void main(String[] args) {
int source = 100;
source += 100; // source = source + 100; ,200
source -= 50; // source = source - 50; ,150
source *= 2; // source = source * 2; ,300
source /= 100; // source = source / 100; ,3
source %= 2; // source = source % 2; ,1
System.out.println("source : " + source);
}
}
source : 1
단항 연산자로 표현할 수 있는 식에서 계산 대상 값이 1인 경우, 덧셈과 뺄셈에 대해서는 다시 한번 축약 할 수 있다.
덧셈의 경우
x = x + 1;
x += 1;
x++;
++x;
뺄셈의 경우
x = x-1;
x -= 1;
x--;
--x;
"x++"와 "++x"의 차이
-> 증감연산자는 그 자체가 다른 연산식의 피연산자로 사용 가능
이때, 증감연산자의 표시 위치에 따라 결과가 서로 다르게 적용된다.
x++ / 증감연산자가 뒤에 표시되는 경우
-> 현재 x의 값을 먼저 수식에 적용하고, 나중에 x에 대한 1증가 처리를 한다.
int a = 100;
int x = 1;
int y = a + x++;
y : 101
x : 2
++x / 증감연산자가 앞에 표시되는 경우
-> 먼저 현재 x의 값을 1증가 시킨 후, 그 결과를 수식에 적용
int a = 100;
int x = 1;
int y = a + ++x;
y : 102
x : 2
public class Main {
public static void main(String[] args) {
int plus_num = 1;
plus_num = plus_num + 1;
plus_num += 1;
plus_num++;
++plus_num;
System.out.println("plus_num : " + plus_num);
int minus_num = 5;
minus_num = minus_num -1;
minus_num -= 1;
minus_num--;
--minus_num;
System.out.println("minus_num : " + minus_num);
-------------------------------------------------
// x1값과 y1값의 결과 확인
int a1 = 100;
int x1 = 1;
int y1 = a1 + x1++;
System.out.println("y1 : " + y1);
System.out.println("x1 : " + x1);
// x2값과 y2값의 결과 확인
int a2 = 100;
int x2 = 1;
int y2 = a2 + ++x2;
System.out.println("y2 : " + y2);
System.out.println("x2 : " + x2);
}
}
plus_num : 5
minus_num : 1
y1 : 101
x1 : 2
y2 : 102
x2 : 2
같다, 다르다, 크다(초과), 크거나 같다(이상), 작다(미만), 작거나 같다(이하) 에 대한 비교를 수행하는 연산자
같다 ==
다르다 !=
초과 >
이상 >=
미만 <
이하 <=
주어진 식이 참인지 거짓인지만 판별 가능 → 연산 결과는 boolean 값으로 생성
int x = 100;
int y = 1;
boolean result = x != y;
(true)
public class Main {
public static void main(String[] args) {
int num1 = 123;
int num2 = 456;
boolean result1 = num1 == num2; // F
boolean result2 = num1 != num2; // T
boolean result3 = num1 > num2; // F
boolean result4 = num1 <= num2; // T
System.out.println("result1 : " + result1);
System.out.println("result2 : " + result2);
System.out.println("result3 : " + result3);
System.out.println("result4 : " + result4);
}
}
result1 : false
result2 : true
result3 : false
result4 : true