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("프린트 작성");
// 콘솔에 문장을 출력하기 위한 명령어
// 문장을 표현하는 방법 -> 쌍따옴표로 묶는다.
}
}
(1) 주석문이란?
(2) 주석문의 종류 : 무엇을 사용하는 지는 자유
"//"가 앞에 명시된 라인은 주석으로 인식
/⁎
이 블록 안에서는 여러라인을 주석으로 처리할 수 있다.
⁎/
(1) 변수란?
(2) 자료형 (data type)
(3) 자료형이 가지는 의미
(4) 문자열 데이터
(5) 변수의 사용방법
"선언"과 "할당"으로 구분
변수의 선언 : 그릇을 만들어 이름 붙이기
- 데이터형(int, double...) + 변수 이름(원하는 이름) + ;
int num;
변수의 할당 : 그릇에 데이터 담기
- 선언된 변수에 원하는 값 대입
- 변수이름+ 대입연산자 (=) + 원하는 값 -> 우변에서 좌변으로 대입
num = 100;
🎈대입연산자 (=): "같다"라는 뜻으로 x, 그릇에 데이터를 담는다는 뜻
선언과 할당의 통합
- 데이터형 + 변수이름 + 대입연산자 (=) + 값 + (;)
int num = 100;
문자열 데이터
- String + 쌍따옴표로 묶인 값 대입
- 빈 문자열 / 공백도 데이터
String msg = "안녕하세요. 자바"; <- 공백 포함 문장 표현
String blank = ""; <- 빈 문자열 값
String age = "20"; <- 20을 숫자가 아닌 문자열로 인식
문자열 데이터의 덧셈
- 문자열 + 문자열 : 두 문장을 하나로 합쳐준다.
String language = "JA"+" VA"; -> "JA VA"
문자열 + 기본자료형
- 기본자료형의 데이터가 문자열로 변환 & 합쳐진다.
```
int age = 20;
String name = "자바학생";
String result = name + age; -> 오류안남
-> "자바학생"+20
-> "자바학생20"
```
- 변수 이름 명명 규칙
- 변수 이름은 영문, 숫자, "_", "$" 만 사용 가능
- 변수 이름 첫글자 : 숫자 x
- 대/소문자 구분 & 오타주의
- 자바에서 사용하는 예약어 사용 x cf. int, class, public 등등
- 클래스 이름 규칙도 동일
(6) 변수의 할당
long, float, double은 다른 데이터 형과의 구별을 위해(for 가독성) 값 뒤에 데이터형의 첫 글자를 접미사로 가질 수 있다.
접미사는 대/소문자 가리지 않지만 가급적 대문자
long money = 50000000L;
float Pi = 2.14F;
double lat = 128.32452D;
boolean user = true;
boolean isJapanese = false;
char c = '가';
(7) 값의할당 방법
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); //에러
(8) 상수 = 변하지 않는 수 // 발생할 수 있는 오류의 수를 줄여줌
final int age = 20;
final long money = 12000000L
final float pi = 3.14F;
final int AGE = 20;
age = 21; // 에러
(1) 연산자
더하기(+), 빼기(-), 곱하기(*), 나눗셈의 몫(/), 나머지(%)
cf. 10나누기3 = 몫 : 3, 나머지 : 1
-> 10/3 = 3
-> 10%3 = 1
->모든 수는 0으로 나누기 x
(4) 단항 연산자
int x = 100
x = x + 5
--------------------------
int x = 100
x += 5;
단항 연산자는 모든 사칙 연산자의 표현이 가능
+= , -= , *= , /= , %=
(5) 증감 연산자
덧셈
x = x + 1; x += 1; x++; ++x;
뺄셈
x = x - 1; x -= 1; x--; --x;
- 증감 연산자는 그 자체가 다른 연산식의 피연산자
- 증감연산자의 표시 위치에 따라 결과가 서로 다르게 적용됨
x++ 경우 : 증감연산자가 뒤
- x의 값을 수식에 먼저 적용한 뒤, x에 대한 1증가처리
int a = 100;
int x = 1;
int y = a + x++; //100+1 그후에 x+1
System.out.println(y); //101
System.out.println(x); //2
++x 경우 : 증감연산자가 앞
- x 값을 1증가 시키고 그 뒤에 수식 적용
int a = 100;
int x = 1;
int y = a + ++x; // ++x -> 2 그다음, 100+2
System.out.println(y); // 102
System.out.println(x); // 2
(6) 비교 연산자
같다 ==
다르다 !=
초과 >
이상 >=
미만 <
이하 <=
int x = 100;
int y = 1;
boolean r = x < y;
System.out.println(r); //"false"
(7) 논리 연산자
cf. "AND" = 로그인 할 때, ID도 true하고 "AND" PW도 true해야 TRUE
"OR" = 잠실 갈 때, 2호선 "OR" 8호선 타면 TRUE
"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에서 "!"는 부정을 나타냄
(1) 형변환이란?
(2) 암묵적 형변환
int a = 100; //정수형
float b = a; //정수형을 실수형에 대입가능한 이유 : 컴파일러의 암묵적 형변환
(3) 명시적 형변환
자료형 b = a; //에러
자료형 b = (변환할 자료형 형식)a;
double a = 3.14d;
int b = (int) a; // 3