var.dart
// 문법을 실행할 수 있는 메인 구조 필요!
void main() {
// print('테스트입니다~~');
// 1. 숫자형 타입 - int, double, num
// 변수를 지정할 때에는 해당하는 변수에 담길 자료형을 명확하게 명시한다!
int a = 5; // 변수의 초기화!
double b = 3.14;
a = 3;
// num : 정수형이든 실수형이든 상관없이 다 담을수 있는 자료형!
num c = 1.17;
num d = 8;
c = 1; // 어떤 숫자의 타입이든 다 담을 수 있다!
// num이라는 키워드는 dart언어에서 자료형의 의미를 담고 있으므로
// 변수명으로 사용하는 것은 멀리 해야한다!
print(a);
print(b);
// +) 변수의 타입을 확인할 수 있는 방법!
print(c.runtimeType);
print(b.runtimeType);
// 2. 문자형 -> String
String word1 = 'flutter';
String word2 = "반갑습니다!";
// ''' ''' -> 문자열 안에 개행을 포함할 수 있다.!
String word3 = '''재밌는
플러터
수업''';
print(word3);
// 문자열 포맷팅 사용해보기!
String sub = "flutter";
int cnt = 1;
print("$sub 수업 $cnt 차시");
print("$sub수업 $cnt차시");
print("$sub수업 ${cnt+1}차시");
// 포맷팅에서 연산이 필요할 경우 { } 사용하여 변수와 연산식을 하나로 묶는다!
// 3. 논리형 타입
bool n1 = true;
// 4. List / Set / Map =>
List<int> list1 = [1,2,3,4];
List<String> list2 = ['1', '2'];
print(list1);
print(list1[1]);
// set 타입의 경우 순서가 없으므로 특정위치의 값을 가져올수 없다!
Set<int> set1 = {1,2,3,4};
print(set1);
Map<String, int> map1 = {"1":1,"2":2,"3":3};
print(map1["2"]);
// 5. 키워드를 사용한 변수선언 -> var / dynamic
// - var : 한번 변수의 데이터 타입이 결정되면, 이후로 수정이 불가능 하다!
// ex) int -> int(o) / int -> String (x)
// - dynamic : 어떠한 타입이 들어오더라도 다 수용할 수 있는 변수 키워드!
var num2 = 5;
// num2 = 3.14;
dynamic num3 =5;
num3 = 3.14;
num3 = "3.14";
// 6. 타입? : null값으로 인한 오류를 방지하고 null값이 들어올수도 있음을 알려주는 타입!
String? name = null;
}
operation.dart
void main(){
// 1.몫 타입에 대한 연산자
int num1 = 10;
int num2 = 20;
// 정수, 정수 -> 정수
// / -> 실수형의 몫을 연산하는 연산자!
print(num2/num1);
double result = num2/num1;
// ~/ -> 정수형의 몫을 연산하는 연산자!
print(num2~/num1);
int a = 1;
int b = 1;
// 2. 증감연산자 -> ++, --
// 증감연산자의 위치에 따라 의미가 달라진다!
a++;
print(a);
++b;
print(b);
}
조건문.dart
void main(){
int a = 3;
// 1. if문
if(a>3){
// 조건식에 해당하는 실행 문장!
print('if문 안의 실행구조!');
} else {
// if문에 해당하지 않은 모든값을 가져오는 키워드! -> 조건식 필요 없다!
print('else문 안의 실행구조!');
}
// 2. else if문 -> elif문
if(a>3) {
} else if (a>6){
} else if (a>9){
} else {
}
// 3. switch문 : true/false에 대한 결과값을 가지고 판단을 하는 구조가 아닌,
// 실제 데이터의 값을 가지고 판단을 진행하는 조건문!
switch(a){
case 0:
print("짝수");
break; // 각각의 케이스에 대한 실행문장이 끝나면 조건문을 빠져나갈수 있도록 하는 키워드!
case 1:
print("홀수");
break;
default:
print('잘못된 값입니다');
break;
}
// switch문 연습
//
}
반복문.dart
void main() {
// 1. for문 -> 검사 조건에 따라 반복이 가능할 경우 반복문을 실행하는 구조!
// 1 ~ 5 -> 1,2,3,4,5
for (int i=1; i<= 5; i++){
print(i);
}
print(1);
print(2);
print(3);
print(4);
print(5);
// 2. for in문
List<int> list1 = [1,2,3,4];
List<String> list2 = ['a','b'];
for(int a in list1){
print(a);
}
// 3. while문 : 언제까지 반복이 되야하는지 정확한 범위가 없다!
while(true){
print('while문 반복 실행');
break;
}
// 4, do - while문
do{
// 반복의 조건없이 무조건 한번은 실행해야하는 구조!
print('do-while문 실행');
break;
}while(true);
}