소스작성 (파일명.java) -> 컴파일(자바-바이트로 번역) -> 파일명.class -> 실행
(바이너리: 0, 1 / 바이트: 16진수(0~9, a~f))
* 자바코드작성법
1. 모든 코드는 class 안에 있어야 한다.
2. 소스 파일의 이름은 public class 이름과 동일해야 한다.
3. 실행하려면 main()메서드 하나는 꼭 있어야 한다.
4. public class는 한 파일에 하나만 만들 수 있다.
* 주석
// 한 줄 주석
/* 여러 줄 주석 처리 */
1. 변수
- 값 저장할 메모리
- 사용하기 전에 먼저 선언 (값을 담기 위한 메모리 자리 할당)
//변수선언
- 타입 변수명;
1) 타입
: 데이터 종류 (정수형, 실수형, 불형 etc..)
- 숫자타입 (1바이트 = 8비트 00000000)
- (소숫점X) 정수(byte(1B), short(2B),주로 int(4B),긴 숫자 long(8B))
- (소숫점O) 실수(float(4B), double(8B))
- 문자타입
- 문자1개 'a', 'b', 'c' : char(2B)
- 문자열 "abc", "a" : 주로 String(4B) ------ 클래스 타입 (소문자는 기본 타입)
- 불타입 : boolean(1B)(true, false)
2) 변수, 함수, 클래스 이름 규칙
- 영어, 한글, 숫자, $, _ 를 조합하여 만듦
- 대소문자 구분 (aa=/=Aa)
- 변수는 주로 소문자, 클래스는 주로 대문자로 시작
- 숫자로 시작할 수 없음
- 예약어 사용 불가
ex> max(O), 최대값(O), max1(O), 1max(X), max_(O), _max(O), if(X), else(X)
* 변수선언 예
int age; //int 타입 선언
age = 10; //값 할당
String name; //String 타입 선언
name = "aaa";
boolean flag; //boolean 타입 선언
flag = true;
boolean flag = true; //변수 선언과 값 할당 동시에 가능
2. 연산자
1) 산술 연산자
+, -, *, /(나눗셈 후 몫 반환), %(모드-나눗셈 후 나머지값 반환)
우선순위대로 실행 (=가 가장 낮음)
5/2 => 2
5%2 => 1
2) 단항 연산자
++: 한 단위 증가
int a = 5, b;
b = a+1;
a++; //a = a+1
--: 한 단위 감소
a--; //a = a-1
int a = 5, b = 0;
b = a++; //후위연산자 (++을 나중에 실행. 5를 b에 할당한 뒤에 a가 증가. b=5, a=6)
b = ++a; //선위연산자 (++먼저. a를 먼저 증가시키고 그 결과를 b에 할당. a=6, b=6)
System.out.println(a++);
//10출력, 그 이후 a값 11됨
System.out.println(++a);
//a값 11 되고 11로 출력
3) 비교 연산자
>, >=, <, <=, ==, !=(같지않다)
두 값을 비교한 결과를 true, false로 반환
4) 관계 연산자
&&: 둘 다 true이어야 true, 하나라도 false이면 false
<진리표>
&& t f
t t f
f f f
||: 하나라도 true이면 true
<진리표>
|| t f
t t t
f t f
!: 반전 (not)
int a = 10;
! (a > 10) //-> true
//성인여성만 true
char gender = 'f';
int age = 15;
boolean result = (gender=='f') && (age>=20);
System.out.println(result);
//여성이거나 성인
result = (gender=='f') || (age>=20);
System.out.println(result);
5) 대입 연산자
= 오른쪽 값을 왼쪽에 할당
+= a+=1 //a=a+1 연산과 대입을 한 번에
-= a-=1 //a=a-1
*= a*=1 //a=a*1
/= a/=1 //a=a/1
%= a%=1 //a=a%1
6) 삼항 연산자
(t/f조건) ? 실행문1 : 실행문2 ;
int num = 5;
String res = (num % 2 == 0) ? "짝수" : "홀수" ;
System.out.println(num + "는 " + res);
==============================
(print)
5는 홀수
소스작성 (파일명.java) -> 컴파일(자바-바이트로 번역) -> 파일명.class -> 실행
(바이너리: 0, 1 / 바이트: 16진수(0~9, a~f))
* 자바코드작성법
1. 모든 코드는 class 안에 있어야 한다.
2. 소스 파일의 이름은 public class 이름과 동일해야 한다.
3. 실행하려면 main()메서드 하나는 꼭 있어야 한다.
4. public class는 한 파일에 하나만 만들 수 있다.
* 주석
// 한 줄 주석
/* 여러 줄 주석 처리 */
1. 변수
- 값 저장할 메모리
- 사용하기 전에 먼저 선언 (값을 담기 위한 메모리 자리 할당)
//변수선언
- 타입 변수명;
1) 타입
: 데이터 종류 (정수형, 실수형, 불형 etc..)
- 숫자타입 (1바이트 = 8비트 00000000)
- (소숫점X) 정수(byte(1B), short(2B),주로 int(4B),긴 숫자 long(8B))
- (소숫점O) 실수(float(4B), double(8B))
- 문자타입
- 문자1개 'a', 'b', 'c' : char(2B)
- 문자열 "abc", "a" : 주로 String(4B) ------ 클래스 타입 (소문자는 기본 타입)
- 불타입 : boolean(1B)(true, false)
2) 변수, 함수, 클래스 이름 규칙
- 영어, 한글, 숫자, $, _ 를 조합하여 만듦
- 대소문자 구분 (aa=/=Aa)
- 변수는 주로 소문자, 클래스는 주로 대문자로 시작
- 숫자로 시작할 수 없음
- 예약어 사용 불가
ex> max(O), 최대값(O), max1(O), 1max(X), max_(O), _max(O), if(X), else(X)
* 변수선언 예
int age; //int 타입 선언
age = 10; //값 할당
String name; //String 타입 선언
name = "aaa";
boolean flag; //boolean 타입 선언
flag = true;
boolean flag = true; //변수 선언과 값 할당 동시에 가능
2. 연산자
1) 산술 연산자
+, -, *, /(나눗셈 후 몫 반환), %(모드-나눗셈 후 나머지값 반환)
우선순위대로 실행 (=가 가장 낮음)
5/2 => 2
5%2 => 1
2) 단항 연산자
++: 한 단위 증가
int a = 5, b;
b = a+1;
a++; //a = a+1
--: 한 단위 감소
a--; //a = a-1
int a = 5, b = 0;
b = a++; //후위연산자 (++을 나중에 실행. 5를 b에 할당한 뒤에 a가 증가. b=5, a=6)
b = ++a; //선위연산자 (++먼저. a를 먼저 증가시키고 그 결과를 b에 할당. a=6, b=6)
System.out.println(a++);
//10출력, 그 이후 a값 11됨
System.out.println(++a);
//a값 11 되고 11로 출력
3) 비교 연산자
>, >=, <, <=, ==, !=(같지않다)
두 값을 비교한 결과를 true, false로 반환
4) 관계 연산자
&&: 둘 다 true이어야 true, 하나라도 false이면 false
<진리표>
&& t f
t t f
f f f
||: 하나라도 true이면 true
<진리표>
|| t f
t t t
f t f
!: 반전 (not)
int a = 10;
! (a > 10) //-> true
//성인여성만 true
char gender = 'f';
int age = 15;
boolean result = (gender=='f') && (age>=20);
System.out.println(result);
//여성이거나 성인
result = (gender=='f') || (age>=20);
System.out.println(result);
5) 대입 연산자
= 오른쪽 값을 왼쪽에 할당
+= a+=1 //a=a+1 연산과 대입을 한 번에
-= a-=1 //a=a-1
*= a*=1 //a=a*1
/= a/=1 //a=a/1
%= a%=1 //a=a%1
6) 삼항 연산자
(t/f조건) ? 실행문1 : 실행문2 ;
int num = 5;
String res = (num % 2 == 0) ? "짝수" : "홀수" ;
System.out.println(num + "는 " + res);
==============================
(print)
5는 홀수