JAVA1 - 14.1. 나의 앱 만들기 - 오리엔테이션 1
사업의 메커니즘
나의 이 현실을 자바를 통해서 어떻게 구원받을 것인가 ?
다음시간부터는 궁리한 것을 구현하는 방법을 배워보자
JAVA1 - 14.2. 나의 앱 만들기 - 기본 기능 구현
내가 팔고 싶은 물건의 부가가치세 10% 를 알아내야한다
System.out.println("Value of supply : " + 10000.0);
System.out.println("Value of supply : " + 10000.0*0.1);
결과값 1000.0
여기까지는 계산기가 더 편하겠지만 아래부터는 자바가 더 좋다
System.out.println("Value of supply : " + 10000.0);
System.out.println("VAT : " + 10000.0*0.1);
System.out.println("Total : " + ( 10000.0 + 10000.0*0.1)); // 공급가+부가가치세로 최종 판매가 도출
System.out.println("Expense : " + ( 10000.0*0.3)); // 얼마를 벌었는지 알려면? 쓴 비용을 빼야함(ex:재료값,장비값,인건비등)
System.out.println("income : " + ( 10000.0 - 10000.0*0.3)); // 공급가-비용=수입
System.out.println("Dividend 1 : " + ( 10000.0 - 10000.0*0.3) * 0.5); // 배당1
System.out.println("Dividend 2 : " + ( 10000.0 - 10000.0*0.3) * 0.3); // 배당2
System.out.println("Dividend 3 : " + ( 10000.0 - 10000.0*0.3) * 0.2); // 배당3
결과값
Value of supply : 10000.0
Value of supply : 1000.0
Total : 11000.0
Expense : 3000.0
income : 7000.0
Dividend : 3500.0
Dividend : 2100.0
Dividend : 1400.0
※ 이클립스 Find/Replace 기능
원하는 문자 또는 숫자를 원하는 내용으로 스위칭해주는 기능
[ 상단 search 버튼 ] or [ 상단 Edit 탭 ]-[Find/Replace]
JAVA1 - 14.3. 나의 앱 만들기 - 변수도입
※ 한번에 같은 변수명으로 변경하는 기능
- 10000.0이라는 공급가 숫자를 변수 valueOfSupply 로 한방에 다 바꿔줌
- Preview기능 참고
- 주의사항 : 일괄변환시 의도치않은 바꿔선 안될 글자도 바꿀 수 있기에 조심 ( 코드양이 많을시 특히 )
[ 바꾸기를 원하는 글자 위 우클릭 ]-[Refactor]-[Extract Local Variale]
※ 이클립스 , 써져있는 숫자를 아직 만들지 않은 변수로 바꿀 경우
빨간밑줄 에러 표시 뜨고 해결책으로 해당 변수명을 만들건지 물어보는 툴팁이 뜬다
변경 전 숫자의 데이터 타입을 보고 데이터 타입과 해당 변수명을 윗줄에 만들어준다
변수나 값 하나만도 가능하고, 식 전체도 가능
변수 도입 ( 변수로 변환과정 , 코드 간소화 )
1) 위의 코드에서 공급가인 10000 을 변수 valueOfSupply 로 변경
2) 부가가치세인 0.1 을 VAT 변경 & 변수 설정
3) 비용인 0.3 을 Expense 로 변경 & 변수 설정
4) valueOfSupply*vatRate 식을 VAT 로 변경 & 변수 설정
5) valueOfSupply + vat 식을 total 로 변경 & 변수 설정
6) valueOfSupply - expense 식을 income 으로 변경 & 변수 설정
7) (valueOfSupply - expense) * 0.5 식을 각각 dividend1~3 으로 변경 & 변수 설정
8) 마지막 코드정리 : 변수들 위로 다 올려서 보기좋게 . println() 들만 모아서 아래로
수학식처럼 최대 한 풀어서 쓰고, 이고 잉님 예제처 럼 하나 씩 변 환과정 거치거나 정리해서 코드 간소화하는 훈련 !
# 이것이 코드 간소화인 것인가? 컬쳐쇼크
점점 복잡해져가는 코드가 저렇게 간단하게...
개인적으로 더 잘하고 싶게끔 의욕을 불태우게 하는 내용이었다
# 음… 저런 코드개선 작업에서
중간값의 변수를 코드하는거랑 전체식에서 초기에 계산값의 변수를 그냥 두는거랑 뭐가 더 빠를까… ?
일단 지금은 빠르게 자바 전체 틀부터 잡자
JAVA1 - 14.4. 나의 앱 만들기 - 입력값 도입
고객 혹은 유저가 지불한 혹은 입력한 값을 출력값에 반영하도록 코드를 짜보자
공급가 valueOfSupply 의 값을 서로 다른 출력값으로 주는 프로그램을 만들고 싶을 때
아래 2 번 args 에 입력값이 들어오도록 약속이 되어있으며 , 이클립스에서
[ 상단 run 버튼의 아래화살표 누르고 Run configurations 클릭 ] - [Java application 탭 ] -[ accounting app( 클래스명 ) 클릭 ] - [arguments 탭 ] argument 항목에 20000.0 넣고 name 항목에도 클래명에 추가로 20000.0 적어서 알리고 apply 클릭
(혹시 목록에 없다면 클래스를 실행시키고 다시 확인해볼 것)
3 번에서 밑줄에 빨간줄 에러표시가 뜬 것은 2 번 args 에 입력값을 받게 되어있는데 1 번에서 2 번의 데이터 타입을 Str 타입으로 지정해줬고 따라서 2 번 args 의 데이터타입은 str 인데 이 값을 double 타입인 3 번 args 에 넣을려고 하니 에러표시가 뜬 것
*String[] args 의미 = 데이터상으로 문자열을 값으로 하는 배열
검색 및 해결 : string to double java
- Double.parseDouble()
만들고 있는 어플리케이션에서 자주쓰는 것들을 추가하고 싶다면 ?
run configuration 에서 아까 arguments 의 값을 넣었던 AccountApp( 클래스명 ) 우클릭 Duplicate - 원하는 arguments 값과 naming
실행할 때마다 이클립스는 켜야하는 번거로움 해결
cmd 실행
( 명령어입력 ) java 파일명 : 에러발생
( 명령어입력 ) java 파일명 args 수치입력 : ex)java AccountingApp 3333.0
- 다른 컴퓨터에 이 자바파일만 있으면 손쉽게 실행가능
- 자바가 없을 경우 , launch4j 같은 프로그램으로 JVM 까지 통째로 실행파일 포함시켜서 쓸려는 컴퓨터에 자바 환경설정이 안어있어도 실행가능하게한다
JAVA1 - 14.5. 나의 앱 만들기 - 오리엔테이션 2
수업방향 : java1 수업을 기초로 다른 필요한 것들을 베워나가면 된다