U E D R , A S I H C RSS

새싹교실/2021/다Java먹자/김동영 (rev. 1.23)

새싹교실/2021/다Java먹자/김동영



1. 1주차 수업 회고

JS와 JAVA 사이에 접점이 있을 것이라 생각하고 JAVA를 배우겠다고 투표했다.
오늘 둘 사이에 별로 큰 접점이 없다는 것을 알았지만 상관없다.
어차피 JAVA도 처음 해보는 것이니 분명 새로운 것을 많이 배울 수 있을 것이다.

2. 2주차 수업 회고

불참했다.

2.1. assignment 1

1부터 100까지의 정수 중에서 짝수들의 합을 계산하여 결과값을 출력하는 프로그램을 구현한다.
조건 : while문을 사용하고, if 문은 사용하지 않도록 한다.
package start_java;

public class Hello {
	public static void main(String[] args) {
		int i=1, sum=0;
		while(i<=100) {
			sum += i;
			i++;
		}
		System.out.print(sum);
	}	
}

2.2. assignment 2

주어진 10진수를 2진수로 변환하는 프로그램을 구현한다.
package start_java;

import java.util.Scanner;

public class Hello {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);		
		int n = scanner.nextInt();
		
		long digit=1, sum=0;
		while(n!=0) {
			sum += n%2 * digit;
			n /= 2;
			digit *= 10;
		}
		System.out.print(sum+"(2)");
		scanner.close();
	}
}
문법 자체는 c++과 많이 다르지 않은 것 같다.
2번에서 12345같은 꽤 큰 수를 입력하면 이상한 값이 출력되는 것을 방지하기 위해 long 형을 사용했다. 하지만 그래도 표현상 한계가 있다.
배열을 사용하는 풀이가 가장 편한 것 같다. 자바에도 스택이 있는 지 모르겠다. 2번 풀이를 추가해야 함.

3. 3주차 수업 회고

불참.
주말에 과제를 몰아서 하는 습관을 없애야겠다. ppt로 직접 공부하고 2주차 숙제, 3주차 숙제를 해봐야겠다.

3.1. assignment 1

주어진 배열의 항목에서 최댓값 구하기
int[] array = {1, 5, 3, 8, 2}
package start_java;

public class Hello {
	public static void main(String[] args) {
		int[] array = {1, 5, 3, 8, 2};
		int max = 0;
		for(int i=0; i<5; i++) {
			 max = ((max < array[i]) ? array[i] : max);
		}
		System.out.print(max);
	}
}
삼항연산자를 써서 풀어봤다.

4. 4주차 수업 회고

자바에서도 매개변수에 디폴트값을 넣는 게 가능한지 궁금했는데, 물론 그냥 필드를 선언할 때 값을 지정해주면 그만이다.
근데 자바나 C에선 new function()으로 객체를 생성할 때 매개변수의 입력 경우의 수에 따라 생성자의 개수가 많아진다.
C에서는
void Function(char param1, int param2, double param3=9.8);
같은 형태로 매개변수에 디폴트값을 넣어 하나의 함수로도 매개변수가 2개, 3개일 때 동시에 사용할 수 있다.
이런 형태가 java 클래스의 생성자에서도 쓰일 수 있는지 시험해봐야겠다.
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-11-11 12:49:19
Processing time 0.0198 sec