풀스택 77

Java ■ 제어문(반복문)

◈ 반복문 ◈ 지정한 횟수 또는 조건에 따라 반복하여 실행하며 개발자에 따라 코드의 가독성이 좋아지거나, 코드 중복을 줄일 수 있음 ◈ for문 ◈ 초기식, 조건식, 증감식으로 구성되며 반복할 횟수를 알고 있는 경우에 사용함. 대부분의 경우 for문으로 사용됨. for(초기식; 조건식; 증감식) { 반복 실행할 코드 } *특정 조건이 만족할 때 까지 코드를 반복 ex) • for문 활용하기 (1) 스캐너를 통해 입력 받은 값 만큼 반복 • for문 활용하기 (2) 문자열의 길이만큼 반복 할 때는 입력 받은 변수.length()를 사용하여 문자열 길이만큼 반복 횟수를 지정함 ◈ 중첩 for문 ◈ 1. 첫번째 for문이 실행 : i = 0 2. 안에 있는 for문이 실행 : j = 0부터 9까지 반복 3. ..

Java ■ 제어문(조건문)

◈ 제어문 ◈ 프로그램의 흐름을 제어한다고 하여 제어문이라고 함. • 제어문의 종류 1. 조건문 : if, switch 2. 반복문 : for, while, do-while 3. 제어문 : break, continue * 조건문, 반복문 안에서 또 다른 흐름을 제어하는 역할 ◈ 조건문 ◈ 특정 조건을 검사하여, 참(true)이면 코드를 실행하고 거짓(false)이면 실행하지 않음 ◈ if문 ◈ 어떠한 조건이 만족되었을 때 명령을 수행할 수 있도록 해주는 문법 개발자가 가장 자주 사용하는 제어문으로, 특정 범위나 여러가지 케이스에 대한 대응이 가능함. - 조건이 참(true)일 경우 { } 안의 코드가 실행 - 조건이 거짓(false)일 경우 실행되지 않음 ex) • if 문 활용하기 - 스캐너를 통해 입..

Java ■ 연산자(Operator)

◈ 연산자 (Operator) ◈ 특정 변수나 리터럴(값)에 대해 주어진 식을 계산하여 결과를 얻어내는 연산을 수행하는 기호 ◈ 연산자 우선 순위 ◈ ◈ 산술 연산자 ◈ • 산술 연산자(+, -, *, /, %) 사칙연산(+, -, *, /)과 나머지 값을 구하는 나머지 연산자(%)를 뜻함 ex) ◈ 증감 연산자 ◈ • 증감 연산자(++, --) : 피연산자를 1 증가 또는 감소 시킴 ex) ◈ 전/후위 증감 연산자 ◈ 증감 연산자의 위치에 따라 피연산자의 값을 1 증가 또는 감소한다. • 전위 연산자 • 후위 연산자 ◈ 비교 연산자 ◈ • 비교 연산자(>,

Java ■ 변수(Variable)

◈ 변수 ◈ : 어떠한 값(data)을 저장할 수 있는 저장 공간 ex) 변수를 사용하지 않을 경우 아래와 같이 100을 수정하기 위해서 하나하나 총7번 수정해야함. 여기서 변수를 사용하면 총 1번만 수정하면 끝! ◈ 변수 선언 ◈ : 메모리에 값(data)을 저장할 공간을 확보하는 과정 ◈ 선언 방법 ◈ : 자료형 변수명 ; ◈ 자료형(Data Type) • 자료형의 크기 ◈ 바이트(byte)와 비트(bit) ◈ • 비트(bit) : 컴퓨터에서 정보를 표현하기 위한 최소 단위로써 0 또는 1로 표현됨 • 바이트(byte) : 1byte는 8개의 bit로 이루어진 단위를 의미함 (1byte = 8bit) ◈ 변수명 네이밍 규칙 ◈ 대소문자를 구분하며 길이 제한이 없음. 예약어 사용 불가 ex) int ,..

수업 내용 (1) 호출 스택

■ 호출 스택 ■ • 스택(Stack) 쌓아 올리는 형태를 가진 자료구조이며 후입선출(LIFO, Last In First Out)의 구조 • 큐(Queue) 줄을 서서 기다리는 형태를 가진 자료구조이며 선입선출(FIFO, First In First Out)의 구조 • 스택(Stack) 1. 데이터 0을 꺼내기 위해서는 데이터 1, 2를 모두 꺼내야 함 2. 데이터 1을 꺼내기 위해서는 데이터 2를 꺼내야 함 • 큐(Queue) 1. 데이터 0을 바로 꺼낼 수 있음 2. 데이터 1을 꺼내기 위해서는 데이터 0을 먼저 꺼내야 함 • 호출 스택(Call Stack) 메소드 호출과 관련된 정보를 저장하는 메모리 영역으로 후입선출(LIFO) 구조를 가짐 -설명1 main 메소드가 호출되어 스택에 올라가있는 상태 ..

수업 내용 (1) 객체

■ 오버로딩(Overloading) ■ • 오버로딩(Overloading) 같은 메소드 이름을 사용하지만 매개 변수의 타입과 위치가 다른 방식 * 다형성의 개념중 하나 • 예시 ex) ■ 필드 ■ • 필드(Field) 클래스 또는 메소드의 속성 • 예시 • 멤버 변수(Member Variable) 클래스 영역에 있는 변수로써 크게 두가지로 나눠짐 1. 인스턴스 변수 2. 클래스 변수 • 지역 변수(Local Variable) 메소드 또는 생성자 내부에 위치한 변수 또는 if, for과 같이 블록 {} 안에 있는 변수 • 변수 생명 주기(Variable Life Cycle) • 변수 종류별 메모리 위치(기본형 기준) 1. 클래스 변수 : 정적 영역(Static or Method) 2. 인스턴스 변수(Hea..

수업 내용 (1) 객체

■ 객체 지향 프로그래밍 (OOP) ■ • 객체 지향 프로그래밍(Object-Oriented Programming, OOP) 프로그래밍에서 필요한 데이터들을 추상화 시켜 객체를 만들고, 객체들간의 상호작용을 통해 프로그램을 개발하는 프로그래밍 패러다임 중의 하나 • 자바 객체 지향 개념에서의 핵심 4가지 [1] 캡슐화 변수와 메서드를 클래스로 묶어 독립적으로 동작하지 않도록 하거나 불필요한 정보를 노출시키지 않는 개념 1. 코드의 유지보수성을 향상 2. 객체의 내부 구현을 외부로부터 숨김 (정보 은닉) 3. 객체의 내부 상태를 제어하고, 잘못된 접근으로부터 보호함 [2] 상속 부모 클래스가 가지고 있는 것을 자식 클래스가 물려받아 확장(extends)하는 개념 1. 코드의 재사용성을 높이고, 중복을 최소..

수업 내용 (1) 배열

■ 배열 문제풀이 복습 ■ [Q1] 1. 5만큼의 길이를 가진 배열을 선언 및 할당하세요. 2. 위에서 선언 및 할당한 배열에 아래의 값으로 초기화 하세요. -> "A", "B", "CD", "E", "FG" 추가로 출력시 방법 [Q2] 1. 국어, 영어, 수학, 과학 점수를 배열을 만들어서 넣으세요. -> 국어 점수 : 85 -> 영어 점수 : 80 -> 수학 점수 : 90 -> 과학 점수 : 88 2. 배열에 있는 값을 모두 합친 후 평균 점수를 출력하세요. ■ 얕은 복사 ■ 배열의 주소 값만 가져와 참조하는 방식으로, 하나의 배열 객체를 두 변수가 공유함 ■ 깊은 복사 ■ 새로운 배열 객체를 생성하면서 기존 배열의 데이터를 복사함. • for문을 활용한 방식 • arraycopy()를 활용한 방식 ..

수업 내용 (2) 배열

배열~ ■ 배열의 뜻 ■ • 배열(Array) 같은 자료형을 가진 변수를 하나로 묶어 관리함 • 인덱스(Index) 배열 내의 각 요소(element)에 접근하기 위해 사용되는 번호로써 인덱스는 0부터 시작함 ■ 배열의 메모리 구조 ■ 배열은 참조형 변수이기 때문에 힙 메모리에 값을 저장함 ■ 배열의 선언과 할당 ■ ■ 배열 초기화 방식 ■ ■ 문제 풀이 ■ [Q1] 1. 5만큼의 길이를 가진 배열을 선언 및 할당하세요. 2. 위에서 선언 및 할당한 배열에 아래의 값으로 초기화 하세요. -> "A", "B", "CD", "E", "FG" [Q2] 1. 국어, 영어, 수학, 과학 점수를 배열을 만들어서 넣으세요. -> 국어 점수 : 85 -> 영어 점수 : 80 -> 수학 점수 : 90 -> 과학 점수 :..

수업 내용 (1) 제어문(반복문)

3월20일 수 ■ for문 문제풀이 ■ [Q1.] 숫자 1 부터 , 사용자가 입력한 값만큼 숫자를 출력하는 프로그램을 작성하시오. 1. 스캐너로 사용자로부터 숫자를 입력 받으세요 2. 만약 , 사용자가 숫자 10 을 입력 한다면 , 1 부터 10 까지의 숫자를 출력하면 됩니다 출력시 [Q2] 짝수를 출력하는 프로그램을 작성하시오. 1. 범위는 1 부터 20 까지 입니다 2. 스캐너로 입력 받지 않아도 되며 , 1~20 사이의 짝수를 출력하면 됩니다. 출력시 Q3. 로또번호 생성하는 프로그램 만들기. ★ 출력시 이런식으로 랜덤으로 로또 번호가 생김 [Q4] 1부터 100까지의 숫자 중 3과 5의 공배수를 출력하세요. -> 3과 5의 공통되는 배수 [Q5] 팩토리얼의 값을 출력하세요. ★ (코딩 테스트에 자..