728x90

 

배열의 변수명을 그냥 print찍으면 아래처럼 주소값이 나온다

배열 안에 값을 어떻게 하면 볼 수 있을까?

 

배열 값, 출력하는 방법

1)for문

int[] baseArr = {1,2,3,4,5};

for(int i=0; i<baseArr.length;i++) {
	System.out.print(baseArr[i] + " ");       // 1 2 3 4 5
}

 

2)Arrays.toString()

java.util.Arrays의 toString() 메소드 : Arrays.toString()

int[] baseArr = {1,2,3,4,5};
System.out.println(Arrays.toString(baseArr)); // [1, 2, 3, 4, 5]

 

 

두 방법의 출력 방식이 다르다

for문은 1 2 3 4 5 하나씩 값이 찍히고

Arrays.toString()은 하나의 배열로 배열 자체 전체 값이 찍힌다

필요한 데이터 형태에 따라 골라쓰면 될 듯 하다

728x90
반응형
728x90

 

 

728x90
반응형
728x90

 

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 수업을 기초로 다른 필요한 것들을 베워나가면 된다

 

 

728x90
반응형
728x90

8.문자와 문자열

 

하나의 문자는 홑따옴표로 감싸줘야함. 캐릭터 타입의 변수에 저장할 있음

  • 홑따옴표 안에 두개 이상의 문자를 넣을 경우 에러

 

char ch = 'A';

char ch = 'AB';  // error

 

 

String s = "ABC";

  • 문자가 연속적으로 이어져 있는 것을, 문자열 or 문자열 리터럴이라고 부름
  • 문자열을 저장하려면 변수타입이 String이어야함
  • String 원래 자바에서 제공하는 class. 문자열을 다룰 사용
  • 문자열 class 워낙 자주 쓰이기에,  얘만 기본형 변수에 값을 저장하는 것과 같은 표현을 허용함

 

 

 

※ 문자열 출력별 차이

String s1 = "AB";

String s2 = new String("AB");

  • 위의 문장의 거의 같고 보통 위에 문장 사용
  • 차이는 9장에서

String s = "A";  // 문자 하나. ok

String s = "";   // 문자열. ok

char ch = '';    // 문자열. error

 

String s1 = "A" + "B"  // 결과값 "AB" : 문자열 하나로 결합하라는

  • "" + 7 "" + "7"   "7" : (숫자를 문자열로 캐스팅한 )
  • 문자열은 문자열하고만 결합이 가능해서 숫자7 문자열로 바꾸고 결합한
  • 숫자에 문자열을 결합하면 문자열 숫자가 되는
  • 연산 진행 순서는

ex) ""+7+7 "7"+7 "7"+"7" "77"

ex) 7+7+"" 14+"" "14"+"" "14"

 

문자열 + any type 문자열

any type + 문자열 문자열

 

728x90
반응형
728x90

출처: <https://www.youtube.com/watch?v=C163_91Ohic&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=10>

[자바의 정석 - 기초편] ch2-1~2 화면에 글자 출력하기, 덧셈 뺄셈 계산하기

 

학습목표

프린트와 프린트ln 이용하여 화면 출력

 

새프로젝트 생성

빈공간 우클릭 new - java project

 

println() : 출력 줄바꿈까지 실행

print() : 출력만 실행

 

*사칙연산 코드

더하기 : +

빼기 : -

나누기 : /

곱하기 : *

728x90
반응형
728x90

f-string 이모저모

 

f-string 실험

  • 같은 칸 안에 출력이 한칸에 하나만 가능. 마지막꺼만 출력됨
  • 변수명을 다르게 설정해도 마지막꺼만 출력됨
  • 3자리마다 출력코드 : ex) f'{dis:,}'

 

728x90
반응형

+ Recent posts