자바

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

aerimi-code 2025. 3. 27. 20:56

 

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

 



컴퓨터는 반복을 질리도록 할 수 있다!

 

 

 

반복문(for, while)
: C와 거의 비슷!

 

 

if 문 if-else 문 

: 파이썬,C 와  비슷하다

 

논리연산자 (&&, ||, !)

 

 

and
or

 

not => false가 ture로 바뀜 -> true니까 출력

 

 

 

자바언어에서는 비교연산을 연결할때 || 과 &&을 쓴다.

 

**주의
파이썬에서는 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 등) 

 

 

 

 

 

알파벳 입력

 

char 타입은 연산이 가능하다!

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 다.. 화이또!!