ex02. dart 언어
2024. 6. 12. 14:31ㆍFlutter
📌 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 |