[Java] 자바 기본 문법 3

2023. 4. 17. 20:32·프로그래밍 언어/Java
728x90
반응형

반복문

자바 반복문 종류

  • for 문
  • while 문
  • do while 문

 

for문

for (초기문; 조건식; 반복 후 작업) {
    작업문
}

 

초기문 -> 조건식 -> 작업문 -> 반복 후 작업 (-> 조건식 -> 작업문 -> 반복 후 작업)

 

- 초기문, 조건식, 반복 후 작업 생략 가능

 

while문

while (조건식) {
    작업문
}

 

반복 조건이 참이면 반복, 거짓이면 반복 종료

- 반복 조건이 없으면 컴파일 오류

 

do - while문

do {
   작업문
} while (조건식);

 

작업문 -> 조건식 (-> 작업문 -> 조건식)

 

중첩 반복

반복문이 다른 반복문을 내포하는 주고

너무 많은 중첩 반복은 프로그램 구조를 복잡하게 함 -> 2중 또는 3중 반복이 적당

 

반복문 제어

continue

반복문을 빠져나가지 않으면서 다음 반복으로 진행

 

break

반복문 하나를 완전히 빠져나갈 때 사용

- 중첩 반복의 경우 안쪽 반복문의 break문이 실행되면 안쪽 반복문만 벗어남

 

배열

인덱스와 인덱스에 대응하는 데이터들로 이루어진 자료구조

  • 배열을 이용하면 한 번에 많은 메모리 공간 할당 가능

 

같은 타입의 데이터들이 순차적으로 저장

  • 인덱스를 이용하여 원소 데이터 접근
  • 반복문을 이용하여 처리하기 적합

 

배열 인덱스

  • 0부터 시작
  • 인덱스는 배열의 시작 위치에서부터 데이터가 있는 상대 위치

 

10개의 정수로 구성된 배열

일차원 배열 만들기

배열 선언

int intArray [];
char charArray [];

int [] intArray;
char [] charArray;

 

배열 생성

intArray = new int[10];
charArray = new char [20];

int intArray [] = new int [10];
char charArray [] = new char [20];

 

선언과 동시에 초기화

int intArray [] ={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; //10만큼의 배열 생성

 

잘못된 배열 선언

int intArray [10]; //컴파일 오류, 배열 크기 지정 불가

 

배열 인덱스와 원소 접근

배열 원소 접근

배열 변수 명과 [] 사이에 원소의 인덱스를 적어 접근

- 배열 인덱스는 0부터 시작

- 배열의 마지막 항목의 인덱스는 (배열 크기 - 1)

 

레퍼런스 치환과 배열 공유

하나의 배열을 다수의 레퍼런스가 참조 가능

int intArray [] = new int [5];
int myArray [] = intArray;

 

배열의 크기

배열은 자바에서 객체로 관리

- 배열 객체 내에 length 필드는 배열의 크기를 나타냄

 

배열과 for-each문

for (int k : num) { // num은 배열
}

배열의 각 원소를 순차적으로 접근

 

2차원 배열

선언

int intArray [][];
char charArray [][];

int [][] intArray;
char [][] charArray;

 

생성

intArray = new int [5][10];
charArray = new char [5][20];

int intArray [] = new int [5][10];
char charArray [] = new char [5][20];

 

선언, 생성, 초기화

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

 

2차원 배열의 length

intArray.length // 2차원 배열의 행의 개수 -> 2
intArray[n].length // n번째 행의 열의 개수

 

비정방형 배열

정방형 배열

각 행의 열의 개수가 같은 배열

 

비정방형배열

각 행의 열의 개수가 다른 배열

비정방형 배열의 생성

int i [][];
i = new int [4][];

i[0] = new int [1];
i[1] = new int [2];
i[2] = new int [3];
i[3] = new int [4];

 

메소드에서 배열 리턴

- 배열의 레퍼런스 리턴

- 메소드의 리턴 타입과 리턴 받는 배열 타입과 일치

- 리턴 타입에 배열의 크기를 지정하지 않음

int [] makeArray() {
    int temp [] = new int [4];
    return temp;
}

배열 리턴 과정

main() 메소드

main()에서 자바 응용프로그램 시작

main() 원형

public static void main(String [] args) {
}

 

main(string [] args) 메소드의 인자 전달

main() 메소드의 매개변수로 명령행 인자의 전달

C:\> java Hello abc 3 5.7
/*
args[0] => "abc"
args[1] => "3"
args[2] => "5.7"
*/

 

Run 메뉴의 Run Configurations 항목에서 main() 메소드의 인자 나열

Double.parseDouble()을 사용해 문자열을 실수로 변환하여 사용 가능

728x90
반응형

'프로그래밍 언어 > Java' 카테고리의 다른 글

[Java] 자바 기본 문법 4  (0) 2023.04.17
[Java] 자바 기본 문법 2  (0) 2023.04.17
[Java] 자바 기본 문법 1  (2) 2023.04.17
[Java] 자바 이론  (0) 2023.04.17
'프로그래밍 언어/Java' 카테고리의 다른 글
  • [Java] 자바 기본 문법 4
  • [Java] 자바 기본 문법 2
  • [Java] 자바 기본 문법 1
  • [Java] 자바 이론
dev_ares
dev_ares
대학에서 컴퓨터공학을 전공하고 있는 학생입니다.
    반응형
    250x250
  • dev_ares
    노트
    dev_ares
  • 전체
    오늘
    어제
    • 분류 전체보기 (188)
      • IT 트랜드 (2)
      • 백엔드 (18)
        • Java + Spring (8)
        • Kotlin + Spring (5)
        • 백엔드 (5)
      • 프론트엔드 (1)
        • React (1)
      • 대외활동 (17)
        • 42서울 (17)
      • 백준 (6)
        • Java (2)
        • C++ (3)
      • 전공 (121)
        • 객체지향프로그래밍 (17)
        • 자료구조 (23)
        • 리눅스시스템관리 (16)
        • 컴퓨터구조 (25)
        • 네트워크 (25)
        • 데이터베이스 (15)
        • 기타 전공 (0)
      • 프로그래밍 언어 (18)
        • Java (5)
        • Swift (4)
        • C++ (1)
        • Kotlin (8)
      • 기타 (4)
      • 공군 (1)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    추가 문제
    42서울
    티스토리챌린지
    백준
    데이터패스
    자료구조
    컴공 포트폴리오
    상속
    오블완
    C++
    사설 문제
    자바
    컴퓨터 구조 및 설계
    컴퓨터구조
    코틀린
    반복자
    메모리 계층 구조
    단일 사이클
    리눅스
    명령어
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
dev_ares
[Java] 자바 기본 문법 3
상단으로

티스토리툴바