[Java] 6주차 복습 - chap 12, 13

2022. 1. 21. 17:14·Java

ㅎㅎ 요즘 알바하느라 정신없어서 공부를 좀 게을리했음 크흠 (진짜 3일 일하고 몸살났었어.. 이렇게 체력거지일줄 몰랐음)

1월 말까지 JAVA 끝내자..

 

#가보자고

 

Chap 12. 콘솔 입력과 출력

12-1 콘솔 출력

(1) toString 메소드 

println 또는 print에 인스턴스의 참조 값이 전달되면 해당 참조 값이 참조하는 인스턴스의 toString 메소드가 반환하는 문자열 출력

Box class에서는 입력받은 문자열을 toString 메소드를 통해 출력해준다.

System.out.println(stb.toString()) : StringBuilder 타입의 stb를 toString을 통해 문자열로 바꿔준뒤, 해당 레퍼런스 출력System.out.println(stb) : 자동으로 stb에 저장된 내용이 toString을 통해 문자열로 변환되어 출력된다.System.out.println(box.toString()) : box 클래스에 저장되어있는 toString() 메소드를 통해 내용을 출력한다.System.out.println(box) : 모든 class는 java.lang의 object 클래스를 상속받음. 따라서 인스턴스만 호출하였을 경우, object 클래스의 toString()이 자동으로 호출되며 이를 통해 object의 정보가 출력된다. 단, 이때 호출되는 toString()은 Box 클래스의 toString() 메소드 처럼 오버라이트 되지 않았기 때문에 사용자가 원하는 형태로 결과가 출력되지 않을 수 있다.

 

(2) 문자열의 조합 printf 메소드 (서식 지정자)

서식 지정자 출력의 형태
%d 10진수 정수 형태의 출력
%o 8진수 정수 형태의 출력
%x 16진수 정수 형태의 출력
%f 실수의 출력
%e e 표기법 기반의 실수 출력
%g 출력의 대상에 따라서 %e 또는 %f 형태의 출력
%s 문자열 출력
%c 문자 출력

System.out.printf("정수는 %d, 실수는 %f, 문자는 %c", 12, 24.5, 'A')

=> "정수는 12, 실수는 24.5, 문자는 A"

 

13-2 콘솔 입력

(1) Scanner 클래스

nextInt() 함수는 공백, 엔터, Tab를 기준으로 다음 Int값 직전의 Int값을 읽어들이는 메소드이다. num1, num2, num3에는 각각 1, 3, 5가 저장된다.

입력으로는 File source, String source, InputStream source 등이 들어올 수 있다.

 

System.in을 통해 inputStream(표준입력스트림, 키보드로 입력받은 값)을 입력받게 된다.

(2) Scanner 클래스의 주요 메소드들

 


 

Chap 13. 배열

13-1 1차원 배열의 이해와 활용

(1) 1차원 배열의 이해와 선언 방법

더보기

1차원 배열이란?

- 타입이 같은 둘 이상의 데이터를 저장할 수 있는 1차원 구조의 메모리 공간

 

1차원 배열의 선언 방법

- int[] ref = new int[5];    //길이가 5인 int형 1차원 배열의 생성문

(2) 배열 선언문에 대한 세세한 이해와 결과

(3) 1차원 배열의 예

인스턴스의 멤버 변수로서 멤버가 값을 갖게 됨

(4) 인스턴스 대상 1차원 배열의 예

ar은 인스턴스 객체를 가리키는 참조변수가 된다.

(5) 배열의 활용 : 값의 저장과 참조

각각의 값의 요'소에 값을 저장할 수 있다.

(6) 배열을 생성과 동시에 초기화

 

배열 생성

- int[] arr = new int[3];     // [ ]안에 숫자를 넣어 크기를 지정

 

배열 생성 및 초기화1

- int[] arr = new int[]{1, 2, 3};    //{ } 안의 갯수를 통해 크기가 자동으로 결정되므로 [ ]안이 비어야 한다.(중복x)

 

배열 생성 및 초기화2

- int[] arr = {1, 2, 3};

 

(7) 배열 대상 참조변수 선언의 두 가지 방법

int [] ar = new int[3];    //조금 더 선호하는 방법

int ar[] = new int[3];

 

(8) 배열의 디폴트 초기화

기본 자료형 배열은 모든 요소 0으로 초기화

int[] ar = new int[10];

 

인스턴스 배열(참조변수 배열)은 모든 요소 null로 초기화 (c의 포인터와 유사하다)

String[] ar = new String[10];

 

(9) 배열의 초기화 메소드와 배열 복사 메소드

java.util.Arrays 클래스에 정의되어 있는 메소드로, 원하는 값으로 배열 전부 또는 일부를 채울 때 사용하는 메소드이다.
java.lang.System 클래스에 정의되어 있는 메소드, 한 배열에 저장된 값을 다른 배열에 복사할 때 사용하는 메소드

(10) main 메소드의 매개변수 선언

public static void main(String[] args) {....} 에서 String[] args의 의미

- String 배열로 문자열이 여러가지 들어올 수 있는 여지를 준다.

- main을 호출해야 한다면 다음과 같이 호출할 수 있다.

       String[] arr = new String[] { "Coffee", "Milk", "Orange"};

       main(arr);

.

C:\JavaStudy>java Simple

    String[] arr = new String[] {  };

    main(arr);

    일반적으로 그냥 실행했을 때에는 매개변수가 없는 깡통 형태로 실행된다.

    (빈 array가 만들어지므로, 아무일도 일어나지않는다.)

.

C:\JavaStudy>java Simple Coffee Milk Orange

    String[] arr = new String[] {"Coffee", "Milk", "Orange"};

    main(arr);

    Simple를 실행했을 때 3개의 문자열이 인자로 들어온다. 해당 인자를 내용으로 갖는 배열 arr가 만들어진다.

13-2 enhanced for문

(1) enhanced for문(for - each문)의 이해

배열의 단순출력 처리할때는 for-each문을 사용하면 편리하다. 
for-each문의 예

(2) 인스턴스 배열 대상 for-each 문의 예

 

13-3 다차원 배열의 이해와 활용

(1) 2차원 배열의 생성

가로는 행, 세로는 열 (행가세열) 

 

(2) 2차원 배열의 실제 구조

arr이라는 참조변수는 배열의 시작점을 가리킨다. 

행의 첫번째 열의 값(레퍼런스)을 1차원 배열 arr에게 준다.

 

(3) 2차원 배열의 초기화

 

 

 

'Java' 카테고리의 다른 글

[Java] 5주차 복습 - Chap 10, 11  (0) 2022.01.13
[Java] 4주차 복습 - Chap 07, 08, 09  (0) 2022.01.06
[Java] 3주차 복습 - Chap 05, 06  (3) 2022.01.04
[Java] 2주차 복습 - Chap03, 04  (3) 2022.01.03
[Java] 1주차 복습 - Chap01, 02  (2) 2021.12.29
'Java' 카테고리의 다른 글
  • [Java] 5주차 복습 - Chap 10, 11
  • [Java] 4주차 복습 - Chap 07, 08, 09
  • [Java] 3주차 복습 - Chap 05, 06
  • [Java] 2주차 복습 - Chap03, 04
공부하는 나무꾼
공부하는 나무꾼
  • 공부하는 나무꾼
    헤맨 만큼 내 땅이다
    공부하는 나무꾼
  • 전체
    오늘
    어제
  • 글쓰기/관리
    • 분류 전체보기
      • AWS
      • SAA-C03
      • 네트워크 보안
      • 최신정보보안이론
      • 컴퓨터네트워크
      • OpenFaaS
      • C++
      • Java
      • HTML, CSS
      • 자료구조
      • 알고리즘
      • 정보보안인재양성
      • [MAC]트러블슈팅&Tip
      • 공부
      • Web(Django)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    등록번호
    web application server
    java #자바 #객체지향프로그래밍 #복습
    Web Server
    AWS
    WAS
    자격증
    웹애플리케이션서버
    클라우드
    SAA-C03
    aws-c03
    웹서버
    웹클라이언트
    cloud
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
공부하는 나무꾼
[Java] 6주차 복습 - chap 12, 13
상단으로

티스토리툴바