자바 안드로이드 앱개발 강좌, 조건문과 반복문

안드로이드 애플리케이션 개발은 기본적으로 자바 프로그래밍 언어에 의존합니다. 조건문과 반복문은 프로그래밍의 가장 기본적인 언어 구조이며, 이들 없이는 앱의 기능을 구현하기 어렵습니다. 이번 포스팅에서는 자바를 활용한 조건문과 반복문에 대한 상세한 설명과 함께, 이를 활용한 예제 코드를 제공하겠습니다.

1. 조건문에 대한 이해

조건문은 특정 조건이 참(true)인지 거짓(false)인지에 따라 프로그램의 흐름을 제어하는 데 사용됩니다. 자바에서는 주로 if, else, switch와 같은 조건문을 사용합니다.

1.1 if 문

가장 기본적인 조건문은 if 문입니다. 이 조건문은 주어진 조건이 true일 경우 특정 코드를 실행합니다.

if (조건) {
    // 조건이 true일 경우 실행될 코드
}

1.2 else 문

if 문과 함께 사용되는 else 문은 제시된 조건이 false일 경우 실행될 코드를 정의합니다.

if (조건) {
    // true일 경우 실행
} else {
    // false일 경우 실행
}

1.3 else if 문

여러 조건을 검사해야 할 때는 else if를 사용합니다.

if (조건1) {
    // 조건1이 true일 경우 실행
} else if (조건2) {
    // 조건2가 true일 경우 실행
} else {
    // 위 조건들이 모두 false일 경우 실행
}

1.4 switch 문

switch 문은 여러 가지 조건 중 하나를 선택해야 할 때 유용합니다. 보다 깔끔하게 작성할 수 있으며, 복잡한 여러 조건을 다룰 때 유용합니다.

switch (변수) {
    case 값1:
        // 값1일 경우 실행
        break;
    case 값2:
        // 값2일 경우 실행
        break;
    default:
        // 아무 조건과도 맞지 않을 경우 실행
}

2. 반복문에 대한 이해

반복문은 특정 코드 블록을 여러 번 실행할 수 있도록 돕습니다. 자바에는 주로 for, while, do while 반복문이 있습니다.

2.1 for 문

for 문은 반복 횟수가 명확할 때 유용합니다. 초기값, 조건식, 증감식을 지정하여 반복합니다.

for (초기값; 조건; 증감) {
    // 반복 실행할 코드
}

2.2 while 문

while 문은 주어진 조건이 true가 될 동안 반복합니다.

while (조건) {
    // 반복 실행할 코드
}

2.3 do while 문

do while 문은 최소한 한 번은 실행되고, 조건을 검사하여 반복합니다.

do {
    // 실행할 코드
} while (조건);

3. 조건문과 반복문을 활용한 예제

이번에는 간단한 예제를 통해 조건문과 반복문이 실제 안드로이드 앱에서 어떻게 사용되는지 알아보겠습니다.

3.1 예제: 사용자 입력 기반의 계산기 앱

사용자가 두 숫자와 연산자를 입력하면 결과를 출력하는 계산기 앱을 만들어 보겠습니다. 여기서는 조건문과 반복문을 함께 사용합니다.

package com.example.simplecalculator;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private EditText number1EditText, number2EditText;
    private TextView resultTextView;
    private Button calculateButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        number1EditText = findViewById(R.id.number1);
        number2EditText = findViewById(R.id.number2);
        resultTextView = findViewById(R.id.result);
        calculateButton = findViewById(R.id.calculateButton);

        calculateButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                calculate();
            }
        });
    }

    private void calculate() {
        String number1String = number1EditText.getText().toString();
        String number2String = number2EditText.getText().toString();
        if (number1String.isEmpty() || number2String.isEmpty()) {
            resultTextView.setText("모든 입력란을 채워주세요.");
            return;
        }

        int number1 = Integer.parseInt(number1String);
        int number2 = Integer.parseInt(number2String);
        String operator = ""; // TODO: 여기에 연산자 변수 추가

        switch (operator) {
            case "+":
                resultTextView.setText("결과: " + (number1 + number2));
                break;
            case "-":
                resultTextView.setText("결과: " + (number1 - number2));
                break;
            case "*":
                resultTextView.setText("결과: " + (number1 * number2));
                break;
            case "/":
                if (number2 == 0) {
                    resultTextView.setText("0으로 나눌 수 없습니다.");
                } else {
                    resultTextView.setText("결과: " + (number1 / number2));
                }
                break;
            default:
                resultTextView.setText("유효한 연산자를 선택하세요.");
                break;
        }
    }
}

4. 예제의 상세 설명

위의 코드는 사용자가 두 개의 숫자를 입력하고, 연산자를 선택하여 결과를 계산하는 간단한 계산기 앱입니다.

4.1 사용자 입력 처리

사용자로부터 두 개의 숫자를 입력받기 위해 EditText 위젯을 사용합니다. 사용자가 입력한 값을 가져오기 위해 getText().toString() 메서드를 사용합니다.

4.2 조건문 사용

입력된 값이 비어 있는지 검사하기 위해 if 문을 사용하여 사용자에게 모든 입력란을 채우도록 안내합니다.

4.3 switch 문 사용

사용자가 선택한 연산자에 따라 계산을 수행하기 위해 switch 문을 사용합니다. 각 케이스에 따라 해당 연산이 수행되며, 결과가 TextView에 출력됩니다.

4.4 예외 처리

나누기 연산의 경우, 0으로 나누기를 방지하기 위해 추가적인 조건을 검사합니다.

5. 결론

조건문과 반복문은 자바 안드로이드 앱 개발에서 가장 기본적이며 중요한 개념입니다. 상기 예제를 통해 이를 활용하는 방법을 익혔다면, 이를 바탕으로 더 복잡한 로직을 구현할 수 있습니다. 다양한 상황에서 조건문과 반복문을 적절히 사용하여 유용한 애플리케이션을 개발해보시기 바랍니다.

6. 다음 단계

조건문과 반복문을 마스터했으니, 다음 단계는 데이터 구조와 알고리즘을 배우는 것입니다. 리스트, 맵 등을 활용하여 앱의 기능을 확장해보세요. 그리고 사용자 인터페이스와의 상호작용을 더욱더 풍부하게 하기 위해 이벤트 처리에 대해서도 배워야 합니다.

이 포스팅이 유용하셨나요? 댓글로 여러분의 의견을 남겨주세요!