소스코드: 사람이 만들었을 때 읽을 수 있는 코드
·일반적인 프로그래밍 언어의 경우
소스가 컴파일이라는 과정을 통해 변형되어 확장명이 exe(실행가능)
소스코드 --> 컴파일 --> .exe
·자바의 경우
소스코드 --> javac --> Byte --> 인터프리터로 .exe라는 확장명의 파일을 만들지 않고 실행 가능하게 함
일반적인 프로그래밍 언어는 파일명.exe가 없으면 실행되지 않는다.
자바는 컴파일 후 인터프리터의 도움을 받아 실행을 한다. 확장명이class, class는 인터프리터로 실행이 된다.
[요약] Java
souece code --(compiler)--> class(byte code) -- (interpreter) --> 실행
[복습]
*자료형 : 용량과 함께 반드시 기억할 것
1) 기본 자료형
-정수: byte(1), short(2), int(4), long(8)
-문자형: char(2)
-실수: float, double
-불린: boolean
2) 참조 자료형 (reference)
- 배열 (Array)
- 클래스 Class :
String(문자열, 가장 많이 사용하는 클래스) : " " 안에 들어있는 0개 이상의 문자들의 집합
- Enum
*값(리터럴), 상수
-정수형 : 1, 2, 10 ...
-문자형 : ' '
-실수형
-불린형
어긋날 경우, 오류가 난다.
자바의 기본
: 클래스, 자바는 클래스로 이루어져 있다.
소수점은 무조건 큰 데이터 타입을 사용하자!
float(4), double(8)
float형에 F를 삽입하면서 데이터 타입을 맞춰줌
★연산의 기본 타입 : int와 double★
char는 문자 1개만 나타낼 때 사용하는 자료형
Class String 문자열
자바의 주석: /**/(여러줄 주석) or //(한 줄 주석)
문서주석: /**
/**
* 설명을 위한 주석(문서주석)
*/
메소드 혹은 클래스 위에 설명을 위해 사용
[이스케이스 시퀀스]
\t | 수평 탭 |
\n | 개행 |
\' | ' |
\" | " |
\\ | 원 표시 |
\t
\n
문자열 안에서도 사용 가능하다.
" "를 나타낼 때도 사용. 그러나 지저분해서 사용을 추천하지는 않는다.
[식별자]: 변수의 이름
1, 변수의 이름을 붙인다.
2. 변수의 형을 지정한다.
-변수명은 소문자로 시작.
-변수명은 무조건 영어만 사용한다.
[변수에 값 대입하기]
값을 대입
변수 이름 = 식(expression) ;
name = "저팔계"
"=" 의 왼쪽은 무조건 변수명이 와야한다.
"=" 의 오른쪽은 값이 와도 되고, 문자열이 와도 된다.
int a,b,c;
a = b = c = 10;
오른쪽 값인 c->b->a 순으로 값 10을 대입함(순서)
a = b = c = 10; 과
a = 0;
b = 0;
c = 0; 는 결국 같은 표현
[문제1]
내가 실수한 부분
int kor = 90;
int eng = 80;
이렇게 작성함
데이터타입과 함께 변수를 선언하면 대입할 때, 따로 데이터타입을 넣을 필요가 없다.
[연산자]
1) 피연산자의 개수로,,
·단항 연산자 :피연산자가 하나. - +
int a = 10;
a = -a; //연산자가 2개인 셈.
-a로만 사용하면 안된다.
·이항 연산자 : - + * / %
·삼항 연산자 :
문자열1 + 숫자 ===> 하나의 문자열로 만듬 "값" + 10 ==> "값 10"
숫자 + 문자열1 ===> 하나의 문자열로 만듬 10 + "살" ==> "10살"
문자열1 + 문자열2 => "이름" + " " + "홍길동" ==> "이름 홍길동"
2) 연산자는 우선순위가 있다. 그리고! 결합순서가 있다.
일반적) 좌 -> 우
"-" 때문에 오류가 나는 중
"-"는 문자열에서는 연산이 불가능하다.
-위에서는 "+"가 더하기 연산자가 아닌 문자를 붙이는 방법으로 사용되었다.
-우선순위를 ( )를 이용해 연산 후 계산된 값으로 출력된다.
3) 연산자는 내부적으로 타입을 맞춘 후 연산을 실시
자동으로 작은 타입이 큰 타입으로 맞춰짐! (타입 변환)
연산의 기본 타입: 정수(int), 실수(double)
byte < short < int < long(8) < float(4) < double
사람은 값을 확인하지만 컴파일러는 타입을 확인!
10 + 30 ==> (int) + (int) ==> (int)
10 + 3.5 ==> (int) + (double) ==> (double) + (double) ==> (double)
5 / 10 ==> (int)/(int) ==> (int)
int/int의 값으로 double이 나올 수 없다.
변수 하나의 타입을 큰 데이터타입으로 변경해준다.
ex) int/int = double형으로 값이 나올 수 없음!
그럴땐, int/double이나 double/int로 하나의 변수의 타입을 큰 데이터타입으로 변경하면 데이터타입이 큰 double형으로 값을 얻을 수 있다.
int kor, eng, mat, total; //모두 int형
double avg; //
avg = total / 3;
avg = total / 3.0;
위의 두 값은 다른 값이 나온다.
"+" 가 단항/이항에서 사용될 경우
단항 : 부호 유지 (잘 사용하지 않음)
이항 : 산술연산(더하기)
문자열 결합
= 연산자
산술연산
+ - * / %
[오늘의 문제]
[오후 리뷰 시간]
[문제1]
선언 후 초기화해야 한다는 점 주의
컴퓨터는 위에서부터 아래로 차례대로 읽는다는 것 잊지 말기!
f = c * (9/5)+32; 에서 (9/5)의 값은 실수이기 때문에 하나의 값이 double이 되도록 만들어 주기
[문제2]
(내 기준) 변수 선언 부분에서 헷갈려함.
하나의 메소드 안에서 같은 이름의 변수를 2번 선언할 수 없다.
데이터타입이 다르면 연산이 되지 않으므로 데이터타입이 큰 데이터타입으로 바뀌어 연산된다.
[문제3]
실수한 부분 : int가 아닌 double을 사용한 것.
값이 정수로 떨어지게끔 하기위해 int형을 사용해야했음.
[문제5]
단축키 sysout + ctrl + space Key
문법오류(syntax)은 찾기 쉽지만,
실행오류(runtime)는 찾기 어려운 편.
'개발자로 가는 길(국비지원과정) > 1. Java' 카테고리의 다른 글
[210420화] for문 (0) | 2021.04.20 |
---|---|
[210419월] 반복문 (0) | 2021.04.19 |
[210405목] 조건연산자, IF문, Switch-case문 (0) | 2021.04.15 |
[210414수] 복습 + 연산자 연습문제 (0) | 2021.04.14 |
[210412월] Java 첫수업_자바설치&이클립스 + 자료형 (0) | 2021.04.12 |