전체 글 28

[220516 - 220520][주간 정리] 반복문, Method , 재귀 함수

이번주 수업은 내용 이해(메소드,힙, 스택영역)와 실습, 지난주 진도 반복(for문, while문)이 주였어서 크게 트러블 슈팅을 작성할 게 없었다. 따라서 [주간 정리]에서 이론적으로 이해한 내용을 정리하고, 미니 프로젝트 코드 리뷰를 통해 트러블 슈팅을 작성하였다. 자바 프로그램은 중간 단계의 바이트 코드이다. 이것을 해석하고 실행을 하려면 가상의 운영체제가 필요하다. 그 가상의 운영체제가 jvm(java virtual Machine)이다. 자바 가상 기계라고도 한다. jvm의 메모리 영역은 크게 3가지 영역으로 구분된다. ① 메소드(Method) 영역 : 클래스들을 클래스 로더로 읽어 클래스별로 런타임 상수 풀, 필드 데이터, 메소드 데이터 등을 분류해서 저장 ② 힙(Heap) 영역 : 객체와 배열..

Java 실습 2022.05.22

[220518] Method

■ 목표 달성 bank ver6 제출하기 (완료) => 자료 중복 검사 추가하기 ■ 트러블 슈팅 (1) public static void main(String [] args){} void : 리턴 받을 값이 따로 없을 경우 char / int / double / String : 리턴 받을 값이 있을 경우, 출력할 값의 자료형 String [] args : 입력받을 값의 자료형 (2) 자료형 들어오는 값이 1.2 double값이므로 public static float로 선언했던 것은 잘못되었다. 1.3f값이라면 float자료형이 가능하지만 그렇지 않으므로 double 자료형으로 선언해야 한다. public static void test2(double d) {System.out.println(d);} pub..

Java 실습 2022.05.19

[220516] Array[][] 2차원 배열

■ 목표 달성 1. 배열을 사용하여 2중 for의 다음을 만들수 있다. int[][] da1=new int[2][3]; :::: 출력된 화면 101 102 103 201 202 203 1. for+length를 이용해서 101~203까지 데이터 대입 2. for+length를 이용해서 출력 ■ 트러블 슈팅 1). for-while-do while 변환 구조 정리 for(초기식 ; 종료조건 ; 증감문){ 반복되는 구문; } 초기식 ; while( 종료조건 ){ 반복되는 구문; 증감문; ★증감문의 위치가 while의 반복구문 내에 존재하는지 밖에 존재하는지 갑자기 헷갈렸다. } 초기식 ; do { 반복되는 구문; 증감문; ★증감문의 위치가 do while의 반복구문 내에 존재하는지 밖에 존재하는지 갑자기 헷..

Java 실습 2022.05.16

[220513] 배열

■ 목표 달성 1. 배열을 사용하여 성적처리를 만들수 있다. (Ex016번예제) (있다) ■ 트러블 슈팅 1)코드 누수 제거. (break; 활용하기) '배열[0]부터 입력받은 값이 있는 곳까지 같은 값이 있는지 확인하는 과정'에서 같은 값이 있으면 이후 처리를 거칠 필요가 없다. 따라서 for문에서 빠져나오는게 필요하다. 그렇지 않으면 불필요한 처리 과정이 생기게 된다. break;를 활용하면 설정한 조건이 true이면 가장 가까운 for문에서 빠져나오게 되므로 필요없는 과정을 거치지 않아도 된다. break;와 continue;를 적극적으로 활용하면 보다 좋은 if구문을 작성할 수 있다. 2) 헷갈렸던 코드 리뷰 //내가 생각했던 코드 for(int j=0;j

Java 실습 2022.05.15

[220512]배열 Array

■ 목표 달성 배열을 사용하여 10 20 30 을 데이터를 대입하고 10 20 30 을 출력할수 있다. (있다) ■ 트러블슈팅 1.Ex008 트러블 슈팅 알고리즘을 처음에 너무 복잡하게 생각함. 한 배열을 지정해서 비교했어야 간단하게 나옴. 코드를 짤 때 다양한 시각으로 접근해야 문제 해결이 쉽게 되는 것 같다... 2. Ex009 연 일 트러블 슈팅 작성하기 //오류가 발생했던 코드 for (int i = 1; i < year; i++) { if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { sum += 366; } else { sum += 365; } } 일 수를 계산하는 알고리즘 중 입력한 연도 전까지의 일 수를 더하는 코드였는데 계속 오류가 2..

Java 실습 2022.05.12

[220511] for문 활용

■:: 목표달성! 1. 이중for가 무섭지 않다! (맞다!) for, while, do while 버젼으로 만드시오. * ** *** **** ***** ****** ******* ******** ********* ********** *********** //11개 ≫ 코드 및 출력화면 ≪ ■2. 트러블슈팅 2-(1). for문 종료 조건 선언하기 for 반복문을 만들 때 시작 조건을 int i=1였는데 i의 종료 조건을 도출해내지 못했다. 내가 헷갈렸던 이유는 for에서 반복되는 구문은 for의 변수 i와 관계없이 돌아가는 구문이었기 때문이다. 선생님께 도움을 요청했고 받은 힌트는 '반복되는 구문에서 종료 조건을 도출해내라'였고 반복문이 돌아가는 동안 갈 일이 없는 9999를 i에 대입함으로써 종료 조..

Java 실습 2022.05.12

[220510]다중 for문

■1. 목표달성 :::: 이중FOR를 이용하여 ★을 출력할수 있다. ( 1단계->2단계-> 3단계) 줄일수 있는지 확인 (있다) ★★★★ ★★★★ ★★★★ ★★★★ ■2. 트러블슈팅 2-1). 역방향으로 별 찍기 문제 (1) 문제 정의 원하는 출력구문 ----> 실제 출력된 구문 ★★★★ ★ ★★★ ★★ ★★ ★★★ ★ ★★★★ (2)원인 규명 및 수정 //처음에 잘못 작성했던 코드 String result = ""; for (int row = 1; row

Java 실습 2022.05.10

[220509]Repeat 예제

■ 금일목표 ::: for를 이용하여 계산기의 유효성검사(0~100사이만 입력받기, 연산자는 + -*/만입력받기)를 할수 있다. (있다) 주말 숙제★★★★★정수 입력 범위 제한 반복문 => for문 하나로 줄이기★★★★★ for을 이용한 계산기 (조건: 1~100 수만 받기) ■ 트러블슈팅 내가 처음에 예제 3의 문제 해석을 함에 있어서 중첩된 for문을 이용해서 문제를 해결하면 되겠다고 생각해서 아래와 같은 코드를 작성했다. 원하는 결과값이 콘솔창에 나오기는 했지만 선생님이 수업 중 알려주신 Repeat문과 비교했을 때 복잡한 감이 있고, 굳이 for문을 중첩으로 사용했을 필요가 있었나 싶은 생각이 들었다. 수업이 끝나고 선생님이 주신 힌트를 도움삼아 코드를 수정하였다. 내 코드가 복잡해진 이유는 '+..

Java 실습 2022.05.10

[220506] for문

■ 목표달성 1. FOR를 이용하여 다음을 작성할수 있다. 1~10까지 3의 배수 갯수를 출력하시오. 1~10까지 3의 배수 : 3 ■트러블슈팅 대문자 알파벳 나열하는데 알파벳 5단위로 잘려서 표현하는 문제. 처음 접해본 문제여서 갈피를 잡지 못했다. 선생님 수업 중에 알려주신 for문 작성법을 이용해서 표현함. 변수 + 대입 작성해야 하는 목표 쓰기 공통점 찾기 1){반복되는 부분} 2).{변수} 3) for(시작;종료;과정){반복} 위에 방식으로 문제를 해결하기 위해서 코드를 가장 단순하게 표현(ver_0)한 뒤에 반복되는 구문을 확인했다. 반복되는 구문을 for문으로 작성하였다. 알파벳의 아스키 코드 5의 배수로 System.out.println() 반복. ■오늘의 소감 for을 가능한 적은 수로 ..

Java 실습 2022.05.06