Review
KOSTA 교육 2일차(변수, 데이터타입, 형변환, 연산자, if/else, switch)
Tigger
2020. 6. 20. 20:14
18.10.30(화)
배운 내용
- 변수
- 데이터의 종류
- Casting(형변환)
- 연산자
- if / else 조건문
- switch
1. 변수
변수를 선언할 때 주의할 점
- 데이터타입을 먼저 선정해야한다.
- 어떤 위치에 선언해야할지 결정해야한다
그 이유는, 코드가 하나일 땐 상관없지만 코드가 여러개거나 양이 많아지게 되면
변수가 중복되거나 다른 변수에 적용될 수 있기 때문이다. - 로컬(지역)변수는 꼭 ‘초기화’를 해야한다.
로컬변수의 정의는 메소드 안에 선언한 변수를 말한다.
여기서 말하는 ‘초기화’란 변수를 선언한 곳에 값을 주어야한다는 것이다.
즉 { } 안에서 선언해야한다는 것을 말한다.
2. 데이터타입
데이터타입에는 정수형, 실수형, 문자형 타입이 있다.
- 정수형 : Byte, Short, int, long
- 실수형 : Float, double
- 문자형 : char
- boolean
3. 형변환(Casting)
형변환이란?
데이터의 타입을 변경하는 것이다.
- Byte -> short -> int -> long -> float -> double 순으로 진행된다.
우로 갈수록 넓은 표현이 가능하므로 자동으로 형변환이 된다. - 강제형변환은 Integer.parseInt()로 선언한다.
- 변수 n4는 String을 사용하여 선언하였고
값은 749 - 변수 str은 숫자와 문자를 함께 생성하여 강제형변환을 통하여 형변환을 시도했으나
NumberFormatException 오류가 뜨면서 실행되지 않음
이유는 int는 정수를 사용하는 데이터타입이나 문자가 포함되어 있기 때문 - 그래서 n4를 강제형변환 하여 변수 n5를 선언하고
변수 re3을 선언한 후 1을 더한 값을 생성하면
값은 750
4. 연산자
연산자란?
특정한 작업을 하기 위해서 사용하는 기호를 의미한다.
- 산술연산자의 종류 : + 더하기, — 빼기, * 곱하기, / 나누기, % 나머지
- 단항연산자의 종류 : ++ 증가연산자, — 감소연산자
- x, y 변수에 각각 값을 생성하고 값을 생각해보자
- x앞에 증가연산자가 있으면 먼저 1을 더하게 된다.
그래서 y의 값은 11이 되고
값은
x : 11
y : 11 - 만약 증가연산자가 뒤에 위치해있다면 나중에 값을 추가할 것이기 때문에
값은
x : 11
y : 10
삼항연산자란?
조건연산자라고도 하며 여러가지의 코드를 간결하게 연산한다.
- 각 점수별 등급을 매긴다.
- score를 75로 생성했을 때
- 값은 C가 나올 것을 알 수 있다.
5. if / else 조건문
if / else 조건문이란?
주어진 조건에 따라서 애플리케이션을 다르게 동작하도록 하는 것으로 프로그래밍의 핵심 중의 하나라고 할 수 있다.
if는 참, 거짓을 표현하고 if else는 if가 참이 아닐시 else에 해당된다.
아래의 예제로 한 번에 이해하자
- 우리말로 번역하자면 만약 a가 b보다 크거나 c보다 크면 a를 출력 아니면 c를 출력하라.또한 만약 b가 c보다 크다면 b를 출력하고 아니면 c를 출력하라.
- 여기서 if와 else를 사용해서 가장 최대값을 구할 수 있다.
값은 30 - 이런식으로 조건을 만들어 값을 구해낼 수 있다.
- equals : 객체끼리 값을 비교할 수 있는 메소드이다. 문자열을 비교할 때 사용한다.
- if절에서 id와 m_id가 같고(&&-and) pw와 m_pass가 같으면 “로그인 성공"
아니라면 !-부정을 사용하여 실패문구를 넣으면 된다. - 논리연산자는 위와 같이 &&(and), ||(or), !(not) 세가지를 사용할 수 있다.
6. switch
switch란?
어떤 변수 값에 따라서 문장을 실행할 수 있도록 하는 제어문이다.
경우의 수(Case)가 나뉘어져 있을 때 데이터타입에 따라 변수를 설정해야한다.
- avg/10의 값이 9일 경우 A을 출력하고, 8일 경우는 B를 출력하고, C일 경우는 C을 출력하고, 그 외에는 F가 출력된다.
- 여기서 break를 제거하면 모든 명령이 실행되기 때문에 확실히 구분할 것
오늘 교육 간 느낀점
첫 교육날 보다 훨씬 많은 양과 계산 그리고 메소드에 정신적으로 신체적으로 너무 타격을 받았다. 안그래도 학창시절 수학이랑은 거리가 좀 있었는데 수리적인 능력을 뒤늦게 쌓으려니 내 마음대로 계산도 안되고 메소드도 활용이 안됐다. 전공자가 하는 4년 과정을 약 반년 만에 얻으려고 하는건 욕심이지만 사람은 원하고 노력한 만큼 효율성있고 좋은 결과를 만들어 낼 것이라고 생각한다. 많이 부족하지만 꾸준히 노력해서 통달해야겠다..