
사전강의 남은 부분 훑어보기, 변수, 연산자, 조건문
상자상자 인 변수에 데이터를 담고 , 필요할 때 데이터를 꺼내 쓸 수 있음나이라는 이름의 상자를 만들고 , 그 상자에 25라는 데이터를 담는 느낌var [변수이름] = 값;var : 타입 추론(ex 현재시간)
final String name = 'Bob';
name = 'Alice'; // Error: Can't assign to the final variable 'name'
/// name에 Bob
const int age = 25;
age = 30; // Error: Can't assign to the const variable 'age'
int [변수이름] = [값];double [변수이름] = [값];double z = 1; // double z = 1.0 와 같아요.
z += 2.5;
print(z); // 3.5
int,double 의 상위 클래스num a = 1;
a += 2.5;
print(a); // 3.5
String [변수 이름] = ‘문자’; / String [변수 이름] = “문자”;String s1 = '''
이렇게 하면
여러 줄의 문자열을
만들 수 있어요 !
''';
/*
이렇게 하면
여러 줄의 문자열을
만들 수 있어요 !
*/
String s2 = """이것도 여러 줄의
문자열이랍니다 !""";
/*
이것도 여러 줄의
문자열이랍니다 !
*/
true or 거짓 false 으로 판별할 수 있음double [변수이름] = [값];int?orString? 등(+, -, *, /, ~/ ,% )~/ : 하나의 값에서 다른 하나의 값을 나눌 때 사용함% : 하나의 값에서 다른 하나의 값을 나누었을 때 나오는 나머지를 구할 때 사용true, 다르면falsetrue, 같으면 false 를 반환해요.true,false 를 반환해요.true,false 를 반환해요.true,false 를 반환해요.true,false 를 반환해요.int a = 2;
print(a as double); // 2
String b = '2';
print(b as double); // TypeError 발생
int? a = 2;
print(a is int); // true
int? b = null;
print(b is int); // false
int? a = null;
print(a is! int); // true
int? b = 2;
print(b is! int); // false
= 기준으로 오른쪽 값을 왼쪽에 대입int a = 2;
print(a); // 2
??= 기준으로 왼쪽에 있는 것이 null 일 때 오른쪽 값을 대입int? a = null;
a ??= 2;
print(a); // 2
int b = 3;
b ??= 2;
print(b); // 3
+= 기준으로 왼쪽에 있는 것과 오른쪽에 있는 것을 더해서 왼쪽에 대입a += b 와 a = a + b 는 서로 같은 의미int a = 2;
int b = 3;
a += b;
print(a); // 5
-= 기준으로 왼쪽에 있는 것에서 오른쪽에 있는 것을 빼서 왼쪽에 대입a -= b 와 a = a - b 는 서로 같은 의미int a = 3;
int b = 2;
a -= b;
print(a); // 1
*= 기준으로 왼쪽에 있는 것과 오른쪽에 있는 것을 곱해서 왼쪽에 대입a *= b 와 a = a * b 는 서로 같은 의미int a = 2;
int b = 3;
a *= b;
print(a); // 6
/= 기준으로 왼쪽에 있는 것에서 오른쪽에 있는 것을 나눠서 왼쪽에 대입a /= b 와 a = a / b 는 서로 같은 의미double a = 6;
int b = 3;
a /= b;
print(a); // 2
~/= 기준으로 왼쪽에 있는 것에서 오른쪽에 있는 것을 나누었을 때 나온 값의 정수 부분을 왼쪽에 대입a ~/= b 와 a = a ~/ b 는 서로 같은 의미int a = 5;
int b = 3;
a ~/= b;
print(a); // 1
%= 기준으로 왼쪽에 있는 것에서 오른쪽에 있는 것을 나누었을 때 나온 나머지를 왼쪽에 대입해요.a %= b 와 a = a % b 는 서로 같은 의미int a = 5;
int b = 3;
a %/= b;
print(a); // 2
! 기준으로 오른쪽에 있는 판별식을 반전bool a = true; // 무조건 bool 타입
print(!a); // false
|| 기준으로 왼쪽 판별식과 오른쪽 판별식 중 하나라도 참이면 참을 반환하고,bool a = true;
bool b = true;
print(a || b); // true
bool c = true;
bool d = false;
print(c || d); // true
bool e = false;
bool f = false;
print(e || f); // false
&& 기준으로 왼쪽 판별식과 오른쪽 판별식 모두 참이면 참을 반환하고,bool a = true;
bool b = true;
print(a && b); // true
bool c = true;
bool d = false;
print(c && d); // false
bool e = false;
bool f = false;
print(e && f); // false
if (조건) {.....}조건은 참 or 거짓 으로 판별이 가능해야함int a = -1;
if (a < 0) {
print('a 는 음수입니다.'); // a 는 음수입니다.
}
else if (조건) { … }if 문의 조건이 거짓이면 else if 문의 조건을 검사해요.else if 문의 조건이 참이면 else if 문의 코드 블록이 실행되고,else if 문의 코드 블록이 실행되지 않는다.int a = 0;
if (a < 0) {
print('a 는 음수입니다.');
} else if (a >= 0) {
print('a 는 0 이거나 양수입니다.'); // a 는 0 이거나 양수입니다.
}
else { … }if 문의 조건과 else if 문의 조건이 거짓이면 else 문의 코드 블록이 실행되고,else if 문의 조건은 else if 문이 있는 경우만 !!switch (값) { … }case 문 형태로 모두 나열해요.case 를 제외한 모든 경우에 실행될 코드가 같다면 default 문에 쓰면 돼요.int dayOfWeek = 1;
switch (dayOfWeek) {
case 1:
print('오늘은 월요일입니다.');
break;
case 2:
print('오늘은 화요일입니다.');
break;
case 3:
print('오늘은 수요일입니다.');
break;
case 4:
print('오늘은 목요일입니다.');
break;
case 5:
print('오늘은 금요일입니다.');
break;
case 6:
print('오늘은 토요일입니다.');
break;
case 7:
print('오늘은 일요일입니다.');
break;
default:
print('유효하지 않은 숫자입니다.');
}
조건문이 참이면 표현식1을 조건문이 거짓이면 표현식2bool isPublic = true;
String visibility1 = isPublic ? 'public' : 'private';
print(visibility1); // public
bool isPrivate = false;
String visibility2 = isPrivate ? 'public' : 'private';
print(visibility2); // private
표현식1 이 null 값을 갖지 않으면 표현식1 을,표현식1 이 null 값을 가지면 표현식2int? a = null;
print(a ?? 2); // 2
int b = 3;
print(b ?? 2); // 3