오늘부터 본격적인 가을장마가 시작되었다, 이번 장마로 더위가 한풀 꺾이고, 얼른 기분 좋은 바람을 맞았으면 하는 바람이다.
오늘은 학원의 3일 차다. 학원에 거의 10시간 가까이 되는 시간을 있다 보니까 하루하루가 되게 길고, 알차다는 생각이 든다.
나는 학원을 다닌 지 2주쯤 된 줄 알았다 ㅋㅋ
오늘도 어김없이 9시쯤 도착하여 미리 오늘 할 파트들을 살펴보고 수업 준비를 마쳤다.
수업을 하던 중 강사님이 이런 말씀을 하셨다.
취업교육은 말그대로 모르는 기술을 배워서 취업을 준비하는 것이다. 당신들이 원래 알던 기술에 더 나은 발전을 바라고 온 것이 아니라 0부터 시작하려고 왔다는 말이다. 사실 무료 교육인 것 같지만 알고 보면
나라에서 다 당신들을 감당하고 있는 것이다. 앞으로 6개월 동안 시간이 남을 일은 없을 것이다. 만약 남는다면 공부를 잘못하고 있다는 것이다. 앞으로 시간이 남을 일이 없게 만들어주겠다.
참 말씀을 잘하시는 것 같다. 채찍인 것 같으면서도 속뜻은 당근 같은 그런 느낌이었다.
오늘도 한 번 더 열심히 하겠다고 다짐해본다.
역시 단기간에 배워야하는 국비지원 교육의 특성상 진도의 속도가 빠를 수밖에 없다.
나도 나름 선행학습이 좀 된상태로 갔는데 오늘 진도의 속도를 보고 약간 당황스러웠다. 아예 언어를 처음 접한 몇몇 사람들은 오늘 완전 패닉 상태에 빠져있다가 집으로 돌아갔다.
필자는 국비지원학원을 다닐 생각이 있다면 적어도 언어에 대해서는 어느 정도 공부를 혼자 해서 가는 것을 추천한다.
오늘 배운 내용을 정리하겠다.
1. 증감 연산자
i++ 와 ++i의 차이점 (--를 넣어도 상관없다)
int A =1;
A = i++;
//A의 값에 i를 먼저 대입 시킨 후 i에ㅔ ++연산자 실행
A = ++i;
//i에 ++연산자 실행후 i값을 int에 대입
int A =i++; //A=1, i=2
int A = ++i; //A=2, i=2
2. 삼항 연산자
많은 책에서 삼항 연산자는 실무에서 안쓰인다고 적어 놓는다는데 강사님 말로는 실무에서 엄청 쓰인단다.
예시로 바로 알아보도록 하자
int temp = (1>2)?3:4 //temp=4
int temp = (1<2)?3:4 //temp=3
삼항 연산자는 조건의 참과 거짓에 따라 참 이라면 앞의 값이 콜론(:) 앞의 값이 리턴, 거짓 이라면 뒤의 값이 리턴된다.
토막 상식!
IT는 여길가나 저길가나 무조건 협업이 필수이다. 그러므로 개발자의 코드는 항상 표준화되어있어야한다.
또한 명확성을 위해 하나의 DataType에는 하나의 변수를 선언해 준다고 한다.
3. 관계 연산자
&, | 과 &&, || 의 차이점
&, | 은 주어진 조건을 모두 판단하고 결과를 반환한다.
&&, || 은 조건의 결과가 미리 정해지면 나머지 조건들은 무시한채 결과값을 반환한다.
4. 사용자에게 값 입력받기
나는 혼자 공부할때 사용자에게 값을 입력받는 방법은 Scanner를 import하거나 bufferReader로 하는 방법밖에 없는 줄 알았다. 근데 처음 배운건데 public static void main(String[] args)에서 args에 값을 넣어줄 수 있다는 것이었다. 예를 들어 Hello.java 파일의 args에 input값을 넣고 싶으면 cmd에서 java Hello 123 이런식으로 args에 123을 넣어줄 수 있다. args는 StringArray로 DataType을 가공에서 정수로도 사용이 가능하다. int A = Integer.parseInt(args[0]) → 이런 식으로 정수형으로 형변환을 시켜준다.
5. java의 조건은 무조건 true or false!
다른 언어(Low Level Language)에서는 조건문 속에 숫자가 와도 상관이 없다
but, JAVA(High Level Language)에서는 조건문 속은 무조건 boolean타입(true or false)이 와야한다.
why? HLL에서는 명확성과 가독성을 최대화 하기 위해
반복문
➤반복문에서 조건은 false가 될때까지 반복된다. 즉, while(true)나 for( ;true; )일때 무한루프
6. IF문의 기본 구조 (조건의 값이 true일 때 실행
if (조건문) {
<수행할 문장1>
}
7. FOR문의 기본 구조 (조건의 값이 false가 될때까지 반복)
for(초기값; 조건문; 증가치){
<반복할 문장>
}
8. WHILE문의 기본구조 (조건의 값이 false가 될때까지 반복)
while(조건문){
<수행할 문장>
}
9. break와 continue
9-1. break
반복문 내에서 break를 만나면 바로 그 반복문을 탈출하게 된다.
9-2. continue
반복문 내에서 continue를 만나면 반복문의 첫문장(조건문)으로 돌아온다.
※ 중요한내용
먼저 알아둬야할 개념 reference와 primitive의 차이점
전에 배웠던 primitive Data Type은 그 Data Type의 크기가 변하지 않는다.
→ 값이 많아지면 관리가 힘들어진다.
그리고 새로 배울 Reference Data Type은 되게 flexible한 Data Type이다
→ 많은 값을 다루더라도 참조자만 알고 있으면 관리가 쉬워진다.
우리가 아는 대표적인 reference data type → String !!
이제 배열(Array)을 추가한다.
10. 배열(Array)
배열의 선언방법
int[] A = new int[5]; //다섯개의 값을 넣을 수 있는 배열 A 생성
//값을 넣을때는
A[0] = 1;
A[1] = 2;
A[2] = 3;
A[3] = 4;
A[4] = 5; //이런식으로 넣어줄 수 있다.
배열속 정보가 몇갠지 알아야할 때가 있는데, 너무 정보가 커지면 일일이 셀수없다.
그럴땐 A.length를 하게되면 배열의 크기가 반환된다.
배열을 선언하는 또다른 방법(=값을 바로 넣는 방법)
int[] Array = {1,2,3,4,5}
int[] Array = new int[]{1,2,3,4,5}
마지막으로 집에서 생각해보라고 낸 문제가 있다.
int j[] = int Array를 했을때 배열이 둘이 연동된것 처럼 하나의 값만 변경해줘도 두개 다 변한다.
왤까?!!?
내 생각에는 배열이란 Reference값이니까 왼쪽값에 대입을 시켜주면 참조영역이 같아지므로 값이 둘다 공유 되는것 같다.
오늘의 추천곡은 비오는 날씨에 잘 어울리는 Reminiscence - Vanilla Mood
'안녕, 국비학원' 카테고리의 다른 글
2일차, 시작된 교육 (0) | 2019.09.04 |
---|---|
1일차, 너 정체가 뭐니~? (0) | 2019.09.03 |