본문 바로가기
프로그램 개발해서 돈벌기/flutter

7. for, for / in, forEach, while, do / while - 완전 초보 Dart 언어 기초 문법 : flutter

by ubmuhan 2022. 12. 23.
반응형

사용 툴 - DartPad

https://dartpad.dev/

 

DartPad

 

dartpad.dev

DartPad 정보 : Based on Flutter 3.3.10 Dart SDK 2.18.6

 

for 기본 구조

for(초기변수선언 ; 조건문 ; 실행문) {}

void main() {
  for(int i = 0; i < 5; i++) {
    print(i);
  }
  // >> 0 1 2 3 4
}

 

반복문 내부에서 break와 continue를 사용합니다.

아래 설명하는 모든 반복문에서 사용합니다.

break는 반복문 수행을 멈추게 합니다. 그리고 continue는 반복문 {} 내 실행 중 continue 아래 구문은 실행하지 않고 반복문 조건문으로 보냅니다.

아래 코드 결과 0 1 2가 출력됩니다. 3과 같을 경우 반복문을 종료한 결과입니다.

// break
void main() {
  for(int i = 0; i < 5; i++) {
    if(i == 3) {
      break;
    }
    print(i);
  }
  // >> 0 1 2
}
 

 

아래 코드 결과 0 1 2 4가 출력됩니다. 3과 같을 경우 3을 출력하지 않고 조건문으로 보내고 반복문을 계속 실행한 결과입니다.

// continue
void main() {
  for(int i = 0; i < 5; i++) {
    if(i == 3) {
      continue;
    }
    print(i);
  }
  // >> 0 1 2 4
}

 

배열에서 for 사용

void main() {
  List num = [1, 2, 3, 4, 5];
  for(int i = 0; i < num.length; i++) {
    print(num[i]);
  }
  // >> 1 2 3 4 5
}

 

배열에서 for in 사용

for in 구문은 배열 num에서 항목을 개별로 빼서 i에 적용해서 반복문을 처리합니다.

이 방법은 num 개수 처리를 할 필요 없어 구문을 간략하게 만들 수 있어 좋습니다.

void main() {
  List num = [1, 2, 3, 4, 5];
  for(int i in num) {
    print(i);
  }
  // >> 1 2 3 4 5
}

 

배열 내부 함수 forEach 사용

for in 구문과 비슷해 보이지만 내부 함수이므로 () 위치를 꼭 확인해야 합니다.

num 배열 항목을 forEach 함수 파라미터 i에 할당해서 반복문을 처리합니다.

void main() {
  List num = [1, 2, 3, 4, 5];
  num.forEach((i) {
    print(i);
  });
  // >> 1 2 3 4 5
}

 

while 기본 구조

while(조건문) {}

for 구문과 달리 while문은 조건문만 있어 초기값과 조건뮨에 영향을 주는 변수에 변화를 주는 구문을 별도로 구현해 주어야 합니다.

아래 코드에서 " int num = 0;"이 조건문에 들어갈 초기 변수 선언입니다. 그리고 조건문에 영향을 주는 변수에 변화를 주는 구문은 "num++" 입니다.

void main() {
  int num = 0;
  
  while(num < 5) {
    print(num);
    num++;
  }
  // >> 0 1 2 3 4
}
 

 

do while

while 조건문 전에 do {} 구문을 먼저 실행 후 while 구문 내 조건문이 참이면 do {} 구문을 다시 실행하고 false면 작업을 마칩니다.

그리고 while(조건문); 후 ; 로 명령문 마침을 표시합니다.

void main() {
  int num = 0;
  
  do {
    print(num);
    num++;
  } while(num < 5);
  // >> 0 1 2 3 4
}

 

 

 
 
반응형

댓글