반응형
* 이 강의는 [국비지원교육]으로 배울 수 있게 되었습니다.

 

언어를 배우는 이유?

1. 주어진 문제 해결
2. 시스템을 개발하기 위해

조금 더 익숙하게 하기 위해서 자료구조, 알고리즘 문제 해결을 공부하게 된다.

 

자바의 특징

1. 자바는 안정적이다.
2. 플랫폼에 영향을 받지 않는다.
    -> 독립적으로 사용 가능
3. 객체 지향 언어이다.
    -> 유지보수가 쉽고 확장성이 좋음.

 

프로그래밍의 종류

절차 지향 프로그래밍 (시간의 흐름대로 진행) : C언어 등 <- 이해하기에는 C언어가 더 쉬움
객체 지향 프로그래밍 (객체 간의 협력으로 이루어짐) : JAVA 등 <- 실 생활을 반영한 프로그램

 

변수

변수는 변하는 수.
변수 이름은 길어도 상관없으니 언제 봐도 이 변수가 이런 기능을 하는구나라고 알 수 있는 이름으로 하는 게 좋음

예시) 
int age = 10; // 정수형으로 나이는 10살이다


자바 10부터 지역변수는 변수의 자료형을 추론한다.


지역변수 : 하나의 블록 안에서만 사용하는 변수

 

기본 자료형

  정수형 문자형 실수형(소수점) 논리형
1 byte byte - - boolean
2 byte short char - -
3 byte int - float -
4 byte long - double -

'a' -> 2byte 문자
"a" -> 문자열

컴퓨터에서는 문자도 숫자로 이루어져 있다.



 

상수

변하지 않는 값을 상수라고 한다.
선언 후 초기화를 해야 한다. final이라는 예약어로 사용.
상수는 대문자로 표현함

final int MAX_NUM = 100;
System.out.println(MAX_NUM);

// 결과값은 콘솔에 100이라고 뜸​


상수를 사용하면 변하지 않는 값을 반복하여 사용할 때 선언한 부분만 변경하면 되므로 여러 부분을 변경할 필요가 없다.

 

리터럴

프로그램에서 사용하는 숫자, 문자, 논리 값 등을 뜻함
정수 리터럴 -> int
실수 리터럴 -> double

프로그램이 실행됨과 동시에 메모리에 할당 -> 상수, static 변수 

 

형 변환

변수마다 byte 값이 다르므로 형 변환을 해야 하는 경우가 자주 생긴다. 혹은 표현하기 위해서 형 변환을 하기도 한다.
double dnum1 = 1.2;
float fnum2 = 0.9F; // float 타입을 사용 해 주기 웨해서 뒤에 F를 붙임. 소문자도 가능
float fnum3 = (float) 0.9; // fnum2 와 똑같은데 이렇게 형 변환도 가능

int inum = (int) dnum1 + (int) fnum2;
int inum2 = (int) (dnum1 + fnum2);

System.out.println("inum"); // 결과값 : 1 / 각각 int로 형 변환을 해서 1, 0으로 변경 되었기 때문에 1이 나옴
System.out.println("inum2"); // 결과값 : 2 / int로 형 변환하기 전에 먼저 더하고 나서 형변환을 했기 때문에 2로 나옴​


형 변환 시 유의해야함

 

연산자

a = 0 //  a에 0이라는 값을 넣는다. (수학에서 = 이랑은 다르다 수학에서 0은 == 과 같음)

/ -> 나누기
% -> 나머지를 구한다.

int myNum = 10;
int yourNum = 20;

myNum = myNum + yourNum; // 30이 출력
myNum += yourNum; // 똑같이 30이 출력되고 같은 뜻이다. myNum에 yourNum넘을 더한 값을 myNum에 대입한다​


 

증가, 감소 연산자

연산자 기능
++ 항의 값에 1을 더한다 var = ++num; // 먼저 num값이 1 증가하고 var 변수에 대입
var = num++; // val 변수에 기존 num 값을 대입하고 1 증가
-- 항의 값에 1을 뺀다 var = --num; // 먼저 num값이 1 감소하고 var 변수에 대입
var = num--; // val 변수에 기존 num 값을 대입하고 1 감소

 

논리연산자

연산자 기능
&& (논리 곱 and) 두 항이 모두 참인 경우에 결과값이 참
|| (논리 합 or) 두 항 중 하나만 참이어도 결과값이 참
! (부정 not) 단항 연산자. 참인 경우는 거짓으로 거짓인 경우에는 참으로 변경
&&, || 에서는 앞의 항만 실행되는 경우가 있다.
||에서 앞에 항이 true인 경우 뒤에 항은 볼 필요가 없기 때문에 실행되지 않는다.

 

조건연산자

삼항 연산자
조건식의 결과가 true 인 경우와 false 인 경우에 따라 결과가 수행됨.
연산자 기능  
조건식 ? 결과1 : 결과 2; 조건식이 true 이면 결과1, false 이면 결과 2가 선택된다. int num=(5>3)?10:20;

 

후기

개인적으로는 엄청 기대했던 강의였는데 아직 초반이라서 그런지 아쉽다는 느낌이 많이 들었습니다.
사실 강의가 문제가 아니라 취향의 문제였습니다. 저랑 맞지 않았던 부분은
1. 강사분이 너무 하이톤!
 -> 정말 말 그대로 하이톤이셔서 저는 힘들었습니다.

2. 배속 변경이 안된다.
 -> 아마 대부분의 강의를 보시는 분이 느끼실텐데 재생속도를 조절하는 부분이 없어서 1배속으로 계속 보는게 생각보다 고역이었습니다. 하이톤이셔도 배속이 있다면 후닥후닥 들으면서 중요한 부분만 반복적으로 들을텐데 그게 불가능했습니다.
빠른 배속으로 대충 보는 사람들 때문에 일부로 막으신거 같은데 저한테는 힘들었습니다.

 아직까지는 기본 문법 부분인데다가 문서로 잘 만들어주셔서 쉽게 배우고 있는거 같습니다. 정말 배속만 해결 되면 더더욱 좋을거 같은데 그 부분이 너무 아쉽습니다. 그 외에는 대체적으로 만족중입니다. 아예 모르시는 분들도 1주차는 쉽게 듣고 이해할 수 있을거 같습니다. 중요하다고 생각하는 부분만 정리했으며 이 부분은 반복적으로 봐야될거 같습니다. 

 

반응형
복사했습니다!