ex02. dart 언어

2024. 6. 12. 14:31Flutter

📌 Application 클릭 후 34 설치

✅ dart 언어

✅ dart 언어 로드맵

✅ dart의 변수

✅ 새 dart 생성

  • 생성 시 한글 사용 X, 대문자 X

✅ main 함수

  • void main() 생성 시 실행 버튼 생성

✅ variable

// 코드가 실행될 수 있는 공간 생성! -> main 함수
// 실행 단축키 : ctrl + shift + F10

void main() {

  // 1. bool 자료 형을 사용한 변수 선언
  bool a = true;

  print(a);

  // +) 변수를 선언 할 때 공간의 이름과 해당 공간의 타입이 필요하다!
  int b = 5;
  int c; // 공간만 만들어진 형태

  double d = 3; // 3.0

  print(b);
  print(d);

  // 2. 정수와 실수를 모두 담을 수 있는 숫자형! -> num
  num e1 = 5;
  num e2 = 3.14;

  print(e1);
  print(e2);

  // +) 데이터의 타입을 확인하는 방법! -> 저장된 실제 데이터의 타입을 기준으로!
  print(e1.runtimeType);
  print(e2.runtimeType);
  print(a.runtimeType);

  // dart 언어의 문자형 데이터는 python과 상당히 유사하다!
  // '' / "" / ''' '''
  String word1 = 'hello world';
  String word2 = "hello world";
  String word3 = '''hello world''';

  String word4 =
  '''
  다음주
  선재
  꼭 보기!!
  ''';

  print(word1);
  print(word2);
  print(word3);
  print(word4);

  // **) dart의 변수 표현 방법!
  // 1. var : 한 번 지정을 하면 타입에 관하여 수정이 불가능 하다! (js 개념)
  // 2. dynamic : 지정 후 타입에 관하여 수정이 가능 하다!

  var data1 = "2.1";
  // data1 = 2.1; // 에러가 발생하며 형 변환이나 다른 방식의 데이터 타입 변경이 불가능 하다!

  dynamic data2 = "2.1";
  data2 = 2.1;

}

✅ ''' ''' 글자 표현 차이

✅ formatting

// 빠르게 복사 : ctrl + alt + 방향키
// 빠르게 삭제 : 범위 드래그 + ctrl + D

void main() {

  String subject = "flutter";
  int cnt = 1;

  // print(subject + " 수업 " + cnt + "차시"); -> 에러

  print("$subject 수업 $cnt차시"); // flutter 수업 1차시
  print("$subject수업 $cnt차시"); // flutter수업 1차시
  print("$subject수업 $cnt+1차시"); // flutter수업 1+1차시
  print("$subject수업 ${cnt+1}차시"); // flutter수업 2차시 // {}만 사용 가능

}

✅ dart 산술 연산자

✅ dart 비교 연산자

✅ dart 논리 연산자

✅ dart 대입 연산자

✅ dart 증감 연산자

✅ dart 삼항 연산자

✅ 형변환

✅ casting

 
void main() {

  // dart 언어는 자동 형변환이 불가능 하다!
  // 무조건 강제적으로 형변환을 진행해야 한다! -> 강제(명시적) 형변환

  int a = 10;
  print(a.toDouble());

  double b = 3.14;
  print(b.toInt()); // 뭔가 형태를 바꿀 때 : .to자료형
  
  // 문자에서 -> 숫자로 변형!
  String num1 = '10';
  print(int.parse(num1));
  print(double.parse(num1));
  
}

✅ NPE

✅ Null Safety

✅ null 오류

  • null 값을 허용하지 않음!

✅ null Safety

void main() {

  // dart 언어는 null 값을 허용하지 않는다!

  // int a = null; // 에러

  // 1. Nullable 변수 사용 -> null 값이 들어 올 수도 있습니다~
  // 자료형 형태의 뒤에 ?기호를 사용하여 null 값을 허용 한다!
  int? a = 5; // int? a = null;
  String? b = "flutter"; // String? b = null;
  double? c = 3.14;

  a = null;
  b = null;
  c = null;

  // 2. NonNull -> 선언 변수에 대하여 절대! null 값이 들어올 수 없음을 지정하는 기능!
  int d = 6; // int? d = 6; 이면 d = null; 사용 가능
  d!;

  d = 1;
  // d = null;

}

✅ 조건문

✅ dart 조건문

  • if문
  • else if문
  • switch문

✅ conditional

void main() {

  // 1. if문
  if (true) {
    print('if문의 구조입니다~');
  }

  // 2. else if문 -> python elif문!

  int score = 85;

  if (score >= 90) {
    print('A학점');
  } else if (score >= 80) {
    print('B학점');
  } else if (score >= 70) {
    print('C학점');
  } else {
    print('D학점');
  }

  // 3. switch문
  // 상황 ) 변수에 저장된 숫자가 홀/짝 판단하는 구조 생성!

  int n = 7;

  // 검사 조건에 대한 결과 -> bool 형태가 아니다! / 데이터 값!
  switch (n % 2) { // 검사 데이터 값
    case 1:
      print('홀수 입니다.');
      break;
    case 0:
      print('짝수 입니다');
      break;
    default: // else와 같은 의미!
      print('숫자가 잘못 입력 되었습니다.');
      break;
  }


}

✅ dart의 반복문

✅ iteration

void main() {

  // 1. for문
  for (int i = 0; i < 5; i++) {

    print('$i 회차 반복');

  }

  // 2. for in문 -> python의 반복문 구조!
  List<int> numbers = [1, 2, 3, 4, 5];

  for (int a in numbers) {
    print(a);
  }

  // 3. while문 -> 반복의 횟수 제한이 없다!
  while (true) {
    print('while문의 반복');
    break;
  }

  // 4. do-while문 -> 반복의 횟수 제한이 없다!
  do {
    print('do-while문의 반복');
    break;
  } while (true);

  // do-while문의 경우 일단 무조건! 최초 한번은 로직을 실행하고 나서
  // 반복에 대한 여부를 판단하는 문법이다!

}

 

'Flutter' 카테고리의 다른 글

ex06. column  (0) 2024.06.12
ex05. icon  (0) 2024.06.12
ex04. Widget  (1) 2024.06.12
ex03. method  (0) 2024.06.12
ex01. 기본 개념  (0) 2024.06.12