package hello;
public class HelloJava {
// 프로그램 소스의 최소 단위(=class)
// 클래스 이름은 소스파일의 이름과 동일하게
// 영어/숫자/언더바(_)만 사용
// 첫 글자는 반드시 영어로
public static void main(String[] args) {
//프로그램의 시작점을 의미하는 블록 -> 메인메서드
System.out.println("Hello Java~");
System.out.println("Hello Java~");
System.out.println("자바시간");
System.out.println("프린트 작성");
// 콘솔에 문장을 출력하기 위한 명령어
// 문장을 표현하는 방법 -> 쌍따옴표로 묶는다.
}
}
"//"가 앞에 명시된 라인은 주석으로 인식
/⁎ 이 블록 안에서는 여러라인을 주석으로 처리할 수 있다. ⁎/
자료형 | 데이터 | ✔메모리 크기 | 기타 |
---|---|---|---|
✔boolean | 참조형 | 1byte | |
char | 문자 | 2byte | 잘 안씀, 문자 1개만 수용가능 |
byte | 정수 | 1byte | |
short | 정수 | 2byte | |
✔int | 정수 | 4byte | |
long | 정수 | 8byte | |
float | 실수 | 4byte | |
✔double | 실수 | 8byte |
int num;
num = 100;
- 대입연산자 (=): "같다"라는 뜻으로 x, 그릇에 데이터를 담는다는 뜻
int num = 100;
String msg = "안녕하세요. 자바"; <- 공백 포함 문장 표현
String blank = ""; <- 빈 문자열 값
String age = "20"; <- 20을 숫자가 아닌 문자열로 인식
int age = 20;
String name = "자바학생";
String result = name + age; -> 오류안남
-> "자바학생"+20
-> "자바학생20"
long money = 50000000L;
float Pi = 2.14F;
double lat = 128.32452D;
boolean user = true;
boolean isJapanese = false;
char c = '가';
int num1 = 100;
num1 = 200; // 재할당 -> 에러 x, 100-> 200으로 바뀜
int num1 = 300; // 재선언 및 재할당 -> 에러 / 그릇을 또 만들 수는 없기 때문에
int num1 = 100;
num1 = 200;
num2 = 300; //에러, num2 그릇 안 만들어짐
int num1; //에러x, 그릇 선언
int num2 = num1; //에러 , num1에 값이 없으므로 할당이 x
System.out.println(num1); //에러
final int age = 20;
final long money = 12000000L
final float pi = 3.14F;
final int AGE = 20;
age = 21; // 에러
더하기(+), 빼기(-), 곱하기(*), 나눗셈의 몫(/), 나머지(%)
cf. 10나누기3 = 몫 : 3, 나머지 : 1
-> 10/3 = 3
-> 10%3 = 1
->모든 수는 0으로 나누기 x
int x = 100
x = x + 5
--------------------------
int x = 100
x += 5;
단항 연산자는 모든 사칙 연산자의 표현이 가능
+= , -= , *= , /= , %=
덧셈
x = x + 1; x += 1; x++; ++x;
뺄셈
x = x - 1; x -= 1; x--; --x;
x++와 ++x의 차이
-> 증감 연산자는 그 자체가 다른 연산식의 피연산자
-> 증감연산자의 표시 위치에 따라 결과가 서로 다르게 적용됨
int a = 100;
int x = 1;
int y = a + x++; //100+1 그후에 x+1
System.out.println(y); //101
System.out.println(x); //2
int a = 100;
int x = 1;
int y = a + ++x; // ++x -> 2 그다음, 100+2
System.out.println(y); // 102
System.out.println(x); // 2
같다 ==
다르다 !=
초과 >
이상 >=
미만 <
이하 <=
int x = 100;
int y = 1;
boolean r = x < y;
System.out.println(r); //"false"
"AND" : &&
- 두 개의 boolean값을 비교해서 모두 true일 때 true
"OR" : ||
- 두 개의 boolean값을 비교해서 둘 중 하나라도 true일 때 true
int a = 100;
int b = 200;
int x = 5;
int y = 3;
boolean result1 = a != b || a == b;
boolean result2 = a < b && x > y;
boolean result3 = a < b && x < y;
boolean result4 = a > b || x > y;
boolean result5 = a > b || x < y;
System.out.println("result1 = " + result1); //"result1 = true"
System.out.println("result2 = " + result2); //"result2 = true"
System.out.println("result3 = " + result3); //"result3 = false"
System.out.println("result4 = " + result4); //"result4 = true"
System.out.println("result5 = " + result5); //"result5 = false"
cf. java에서 "!"는 부정을 나타냄
int a = 100; //정수형
float b = a; //정수형을 실수형에 대입가능한 이유 : 컴파일러의 암묵적 형변환
암묵적 형변환을 통해 어떤 변수가 더 큰 범위의 변수로 대입 가능
역방향(다운캐스팅)은 안됨 -> 명시적 형변환 필요
자료형 b = a; //에러
자료형 b = (변환할 자료형 형식)a;
double a = 3.14d;
int b = (int) a; // 3