🌞주석문
- 프로그램 실행에 영향을 끼치지 않고 설명을 위한 문장
- 한 줄 주석 (//)
- 여러 줄 주석 (/* */)
- 프로그램에 오류가 있을 때에 오류를 해결하기 위해 의심스러운 부분을 주석으로 처리해 가며 오류를 해결할 수 있다.
🌞변수와 상수
- 프로그램 실행 중 발생한 데이터를 컴퓨터 메모리에 저장시켜야 하는 경우가 있다면 그 때 변수를 만든다.
- 변수는 때에 따라서 그 값이 변할 수 있다.
- 상수는 고정된 값, 특정 값을 말한다. 변할 수 없다.
- 변수를 만들 때는 그 변수 안에 어떤 성격의 값을 넣을 것인지 정해야한다. --> 자료형
ex) int a; //a는 변수
a = 10; //10은 상수
때에 따라 변수 a에는 다른 값을 저장시킬 수 있다.
🌞자바의 자료형
1. 기본 자료형(8가지)
1) boolean
- 참인지, 거짓인지 상태를 위한 자료형
- 참: true 거짓: false //두 가지 값만 출력 가능
2) char
- 하나의 문자를 표현하기 위한 자료형(자바는 문자열과 하나의 문자에 대한 처리를 다르게 함)
- 여러 글자로 구성된 문자열 -> 참조자료형인 String 이용
하나의 문자를 위한 자료형 -> char
- char는 홋따옴표(' ')로 묶어줘야한다. // 한 글자만 저장 가능
- String은 쌍따옴표(" ")로 묶어줘야 한다. //여러 글자 저장 가능
- char first = data.charAt(0); //hello 문자열에서 글자를 반환(0번지 인덱스를 가리키므로 h 출력)
✨정수를 위한 자료형✨
3) byte
- 1byte (8bit)
- -2의 7승 ~ 2의 7승 -1 (-128 ~ 127)
- overflow: 표현할 수 있는 최대값을 넘은 경우
- underflow: 표현할 수 있는 최소값을 넘은 경우
4) short
- 2byte (16bit)
- -2의 15승 ~ 2의 15승 -1
5) int
- 4byte (32bit)
- -2의 31승 ~ 2의 31승 -1
- 자바에서는 정수 값이 오면 기본적으로 int로 취급
- 정수 나누기 정수는 결과가 정수
- 만약, 소수점 이하의 값을 가져야 한다면 둘 중 하나를 실수로 변환한 후에 연산 수행.
6) long
- 8byte (64bit)
- -2의 63승 ~ 2의 63승 -1
✨실수를 위한 자료형✨
7) float
- 4byte
- 소수점 6번째 자리까지 표시
8) double
- 8byte
- 소수점 15번째 자리까지 표시
- 자바에서는 실수가 오면 기본적으로 double로 처리.
자료형이 서로 다른 것 끼리 연산을 하면, 그 결과는 그 중에 자료형이 큰 값으로 출력된다.
ex) int(4byte) + double(8byte) ==> double
🌞식별자
- 변수 이름, 클래스 이름, 메소드 이름 등 이름을 정해주는 것을 의미
- 다른 것하고 구별하기 위하여 이름을 정해준다.
- 식별자에는 한글, 영문, 숫자, 기호(_ , $)로 구성될 수 있지만, 가급적 한글은 사용하지 않는 것을 권장
- 첫 글자는 영문이나 로 사용할 수 있다. (가급적 보다는 영문 사용 권장)
- 클래스 이름의 첫 글자는 영문 중 '대문자'로 시작
- 변수명이나 메소드 이름의 첫 글자는 '소문자'로 시작
- 이름을 정할 때 가능하면 의미있는 이름으로 정하기 -> 두 개의 단어 이상으로 식별자를 정해줄 수 있다.
- 식별자는 공백을 포함시킬 수 없다. (ex. int my age = 20;)
- int my_age = 20; 또는 int myAge = 20로 변경
- 단어와 단어 사이를 구분하기 위해 _ 를 사용하거나 첫 번째 단어를 제외한 각 단어의 시작 글자를 대문자로 지정
🌞연산자
✨산술연산자✨
+ - * / %
✨증감연산자✨
- ++ : 변수 자신에 +1을 하여 다시 변수에 저장
- -- : 변수 자신에 -1을 하여 다시 변수에 저장
- 증감연산자가 변수명 앞이나 뒤에 올 수 있다.
- 증감연산자 단독으로 사용할 때는 앞이나 뒤에와도 동일한 값이 나온다.
- 하지만, 다른 연산자와 같이 사용할 때는 의미가 달라진다.
- 변수명 앞에 오면 먼저 증감 후 다른 연산을 실행
- 변수 뒤에 오면 다른 연산을 먼저 실행 후 나중에 증감 연산을 실행
✨비교연산자✨
- 두 개의 값의 크기를 서로 비교하는 연산자
> >= < <= == !=
- 비교연산자는 선택문의 조건이나, 반복문의 조건식에서 주로 사용
✨논리연산자✨
- 판별해야 하는 조건식이 두 개 이상일 때 사용하는 연산자
- 두 개의 조건식을 모두 만족해야 할 때 논리곱(&&)연산자 이용
- 두 개의 조건식 중 하나만 만족할 경우 논리합(||)연산자 이용
- && : 논리곱 ~이고 AND
- || : 논리합 ~이거나 OR
- ex) if (조건식1 && 조건식2)
- ex) if (조건식1 || 조건식2)
✨비트연산자✨
- 비트의 상태(0,1)에서 동작하는 연산자 (2진수 이용)
- & : 비트곱 : 두 개의 비트의 상태가 모두 1일 때만 결과가 1
- | : 비트합 : 두 개의 비트의 상태가 한 개라도 1일 경우 결과 1
- ^ : 비트차 : 두 개의 비트 상태가 서로 다를 때 결과가 1
✨비트이동연산자✨
- << : 왼쪽으로 비트를 이동시키는 연산자
- .>> : 오른쪽으로 비트를 이동시키는 연산자 (2진수 이용)
✨ShortCut Operation✨
-
논리곱을 위하여 &&와 &를 사용할 수 있다.
-
논리합을 위하여 ||와 |를 사용할 수 있다.
-
그러나, &&와 & / ||와 |는 동작 방식이 다르다.
-
(조건식1 && 조건식2) ==> 조건식 1도 참이고 조건식2도 참일 때에 전체 참이 된다.
- 그런데 만약, 조건식1을 판별했을 때 거짓이라면 조건식2를 따질 필요가 없다.
- && 연산자는 만약 조건식1이 거짓이라면 조건식2는 아예 수행하지 않는다.
-
(조건식1 & 조건식2) ==> 조건식1이 거짓이라도 조건식2를 일단 실행한다.
-
(조건식1 || 조건식2) ==> 둘 중에 한개라도 참이면 전체가 참이된다.
- 만약 조건식1을 판별했더니 참이라면 조건식2를 수행하지 않는다.
-
(조건식1 | 조건식2) ==> 조건식1이 참이라도 조건식2를 판별한다.
-
따라서 &&, ||는 shortcut operation이라고 한다.
✨복합치환연산자✨
- 변수에 어떠한 연산을 수행하여 그 결과를 다시 그 변수에 대입하는 연산자
+= -= *= /= %= ...
✨삼항연산자(조건식연산자)✨
- 조건식에 동작시킬 항을 선택하기 위한 연산자
- 간단한 if else를 대신할 수 있다.
(항1) ? 항2 : 항3
- 항1에는 조건식이 온다.
- 만약, 항1이 참이라면 항2를 동작하고, 거짓이면 항3을 동작
🌞제어문
- 프로그램 실행 중에 문장을 제어하기 위한 문장
- 선택문, 반복문, break, continue
🌞선택문
- 상황에 따라 실행시키고자 하는 명령어들을 선택 시키고자 할 때 사용
- if, switch
🌞if문
if(조건문) {
조건식이 참일 때 동작할 명령어(들)
} else {
조건식이 거짓일 때 동작할 명령어(들)
}
- 이 때, 동작할 명령어가 1개 밖에 없을 때에는 { }를 안 해도 된다.
- 그러나, 동작할 명령어가 2개 이상일 때에는 { }를 반드시 해야한다.
🌞중첩 if문
- if문 속에 또 다른 if문이 올 수 있다. (중첩 if문 사용)
🌞다중 if else
if(조건식)
명령1;
else if(조건식2)
명령2;
...
else