본문 바로가기
버킷리스트/앱 만들기

오공완(with 코드팩토리) #12, #13 (if, switch, for, while)

by 또또도전 2024. 6. 10.
반응형

 

# 이곳에 쓴 내용은 앱 만들기라는 버킷리스트를 달성하기 위해 플러터를 공부하면서 정리하고 있는 내용입니다.

플러터에 대해 아는 것이 거의 없기 때문에 정리하면서 오류가 있을 수 있습니다.

오류를 발견하신 분은 댓글 남겨 주시면 감사하겠습니다.

 

 if, switch 

 

if는 조건에 맞으면 그 안에 코드 실행 아니면 다음 단계로 넘어감.

else if 위 조건이 맞지 않은 경우 else if에서 말한 조건이 맞으면 실행, 역시나 조건에 맞지 않으면 다음 단계로 넘어감.

else는 위 조건에 맞지 않은 경우 (조건을 제시하지 않고) 안에 있는 명령을 실행.

 

switch는 4지 선다, 5지 선다 같은 개념. 객관식의 개념으로 이해함.

switch는 각 조건이 끝나면 break를 넣어줘야 함. 그래야 switch 문에서 빠져나옴 안 그럼 나머지 case를 확인하는 과정을 거치기에 좋은 코딩은 아님. 

switch에서 default는 if의 else의 개념과 같음

void main() {
  int number = 19;

  if (number % 4 == 0) {
    print('4의 배수입니다.');
  } else if (number % 4 == 1) {
    print('4의 배수가 아닙니다. 나머지 1입니다.');
  } else if (number % 4 == 2) {
    print('4의 배수가 아닙니다. 나머지 2입니다');
  } else {
    print('4의 배수가 아닙니다. 나머지가 3입니다.');
  }

  int number1 = 21;

  if (number1 % 4 == 0) {
    print('4의 배수입니다.');
  } else {
    print('4의 배수가 아닙니다.');
  }

  switch (number % 4) {
    case 0:
      print('4의 배수입니다.');
      break;

    case 1:
      print('나머지가 1입니다.');
      break;

    case 2:
      print('나머지가 2입니다.');
      break;

    case 3:
      print('나머지가 3입니다.');
      break;
  }

  switch (number1 % 4) {
    case 0:
      print('4의 배수입니다.');
      break;

    default:
      print('4의 배수가 아닙니다.');
      break;
  }
}

if는 복잡한 계산이 가능, switch는 단순한 코드에서 사용. 조건에 조건을 또 추가가 가능한 것이 if를 사용함. if문에서는 조건이 맞는 것을 실행하고 자동으로 코드를 빠져나감.

 

 for, while

반복문

for문은 정해진 횟수만큼 반복하라는 의미,

while문은 조건을 만족할 때까지 반복하라는 의미.

오류 발생 :

A value of type 'num' can't be assigned to a variable of type 'int'.  number += numbers[j];

검색을 해 보니 형변환 어쩌고 한다. 모르겠지만 int 변수 대신 num을 넣었더니 해결이 되었다.

이해는 못했으나 아래처럼 for ~ in을 넣으면 number 변수가 리스트의 값을 불러오는 듯함. 그래서 위 코드를 아래처럼 더 간결하게 코딩할 수 있다고 함.

while 루프는 코딩을 잘못 짜면 무한 루프를 돌기 때문에 오류가 발생할 수 있으니 꼭 잘 코딩해야 함. 

while루프와 do while루프와 다른 점

break를 활용하여 for, while을 멈출 수 있음.

 

continue는 그 녀석만 skip해라라는 의미라고..

 

이제 슬슬 실행이 안 되는 녀석들도 나오기 시작하는군. 외워야 하는 녀석들도 많고..--;;

반응형