if
if
~ else
switch
assert
# if
// if (조건) {
// 실행문;
// }
if (a==1) {
print("a is 1");
}
# if ~ else
// if (조건) {
// 실행문;
// } else {
// 실행문;
// }
if (a==1) {
print("a is 1");
} else {
print("a is not 1");
}
if
의 조건이 참이면 {}
내부를 실행if
~ else
문이라면 if
의 조건이 거짓이면 else
의 {}
내부를 실행# switch
// switch (변수) {
// case 값1;
// 실행문;
// break;
// case 값2;
// 실행문;
// break;
// default;
// 실행문;
// }
var number = 1;
switch (number) {
case 1:
print("number is 1");
break;
case 2:
print("number is 2");
break;
default:
print("number is not 1 or 2");
}
switch()
에 전달된 값이 case
값에 일치하면 해당 case
내부를 실행break
가 없으면 이어서 다음 case
까지 실행하게 되기 때문에 case
구분이 필요할 때는 반드시 break
를 선언case
에 만족하지 않으면 default
내부를 실행# assert
// assert (조건식);
assert (a > 0);
assert
는 조건식이 거짓이면 에러가 발생assert
는 debug mode 에서만 동작 # 예시
main() {
int a = 10;
int b = 20;
if (a < b) {
print("$a < $b");
} else {
print("$a >= $b");
}
// assert (a > b);
var port = [22, 25, 53];
switch (port[0]) {
case 22:
print("SSH: 22");
break;
case 25:
print("SMTP: 25");
break;
case 53:
print("DNS: 53");
break;
}
}
------------------------------------------------------------------------------------------
# 결과
10 < 20
SSH: 22
for
while
do
~ while
# for
// for (초기화; 조건식; 증감식) {
// 실행문;
// }
for (int i = 1; i < 5; 1++) {
print("i = $i");
}
for
는 반복문의 가장 기본i += 2
를 통해 2씩 증가도 가능# while
// while (조건식) {
// 실행문;
// }
int a = 0;
while (a < 5) {
print("Hello");
a++;
}
while
은 조건식이 참이면 내부를 순환하는 구조switch
처럼 break
를 지원하기 때문에 특정 조건에서 멈추고 싶다면 break
를 사용하면 됨continue
를 사용하면 됨# do ~ while
// do {
// 실행문;
// } while (조건식);
int a = 0;
do {
print("hello");
} while (a > 0);
do
~ while
에서는 while
과 딱 하나의 차이 존재while
은 조건식을 확인하고 참일 때 실행하기 때문에 처음 조건식 확인 시 거짓이면 한 번의 실행도 없이 종료do
~ while
은 일단 한 번 실행함 ( do
)while
의 조건식을 보고 참이면 다시 반복하고 거짓이면 종료# 예시
main() {
var numbers = {};
for (int i = 0; i < 5; i++) {
numbers[i] = i;
print("[for] numbers[$i] = ${numbers[i]}");
}
print("");
int i = 0;
while (i < 5) {
print("[while] numbers[$i] = ${numbers[i]}");
i++;
}
print("");
i = 0;
do {
print("[do-while] numbers[$i] = ${numbers[i]}");
} while(i < 5);
}
Tip! 참고
- 클래스 외부 에서 하나의 기능을 하는 함수는 Function 이고 클래스 내부 에 있는 멤버 함수는 Method 라고 함
- 또한 멤버 변수는 객체가 생성되면 인스턴스 변수라고 함
# class
// class 클래스명 {
// 멤버 변수
// 멤버 함수
// }
class Person {
String name;
getName() {
return name;
}
}
new
키워드를 사용# 예시
class Person {
late String name;
late int age;
getName() {
return name;
}
}
main() {
var student = new Person();
var teacher = Person();
student.name = "Kim";
teacher.name = "Park";
print("student name = ${student.getName()}");
print("teacher name = ${teacher.getName()}");
}
------------------------------------------------------------------------------------------
# 결과
student name = Kim
teacher name = Park
(참조형 변수.멤버)
# 예시
class Person {
late String name;
late int age;
getName() {
return name;
}
}
main() {
var student = new Person();
var teacher = Person();
Person person = Person();
student.name = "Kim";
teacher.name = "Park";
person.name = "Unknown";
print("student name = ${student.getName()}");
print("teacher name = ${teacher.getName()}");
print("person name = ${person.getName()}");
}
------------------------------------------------------------------------------------------
# 결과
student name = Kim
teacher name = Park
person name = Unknown