java

java/자바의 정석 연습문제 오답노트

[배열] 연습문제 5-5

문제: 다음은 1과 9사이의 중복되지 않은 숫자로 이루어진 3자리 숫자를 만들어내는 프로그램이다. (1)~(2)에 알맞은 코드를 넣어서 완성하시오. class Exercise5_5 { public static void main(String[] args) { int[] ballArr = {1,2,3,4,5,6,7,8,9}; int[] ball3 = new int[3]; // 배열 ballArr의 임의의 요소를 골라서 위치를 바꾼다. for(int i=0; i

java/기본문법

[보충]Iterator를 쓰는 이유

list,set,map 컬렉션은 모두 구조가 다르다. 만약 값들을 반복적으로 읽는다고 가정하면 각기 다른 명령문을 내려줘야한다. Iterator는 모든 컬렉션에 같은 명령문을 넣어 이 문제를 해결한다. HashSet 컬렉션을 써서 get()메서드로 값을 반복적으로 읽어오려한다. 하지만 HashSet에는 get()메서드가 없으므로 오류가 뜬다. 대신 Iterator를 쓰면 어떤 컬렉션이든 사용할 수 있다. 출처:자바의 정석 기초편(저자:남궁성 출판사:도우출판)

java/자바의 정석 연습문제 오답노트

[배열] 2차원 배열의 총합 / 평균 구하기

문제: 2차원 배열 arr에 담긴 모든 값의 총합과 평균을 구하는 프로그램을 완성하시오. class Exercise5_4 { public static void main(String[] args) { int[][] arr = { {5, 5, 5, 5, 5}, {10, 10, 10, 10, 10}, {20, 20, 20, 20, 20}, {30, 30, 30, 30, 30} }; int total = 0; float average = 0; System.out.println("total="+total); System.out.println("average="+average); } } 2차원 배열의 총합과 평균을 구하는 문제다. 중첩의 for문으로 arr의 값들을 표현하는데까지 생각이 갔다. 그걸 코드로 풀어보니..

java/자바의 정석 연습문제 오답노트

[제어문과 반복문]별 찍기

학습목표: 중첩 for문을 이해한다. 1. 별을 보면 횟수가 거듭될수록1.공백의 갯수는 작아진다. 2. 별의 갯수는 늘어난다는 법칙을 알 수 있다. 이 두 법칙을 코드로 옮기는 게 별을 찍는데 관건이 되겠다. 문제를 간단히 보기위해 세로를 'i'로 가로를 'j'로 놔두자. 그러면 i의 수가 증가할수록 j의 공백은 감소하고 별은 증가하는 걸 알 수 있다. 이를 코드로 나타낸다면 아래와 같다. 코드를 보면 바깥쪽 for문이 실행되면 안쪽의 for문은 조건에 따라 공백을 쓰기도 별을 찍기도 한다. 여기서 포인트는 안의 for문에서 '조건이 변하는 때'인데 조건을 보면 i의 값이 j의 값보다 커질 때 조건이 변화되는 걸 알 수 있다. i가 1일때 j는 i와 같아지는 1에서 변화가 생기고 i가 2일 때 j가 2이..

java/기본문법

[배열]배열의 생성과 선언 그리고 인덱스

배열이란? 배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것이다. 만약 한 학급의 시험점수를 저장하고자 한다면 다음과 같은 5개의 변수를 선언 해야한다. 점수에 대한 변수가 5개나 된다. 너무 많다. 변수를 하나로 묶을 수 있는 방법이 없을까? 배열은 이 문제를 해결한다. score1, score2, score3, score4, score5로 선언된 변수를 배열을 사용하면 위와 같이 하나의 코드로 묶을 수 있다. 다만, 배열을 사용하기 위해선 '같은 타입'이어야 한다는 조건이 있다. 배열의 선언과 생성 배열을 선언하는 방법은 두 가지가 있다. '타입 [] 변수이름;'과 '타입 변수이름[];' 두 방법이다. 두 방법 모두 쓰이지만 앞의 방법을 주로 사용한다. 배열을 선언한 다음에는 배열을 생성해야..

java/기본문법

[조건문과 반복문]break문, continue문

break문 break문은 자신이 포함된 가장 가까운 반복문을 벗어난다. 주로 if문과 함께 사용되어 특정 조건을 만족할 때 반복문을 벗어나게 된다. while문은 조건식이 true로 되어있어 무한반복한다. 하지만 if아래에 있는 break문을 통해 반복을 제어할 수 있다. 만약 if문의 조건식대로(sum >100) 총합이 100을 넘어설 경우 break문이 작동하여 while문을 벗어나 출력하게된다. continue문 continue문은 반복문 전체를 벗어나지 않고 반복을 계속 수행한다는 점에서 break문과 다르다. continue문은 특정 조건을 만족하면 이후의 문장을 수행하지 않고 다음 반복으로 넘어가서 계속 진행하도록 한다. 전체 반복 중에서 특정 조건시 반복을 건너뛸 때 유용하다. 다음은 co..

java/기본문법

[조건문과 반복문]while문, do-while문

while문 while문은 for문과 함께 조건문으로 쓰인다. whlile문은 for문에 비해 조금 더 복잡하며 조건식에 따라 반복 횟수를 알 수있는 for문과 달리 while문은 '참(true)'인 동안만 반복되어 반복횟수를 알 수 없다. while문은 '①조건식'이 true이면 ②문장이 수행되다가 false의 조건값이 만족되면 반복이 중지된다. while문의 형태는 아래와 같다. for문과 while문의 비교 왼쪽은 for문 오른쪽은 while문이다. 둘 모두 초기화, 조건식, 증감식의 요소를 가지고 있다. 그렇다면 코드가 간결한 for문을 쓰면되지 왜 while문을 사용할까? for문은 초기화나 증감식이 필요한 반면에 while문은 그렇지 않다. while문은 단지 조건식이 '참(true)'의 값을..

java/기본문법

[조건문과 반복문] for문

for문 반복문은 for문과 while문이 있다. for문은 반복횟수를 알고있을 때 사용하고 반대로 while문은 반복횟수를 알 수 없을 때 사용한다. 그중 for문을 알아보자. for문은 ①초기화 ②조건식 ③수행될 문장 ④증감식 순으로 작성된다. 조건식에서 참이되면 ②,③,④ 순으로 반복되고 조건식에서 거짓이 되면 for문은 끝나게 된다. 이것을 코드문으로 작성하면 아래와 같다. i의 값이 1이 대입되는 순간부터 "I can do it."이라는 문장이 출력된다. i++에 따라 i의 값이 하나씩 증가하면서 i의 값이 5가 될 때 까지 "I can do it." 문장이 출력된다. 초기화 초기화는 처음에 한번만 수행된다. 또한 둘 이상의 변수를 사용할 수 있는데 두 변수의 타입이 같아야 한다. for(int..

각시탈코더
'java' 카테고리의 글 목록 (3 Page)