2. 자바의 조건문과 제어흐름

코드를 구현할 때, 반복되는 코드를 줄이고 if 문이나 반복문과 같은 제어 구조를 활용하여 코드를 간결하고 효율적으로 만드는 것이 중요하다.

컴퓨터는 반복을 질리도록 할 수 있다!
반복문(for, while)
: C와 거의 비슷!
if 문 if-else 문
: 파이썬,C 와 비슷하다
논리연산자 (&&, ||, !)



자바언어에서는 비교연산을 연결할때 || 과 &&을 쓴다.
**주의
파이썬에서는 10<a<20 이런식으로 연결이 가능했지만
자바에서는 10<a && a<20 이렇게 연결해줘야 한다.
형변환 :
변수 타입을 변화
while문을 이용해서 평균을 작성하는 코드를 작성하는과정에서
정수-> 실수로 변환하고 싶었다.

double(sum) 이렇게 했더니 double이라는 method를 불러온것으로 해석되었다.
그래서 sum2라는 실수형변수를 따로 만들어서 값을 대입해줬다. 해결됐지만 코드가 한 줄 더 늘어났다 ㅜ0ㅜ

(double)변수이름 이렇게하면 효과적으로 형변환을 할 수 있다!!
while조건 활용

이렇게 not 문을 활용하면 코드가 더 간단해진다. -1이 아닐때만 작동하면 되니까!
실습을 하면서 프로그램들을 class안에 method로 구별해서 작성했다.
실제로 내가 구성하면서 만들다 보니까 헷갈렸다
그러다 생긴 궁금증
*아니 근데 constructor랑 method랑 어떻게 구별하는거지??*

counstructor는 !클래스 이름과 동일하다!
또 생성자에는 return 타입이 없다. 이미 없기 때문에 void도 쓰지 않는다.

코드로 보면 public + class명과 동일한 이름 이렇게 쓰면 constructor 생성완료다! (일반 mehod랑 넘 다르죠?)

일반 method의 경우 return type을 적어주어야한다. (void, String, int 등)
알파벳 입력

do-while 문 특징
- 조건을 기준으로 반복한다. (반복 횟수로 제어하지 않음)
- 조건과 상관없이 최소 한 번은 실행된다.
- 반복 조건이 없으면 컴파일 오류는 나지 않지만, 조건이 true로 고정되면 무한 반복된다.
구구단 출력

c 언어처럼 %2d (두칸으로출력 ) %.2f(2번째 소수자리 표현) 이런 표현도 가능하다.
예산에 맞춰서 물건 사기

continue를 사용하면 값이 예산을 초과했을때는 그 아래에 있는 코드를 진행하지 않는다. 다시 위로간다!
static 객체

모든 method에서 input을 쓰고싶은데 쓸때마다 불러와서 써야되나??
아니다!!
Scanner도 class다!
그냥 Scanner input= new Scanner(System.in) 이렇게 쓰면 객체가 생성되어야만 input을 사용할수 있기 때문에
각 method마다 Scanner 객체를 생성해줘야 하지만 class에 static을 쓰면 객체가 없어도 쓸 수 있는 method가 되기때문에 input을 어디서나 쓸 수 있다!


저 Dog class는 무조건 객체를 만들어야 쓸 수 있지만 class 앞에 static만 붙여주면 객체 없이도 사용 가능해진다!!
다음 스터디는 array 다.. 화이또!!
