developer/생활코딩 - JAVA1

[생활코딩 - JAVA1] 3/12 개발공부일지(2) - 조건문(if), 배열(array), 반복문(for, while), method를 활용한 AccountingApp

페달파워 2023. 3. 12. 15:29

if문, 반복문은 기존에 배웠던 언어에서의 코드 형태와 달라지는 게 크게 없어서 따로 포스팅 안하는 걸로.

 

배열(array) 선언

double[] dividendRates = new double[3];
        dividendRates[0] = 0.5;
        dividendRates[1] = 0.3;
        dividendRates[2] = 0.2;

인스턴스 생성하듯이 배열을 선언하네.

하나씩 뜯어보면 

double: 자료형

[]: 배열(array)을 선언 또는 정의할 거다.

dividendRates: 변수 이름

new: 인스턴스 생성을 위해 입력하는 문법요소

double[3]: 자료형은 double인 배열인데 구성요소가 3개다!

 

종합해보면 double의 자료형을 가지는 배열을 dividendRates라는 이름을 부여하여 정의할 건데, 3개의 요소로 구성되어 있다.

 

더보기

요소는 찍었는데, element라고 표현한다고 한다! 굿!!!

근데 배열은 선언과 생성이라고 한다.

 

해당 내용 복붙!

선언하는 방법은 간단하다.
타입[] 변수이름 ;】 의 형식과
타입 변수이름 [];】 의 형식으로 선언이 가능하다.

배열을 선언하는 것은
배열을 다루기 위한 참조변수를 위한 공간만 만들어지는 것이고

정말 값이 저장되는 공간이 만들어주기 위해서는
선언한 배열을 생성해주어야 한다. ▶ 【(배열변수) = new (타입) [ (길이) ]

 

선언이랑 정의는 아니네.. 젠장

 

참고: https://velog.io/@yummygyudon/JAVA-%EB%B0%B0%EC%97%B4Array-%EC%A0%95%EB%A6%AC-1

Method 사용

전역변수(Field Variable) 설정

지역변수(Local Variable) 설정

private, public

 

더보기

아 블로그 정리하기 귀찮아~~~

는 보통 나한테 버거운 과제 뜨면 그랬다.

그전까지는 고만고만, 할만 했어서 여유있게 썼던 거 같고,

Method 사용은 잘 안 해봐서, 학부때도 잘 못했었던 거 같고, 그래서 버벅이다 보니 그 버벅임에 에너지를 다 써서 블로그 정리할 힘이 남아있질 않아.. 라고 자기 위안 해본다. 그래도 정리해야 늘지.. 이노마~~~~~

귀찮아서 소스코드 일단 다 붙여넣고.. 중간에 바꾸면서 확인하는 과정이 너무 귀찮았다.

main 안에 코드는 간결해 지는데(local)

전체 자바 영역(AccountingArrayLoopMethodApp 안, main 밖 영역)에 호출해야할 함수나 선언해야 할 변수가 많아진다. 그거 정리하는 게 귀찮네 ㅜ

그래서 method 적용 전에 코드랑 비교하면서 필요한 부분 수정했다.

이클립스는 뚝딱뚝딱 잘 변환되던데, intellij에서 method 변환(⌃+⌘+m)했을 때 전체변환하면 아니 무슨 기준인지 변수명 있는 거는 다 변환되서 당혹스러웠음. 거기서부터,, 하기 싫은 마음, 나쁜 마음이 시작된 것 같다.

public class AccountingArrayLoopMethodApp {
	// 전역변수 선언
    public static double valueOfSupply = 900000.0;
    public static double vatRate = 0.1;
    public static double expenseRate = 0.3;

    public static void main(String[] args) {

        double vat = getVat();
        double total = getTotal();
        double Expense = getExpense();
        double income = getIncome();
		
        //지역변수 선언
        double rate2 = 0.3;
        double rate1 = 0.5;
        double rate3 = 0.2;
        //변수가 많을수록 더럽혀질 가능성이 높다.


        printPrice();

        double dividend1 = getDividend1();
        double dividend2 = getDividend2();
        double dividend3 = getDividend3();

        double[] dividend = new double[3];
        dividend[0] = dividend1;
        dividend[1] = dividend2;
        dividend[2] = dividend3;

        printout();


        int i = 0;
        while(i < dividend.length) {
            System.out.println("Dividend " + (i + 1) + ": " + dividend[i]);
            i++;
        }
    }
    
	//전역함수 호출
    public static void printout() {
        System.out.println("hohoho");
    }

    public static void printPrice() {
        System.out.println("Value of supply : "+ valueOfSupply);
        System.out.println("VAT : " + getVat());
        System.out.println("Total : "+ getTotal());
        System.out.println("Expense : " + getExpense());
        System.out.println("Income : " + getIncome());
    }


    public static double getIncome() {
        return valueOfSupply - getExpense();
    }

    public static double getDividend1() {
        return getIncome() * 0.5;
    }
    public static double getDividend2() {
        return getIncome() * 0.3;
    }
    public static double getDividend3() {
        return getIncome() * 0.2;
    }

    public static double getTotal() {
        return valueOfSupply + getVat();
    }

    public static double getExpense() { return valueOfSupply * expenseRate; }

    public static double getVat() {
        return valueOfSupply * vatRate;
    }

}

(헐 근데, 코드 블럭에서 언어별로 설정하면 type, method, variable 별로 색이 생기잖아... 이제 알았다)

 

그리고 intellij 화면 좌측 project tree에 보면 설정이 있는데

⚙ > Tree Appearance > Show Members 하면

아래처럼 코드 내 method 나 variable을 확인할 수 있다.