TIP
코드 한줄한줄에 주석을 달아보고, 달 수 없는 부분이 있다면 질문하기.
(버퍼링이란, 10초가 지났는데도 버퍼에 충분한 데이터가 모이지 않아 지연이 생기는 것)
이상적인 개발 = 다른 사람들과 함께하는 개발
복잡한 코드도 최대한 읽기 쉽게 쓰기, 적극적으로 팀 작업에 참여하고, 동료를 배려하기.
+ - : 덧셈 뺄셈
* / : 곱셈 나눗셈(몫)
% : 나눗셈(나머지)
ex) 27 / 6 = 4
27 % 6 = 3
아스테리스크 = 스타 = 별표 = * = 곱셈기호
mini test, p. 40
class Lab1 { public static void main(String[] args){ System.out.println(20 + 10); System.out.println(20 - 10); System.out.println(20 * 10); System.out.println(20 / 10); } }
p. 41 잘못된 부분
Public class Add{
public static void main(String[] args){
int x, y, sum;
x = 100;
y = 200;
sum = x + y;
System.out.println(sum);
}
}
프로그래밍 언어가 작동하는 과정(?)
- 값을 사용 <- 메모리(RAM)에 상주시켜야 함
- 이름 -> '재사용'을 위해
(한 번만 쓸 것이라면 이름 붙이지 않고 바로 사용하면 그만.)
변수 (variable) 를 메모리에 올리는 과정
1. 선언 (한정된 메모리 공간을 선점하기 위해, 공간을 '예약'하는 행위)
2. 정의 or 초기화 (변수에 처음으로 값을 잡아넣음, "비로소 메모리에 올라감"="변수를 사용할 수 있음")
컴퓨터 구조 - 주기억장치
주기억장치는 '롬 ROM(Read Only Memory)'과 '램 RAM(Random Access Memory, 무작위접근(랜덤저장 랜덤접근), 휘발성)'으로 나뉜다.
실행중인 프로그램의 데이터는 메모리(RAM)에 저장되어 있다.
메모리는 운영체제에 의해 실행되는 여러 프로그램에 할당된다
- 언어별 괄호 다는 방식이 다르다
### Java public class Add { } // ### MS계열 등 (*자바 코드) public class Add { }
만약, 선언을 하지 않는다면?
class VarEx{ public static void main(String[] args){ // int n; // int n; // n = 2; System.out.println(n); } }
컴파일 하면,
만약, 초기화를 하지 않는다면?
class VarEx{ public static void main(String[] args){ int n; // n = 2; System.out.println(n); } }
컴파일 하면,
중괄호를 잘못 치면 (범위 지정을 잘못 하면)
class VarEx{ public static void main(String[] args){ { int n; n = 2; } System.out.println(n); } }
컴파일 하면,
변수는 범위 내(괄호 내부)에 있을 때에만 메모리에 올라가 있다
범위가 끝나면 변수는 메모리에서 삭제된다.
따라서 int n을 괄호 바깥으로 빼면 오류는 사라진다.즉, 선언 위치에 따라 변수 가용 범위는 달라진다
변수 이름이 중복될 경우 (선언 중복)
class VarEx2 { public static void main(String[] args){ int num = 4; int num = 8; System.out.println(num); } }
컴파일 하면,
num이 이미 선언되어 (already defined) 생기는 오류
변수와 자료형