본문 바로가기

반응형

전체 글

(105)
[java][algorithm] 배열의 최댓값 구하기 배열 요소의 최댓값 구하기 a[0], a[1], a[2] max = a[0] if(a[1] > max) max = a[1]; if(a[2] > max) max = a[2]' max = a[0] for(i=1; i max) max = a[i] for문이 1부터인 이유는 a[0]은 이미 max에 저장되어 있기 때문이고, 요소 개수가 n개이면 if문은 n-1개 작성해야 한다. 배열은 0부터 시작하기 때문에 최대 a[n-1]개 for문을 돌리면서 a[1] 부터 마지막 요소 a[n-1]까지 차례로 살펴본다. == 스캔한다 랜덤으로 입력받은 키의 최댓값 구하기 package chap02; import java.util.Random; // 배열의 요소의 최댓값을 출력 (요솟수와 값을..
[java] 반복 - 피라미드 만들기 (★) Do it 자료구조와 함께 배우는 알고리즘 입문 자바편 스터디 정리 연습문제2 n단의 피라미드를 출력하는 메서드를 작성 p40 Q16 결과 : 입력 5 * *** ***** 해답 package chap01Practice; import java.util.Scanner; // 기호문자 *로 피라미드를 출력함 class StarPira_01_16 { static void spira(int n) { for (int i = 1; i
[java] 반복 - 구조적 프로그래밍 / 다중 루프 / 구구단 / 정사각형 만들기 Do it 자료구조와 함께 배우는 알고리즘 입문 자바편 스터디 정리 구조적 프로그래밍 하나의 입구와 하나의 출구를 가진 구성 요소만을 계층적으로 배치하여 프로그램을 구성하는 방법을 구조적 프로그래밍 이라고 한다. 구조적 프로그래밍은 순차, 선택, 반복 이라는 3종류의 제어 흐름을 사용한다. 논리 연산과 드모르간 법칙 논리 연산의 식 전체를 평가한 결과가 왼쪽 피연산자의 평가 결과만으로 정확해지는 경우 오른쪽 피연산자의 평가를 수행하지 않는데, 이를 단축 평가라고 한다. A || B A조건이 true일 경우 B는 검사 하지 않는다. 드모르간 법칙이란 각 조건을 부정하고 논리곱을 논리합으로, 논리합을 논리곱으로 바꾸고 다시 전체를 부정하면 원래의 조건과 같다는 법칙 A && B 는 !(!A || !B) 와 ..
[java] 반복 - 양수만 입력하기(do while문) / while,for,do문 차이 스터디 정리 양수만 입력하기 class SumFor { public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); System.out.println("1부터 n까지의 합을구합니다."); // 키보드 깂을 입력 받는 stdIn.nextInt()보다 앞에 입력 System.out.print("n의 값:"); int n = stdIn.nextInt(); // 키보드 입력 값 중 정숫값 얻어내기 int sum = 0; // 합 for (int i = 1; i
[java] 반복 - 1부터 n까지의 정수 합 구하기 알고리즘 스터디 1부터 n까지의 정수 합 구하기 연습문제1 1부터 n 까지의 정수 합 구하기 package chap01Ex; import java.util.Scanner; // 1, 2, …, n의 합을 구합니다. class SumFor { public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); System.out.println("1부터 n까지의 합을구합니다."); // 키보드 깂을 입력 받는 stdIn.nextInt()보다 앞에 입력 System.out.print("n의 값:"); int n = stdIn.nextInt(); // 키보드 입력 값 중 정숫값 얻어내기 int sum = 0; // 합 for (int ..
[java] 제어자 static / final / abstract / 접근제어자 자바의 정석스터디 노트static인스턴스변수는 하나의 클래스로에서 각기 다른 값을 유지 클래스변수는 인스턴스에 관계없이 같은 값을 갖는다(하나의 변수를 모든 인스턴스가 공유하기 때문)static이 붙은 멤버변수, 메서드, 초기화 블럭은 인스턴스를 생성하지 않고도 사용할 수 있다. 인스턴스메서드와 static 메서드의 근본적인 차이는 메서드 내에서 인스턴스 멤버를 사용하는가의 여부에 있다. static 멤버변수 1. 모든 인스턴스에 공통적으로 사용되는 클래스변수가 된다.2. 클래스변수는 인스턴스를 생성하지 않고도 사용 가능 하다.3. 클래스가 메모리에 로드될 때 생성된다. static 메서드 1. 인스턴스를 생성하지 않고도 호출이 가능한 static메서드가 된다.2. static메서드 내에서는 인스턴스 멤..
[java] 오버라이딩 / 오버로딩 / super 자바의 정석스터디 노트 오버라이딩조상 클래스로 상속(extends)받은 메서드의 내용을 변경하는 것 오버라이딩 조건오버라이딩은 메서드의 내용만을 새로 작성하는 것이므로 메서드의 선언부는 조상의 것을과 완전히 일치해야 한다.자손 클래스에서 오버라이딩하는 메서드는 조상 클래스의 메서드와 1. 이름이 같아야 한다.2. 매개변수가 같아야 한다.3. 반환타입이 같아야 한다.한마디로 선언부가 서로 일치해야 한다. 예외 1. 접근 제어자는 조상 클래스의 메서드 보다 좁은 범위로 변경 할 수 없다.만일 조상 클래스에 정의된 메서드의 접근 제어자가 protected라면, 자손 클래스의 메서드는 접근제어자가 protected 또는 public 이어야 한다. 대부분 같은 범위의 접근 제어자를 사용한다. 2. 조상 클래스의 ..
[java]객체지향프로그래밍1 자바의 정석 스터디 노트 클래스와 객체 객체지향이론 관점에서 클래스의 정의 / 의미클래스 정의 : 클래스란 객체를 정의해 놓은 것이다.클래스 용도 : 클래스는 객체를 생성하는데 사용된다. 객체의 정의 : 실제로 존재하는 것, 사물 또는 개념객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름유형의 객체 : 책상, 의자..무형의 객체 : 공식, ... ex) TV설계도(클래스)는 TV라는 제품(객체)를 정의 한 것이며, TV(객체)를 만드는데 사용한다. 클래스로 부터 객체를 만드는 과정을 클래스의 인스턴스화라고 한다.인스턴스 : 클래스로 부터 만들어진 객체객체는 다수의 속성, 기능의 집합이다.속성 = 멤버변수 (ex TV의 크기, 색상..) (ex String color, size..)기능 = 메서..

반응형