if 문
void main(){
int number = 5;
if(number % 3 == 0){
print('나머지가 0 입니다.');
}else if(number % 3 == 1){
print('나머지가 1 입니다.');
}else{
print('나머지가 2 입니다.');
}
}
switch
void main(){
int number = 5;
switch(number % 3){
case 0:
print('나머지가 0입니다.');
break;
case 1:
print('나머지가 1입니다.');
break;
default:
print('나머지가 2입니다.');
break;
}
}
for loop (반복문)
void main(){
int total = 0;
List<int> numbers = [1, 2, 3, 4, 5, 6];
for(int i = 0; i < numbers.length; i++){
total += numbers[i];
}
print(total); // numbers안에 모든 수를 더한값 구하기
total = 0;
for(int number in numbers){
total += number;
}
print(total); 위 for문과 동일하게 numbers안의 모든 수를 더한값 구하기
}
while loop
void main(){
int total = 0;
while(total < 10){ // 조건 설정 중요!!
total += 1;
}
print(total); total이 10이 될때까지 반복
total = 0;
do{
total += 1;
} while(total < 10);
print(total); total이 10이 될때까지 반복(잘 사용하지 않음!!)
total = 0;
while(total < 10){
total += 1;
if(total == 5){
break;
}
}
print(total); // 5출력
total = 0;
for(int i = 0; i < 10; i++){
total += 1;
if(total == 5){
break;
}
}
print(total); // 5출력
}
void main(){
for(int i = 0; i < 10; i++){
if(i == 5){
continue; //i가 5가 되면 print(i)를 실행하지 않고 다음(i값 1증가)으로 계속된다.
}
print(i); // 0,1,2,3,4,6,7,8,9 가 순서대로 출력
}
}
enum Status {
approved, //승인
pending, //대기
rejected, //거절
} // 정확한 타입을 사용 할 수 있게 강제 할 수 있다.
void main() {
Status status = Status.pending;
if (status == Status.approved) { // 오타 방지 등 타입이 있음을 알림
print('승인되었습니다.');
} else if (status == Status.pending) {
print('대기중입니다.');
} else {
print('거절되었습니다.');
}
}
함수 선언법
함수란? 반복되는 기능은 재사용 할 수 있게 해준다.
함수가 어떤 역할을 할지 먼저 작성하고 함수를 정리하는 것이 중요!!!
void main() {
addNumbers();
}
// 세개의 숫자 (x,y,z)를 더하고 짝수 인지 홀수 인지 알려주는 함수
addNumbers() {
int x = 10;
int y = 20;
int z = 30;
int sum = x + y + z;
print('x : $x');
print('y : $y');
print('z : $z');
if (sum % 2 == 0) {
print('더한 값은 짝수 입니다.');
} else {
print('더한 값은 수 입니다.');
}
}
재사용을 위해 parameter(=argument) 선언 (positional parameter= 순서가 중요한 파라미터)
void main() {
addNumbers(1, 5, 3);
}
// 세개의 숫자 (x,y,z)를 더하고 짝수 인지 홀수 인지 알려주는 함수
addNumbers(int x,int y,int z) {
int sum = x + y + z;
print('x : $x');
print('y : $y');
print('z : $z');
if (sum % 2 == 0) {
print('더한 값은 짝수 입니다.');
} else {
print('더한 값은 홀수 입니다.');
}
}
optional parameter (있어도 되고 없어도 되는 파라미터)
void main() {
addNumbers(1);
}
addNumbers(int x,[int y = 5,int z = 5]) {
// 필수로 입력하는 값은 x 하나 y와 z는 임의로 숫자를 기본값으로 넣어 준다. null이면 안되기 때문
int sum = x + y + z;
print('x : $x');
print('y : $y');
print('z : $z');
if (sum % 2 == 0) {
print('더한 값은 짝수 입니다.');
} else {
print('더한 값은 홀수 입니다.');
}
}
named parameter (이름이 있는 파라미터 -순서가 중요하지 않음)
void main() {
addNumbers(x: 1,y: 5,z: 3);
addNumbers(z: 3,x: 5,y: 6); // 순서가 바뀌어도 상관 없다.
}
// 세개의 숫자 (x,y,z)를 더하고 짝수 인지 홀수 인지 알려주는 함수
addNumbers({
required int x,
required int y,
required int z
// required를 지우고 optional parameter와 같이 int z = 3 기본값을 넣어주면 동일한 기능
}) {
int sum = x + y + z;
print('x : $x');
print('y : $y');
print('z : $z');
if (sum % 2 == 0) {
print('더한 값은 짝수 입니다.');
} else {
print('더한 값은 홀수 입니다.');
}
}
void
void main() {
int result = addNumbers(x: 1, y: 5, z: 3); // 반환 되는 값을 변수 result로 선언
int result2 = addNumbers(z: 3, x: 5, y: 6);
print(result);
print(result2);
}
int addNumbers(
{ // 반환되는 값의 타입을 선언
required int x,
required int y,
required int z}) {
int sum = x + y + z;
print('x : $x');
print('y : $y');
print('z : $z');
if (sum % 2 == 0) {
print('더한 값은 짝수 입니다.');
} else {
print('더한 값은 홀수 입니다.');
}
return sum;
} // 더한 값을 반환 한다.
arrow function - 화살표 함수
void main() {
int result = addNumbers(x: 1, y: 5, z: 3); // 반환 되는 값을 변수 result로 선언
int result2 = addNumbers(z: 3, x: 5, y: 6);
print(result);
print(result2);
}
int addNumbers(
{ // 반환되는 값의 타입을 선언
required int x,
required int y,
required int z}) =>
x + y + z; // x+y+z 값을 반환하는 함수
typedef
void main() {
Operation operation = add; //비어있는 함수 Operation타입 operation에 함수 add를 변수로 선언
int result = operation(10, 6, 3); //파라미터 값을 넣어주고 결과를 변수 result에 저장
print(result); // 출력
operation = subtract; //operation에 함수 subtract를 변수로 재 선언
int result2 = operation(18, 3, 6); //파라미터 값을 넣어주고 결과를 변수 result2에 저장
print(result2); // 출력
int result3 = calculate(5, 6, 9, add);
print(result3);
int result4 = calculate(19, 8, 2, subtract);
print(result4);
}
typedef Operation = int Function(int x, int y, int z); // 시그니처라고 부른다.
//비어있는 함수 타입 Operation을 만들다. signature
// 더하기
int add(int x, int y, int z) => x + y + z; // 같은형식의 값을 반환하는 함수를 만든다.
// 빼기
int subtract(int x, int y, int z) => x - y - z; //같은형식의 값을 반환하는 함수를 만든다.
// 계산 실제로 많이 사용하는 방법
int calculate(int x, int y, int z, Operation operation) {
return operation(x, y, z);
}
4-1. Asynchronous Programming (비동기 프로그래밍) (0) | 2023.09.07 |
---|---|
3. Functional Programming (함수형 프로그래밍) (0) | 2023.09.05 |
2. 객체지향 프로그래밍 2 (0) | 2023.09.05 |
2. 객체지향 프로그래밍 1 (0) | 2023.09.01 |
1. 기본기 1 (0) | 2023.08.30 |