목록Java (256)
코드 그라데이션
출력하기, 자료형과 변수, 상수, 연산자, 코드의 흐름, 실습 변수란 (변할 수 있는 값을 담는 저장공간) 상수란 자료형에 대한 정리 연산자 연산의 수행 값은 오른쪽에서 왼쪽에 담긴다. 코드는 위에서 아래로 흐른다. 추가로 중요한점: 변수의 선언방식 (언더스코어(_), 카멜표기법, 단 이 두 가지를 혼용 금지, 예약어를 변수나 메서드명으로 사용할 수 없다) public class Day01 { public static void main(String[] args) { /* 출력하기 원하는 값으로 출력하기 1) Hello World! 2) 안녕 자바! 3) 안녕 자바! */ System.out.println("Hello World!"); System.out.println("------1-------"); S..
메모리의 종류 [정적 영역] : 자바 프로그램을 구성하는 기본 단위인 클래스가 로드되는 곳 - 프로그램이 시작될 때는 물론이고 실행 중에도 필요한 클래스를 이 영역에 읽어들인다. - 모든 객체가 공유하는 정적 필드와 클래스의 동작을 정의하는 메서드 본체를 이 영역에 저장. [스택] : 메서드 실행에 필요한 정보를 저장하며 스레드별로 하나씩 생성됨. 메서드를 호출할 때 스택 프레임이 생성. 실행 중에 사용하는 정보(복귀 번지, 인수, 지역변수 등)를 저장. => 프로그램은 main에서 실행을 시작하며 메서드를 호출할 때마다 스택 위쪽으로 프레임이 계속 쌓인다. 설명) main에서 method1(12)를 호출하면 스택에 스택 프레임이 생성된다. 실행을 마치고 복귀할 번지와 호출원에서 전달한 인수값, 메서드 ..
제어문 - 조건을 판별하여 선택적으로 실행하거나 비슷한 작업을 반복함으로써 프로그램의 흐름을 통제하는 명령 블록 구조 - 조건에 대해 실행할 명령이 하나 뿐이면 if문 다음에 명령을 바로 기술한다. - 진위 여부에 따라 여러개의 명령을 실행한다면 조건에 걸리는 모든 명령을 { } 블록으로 묶는다. - 같은 블록에 속한 명령의 집합을 복문이라고 한다. *Java는 FreeFormat이라 들여쓰기를 어떻게 하더라도 블록 구조에는 영향을 끼치지 않으며, 두 명령을 나란히 들여써도 하나의 단위로 취급하지 않는다. **명령을 한 단위로 만들려면 { } 괄호로 명령을 묶어야 한다. else - 조건이 참이면 명령 1을 실행하고, 거짓이면 명령 2를 실행한다. if (조건) { 명령1 } else { 명령2 } *i..
배열 : 유사한 데이터를 저장하는 관련 변수의 집합은 한꺼번에 선언하는데, 이럴 때 사용하는 것이 배열이다. 배열은 같은 타입의 변수를 모아놓은 변수의 집합 --- 대량의 정보를 저장할 때 사용하며 반복적인 처리가 가능하다. 타입[] 배열명; 타입 배열명[]; 배열 요소의 타입과 배열의 이름으로 선언하되 일반 변수와 달리 []괄호로 배열임을 명시한다. []는 배열임을 표시하는 기호일 뿐이며 선언할 때 괄호만 적고 크기는 할당할 때 밝힌다. [] 괄호는 타입 뒤에 붙일 수도 있고, 배열명 뒤에 붙일 수도 있다. 배열 변수는 배열 요소의 시작 위치를 가리키는 참조형 변수이며, 그 자체는 대량의 데이터를 저장할 수 없다. 배열을 선언한 후 new 연산자로 정보를 저장할 공간을 할당하여 배열을 생성해야 한다. ..
연산자의 우선순위 연산자 결합 순서 ++ --(후위형) . [] 왼쪽 우선 ++ --(전위형) 부호 ~! 캐스트 오른쪽 우선 * / % 왼쪽 우선 + - 왼쪽 우선 > >>> 왼쪽 우선 = instanceof 왼쪽 우선 == != 왼쪽 우선 & 왼쪽 우선 ^ 왼쪽 우선 | 왼쪽 우선 && 왼쪽 우선 || 왼쪽 우선 ? : 오른쪽 우선 = 오른쪽 우선 결합 순서 - 대부분의 연산자는 왼쪽 우선이지만, 단항, 대입 연산자는 오른쪽 우선이다.
연산자 1. 산술 연산자 : 사칙연산 나누기 - 피연산자가 실수일 때는 몫을 정수까지만 계산하고 나머지를 리턴한다. 실수 5.0을 2.3으로 나누면 정수의 몫 2를 버리고 나머지 0.4를 리턴한다. 실수 나눗셈을 하면 2.1739가 나오지만 몫을 정수까지만 계산하여 나머지만 구한다. - 나머지 연산자는 홀짝 판별에 종종 사용된다. value가 짝수인지 점검하려면 다음 조건식을 사용한다. if(value % 2 ==0){ } 2. 대입 연산자 * 좌변값: 대입 연산자의 왼쪽에 올 수 있는 값. - 실제 메모리를 점유하고 있고, 값을 기억할 수 있는 대상. 변수가 완전한 좌변값. * 우변에는 하나의 값을 리턴하는 모든 값. ** 복합 대입 연산자는 자기 자신과 피연산자를 연산하여 자기 자신에게 다시 대입하는..
언어적 특징 1) 대소문자를 철저하게 구분한다. 2) 명령문은 항상 세미콜론으로 끝난다. 3) 공백을 자유롭게 삽입할 수 있다. - 다음과 같이 두 줄로 작성할 수도 있고, 전체 소스를 개행하지 않고 한 줄에 모조리 붙여 써도 상관없다. 보통 K&R 스타일을 주로 사용하지 function { 블록 } 4) main에서 시작한다. - 완전한 객체지향 언어인 자바는 모든 것이 클래스 내부에 있어야 하며, main도 클래스 안에 위치한다. class 예제이름 { public static void main(String[] args) { 예제코드 } } 자바 언어의 구성 요소 1) 키워드(Keyword) - 프로그램의 기능을 정의하는 기본적인 단어. 예약어(Reserved word)라고 불리며 다른 용도로는 사용..
컴퓨터의 성능이 낮을 때는 빠른 속도를 위해 주로 저급 언어를 사용했지만, 하드웨어의 성능이 기하급수적으로 발전함으로써 속도보다 생산성이 중요해졌다. 순차적 기법 -> 절차적 기법 -> 구조적 기법 분석 -> 설계 -> 구현 -> 테스트 -> 보수 # 소프트웨어 위기 : 향상된 하드웨어의 성능을 활용하려는 요구 사항은 끝도 없이 늘어나는데 소프트웨어의 생산성은 이를 따라가지 못하는 현상 Top down 방식에서 Bottom-up 방식으로 : 이를 변화하게 만든 가능한 부분이 바로 '객체지향' 90년대 이후 C 언어가 객체지향 개념을 도입하여 C++로 업그레이드 됨. 자바의 특징 - 다중 상속이나 연산자 재정의 같은 복잡한 문법을 제거하여 단순 명료하다. 그래서 배우기 쉽고 실수할 가능성이 낮다. - 캡슐..