어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초
예제 소스
예제 소스 설명
클래스 클래스(class)는 자바와 같은 객체 지향 언어의 기본적인 빌딩 블록 필요한 클래스를 하나씩 만들어감으로써 전체 프로그램이 완성된다.
클래스의 정의
소스 파일과 클래스 이름 소스 안에 public 클래스가 있다면 반드시 소스 파일의 이름은 public 클래스의 이름과 일치하여야 한다. 하나의 소스 파일 안에 public 클래스가 2개 이상 있으면 컴파일 오류가 발생한다.
메소드 메소드(method)는 특정한 작업을 수행하는 코드의 묶음 메소드는 외부로부터 입력을 받아서 특정한 작업을 수행하고 작업의 결과를 반환하는 블랙 박스
메소드의 정의
자바 프로그램의 구조 하나의 클래스 안에는 여러 개의 메소드가 포함될 수 있다. 하나의 메소드 안에는 여러 개의 문장이 포함될 수 있다.
나는 main() 메소드를 제일 먼저 실행합니다. JVM
문장 사용자가 컴퓨터에게 작업을 지시하는 단위
주석 /* TEXT */ // TEXT /** DOCUMENTATION */ 주석의 시작과 끝을 /*와 */로 표시 //에서 줄의 끝까지가 주석이다. 한 줄짜리 주석만 가능하다. /** DOCUMENTATION */ /**에서 */까지가 주석이 된다
주석을 붙인 소스
LAB: 순차적인 프로그램 작성하기 다음과 같은 출력을 생성하는 프로그램을 작성한다.
SOLUTION
변수 변수(variable)는 데이터를 담아두는 상자
변수의 필요성
변수 선언
자료형 변수에 저장되는 데이터의 타입
자료형의 종류
기초 자료형 byte short int long float double boolean char -128부터 127 -32768부터 32767 int 약 -21억부터 21억까지 long float double boolean true, false char 유니코드
정수형 리터럴 10진수(decimal): 14, 16, 17 8진수(octal): 016, 018, 019 16진수(hexadecimal): 0xe, 0x10, 0x11 2진수(binary): 0b1100 2 F 7
예제: 빛이 1년 동안 가는 거리
예제: 반지름이 5.0인 원의 면적을 계산하는 프로그램을 작성
문자형 유니코드 규격 중에서 UTF-16 구격 사용 char ch1 = '가'; char ch2 = ‘\uac00'; // '가'를 나타낸다.
특수문자
논리형
변수 초기화 오류
변수 이름 짓기 식별자는 유니코드 문자와 숫자의 조합으로 만들어진다. 식별자의 첫 문자는 일반적으로 유니코드 문자이어야 한다. _, $로 시작 가능 두 번째 문자부터는 문자, 숫자, _, $ 등이 가능하다. 대문자와 소문자는 구별된다. 식별자의 이름으로 키워드(keyword)를 사용해서는 안 된다.
변수의 이름 변수의 이름은 식별자(identifier)의 일종 변수 이름의 규칙 식별자는 유니코드 문자와 숫자의 조합(한글 가능!) 식별자의 첫 문자는 일반적으로 유니코드 문자 두 번째 문자부터는 문자, 숫자, _, $ 등이 가능하다. 대문자와 소문자는 구별된다. 식별자의 이름으로 키워드(keyword)를 사용해서는 안 된다.
변수 이름의 예
변수 이름 관례
상수
상수를 만드는 방법
LAB: 지구에서 가장 가까운 별까지의 거리 계산하기
수식 수식이란 상수나 변수, 함수와 같은 피연산자들과 연산자의 조합
대입 연산자 대입 연산자(=)는 왼쪽 변수에 오른쪽 수식의 값을 계산하여 저장 대입 연산자 == 할당 연산자 == 배정 연산자라고도 한다. x = 100; // 상수 100을 변수 x에 대입한다.
산술 연산자 연산자 기호 의미 예 덧셈 + x와 y를 더한다 x+y 뺄셈 - x에서 y를 뺀다. x-y 곱셈 * 나눗셈 / x를 y로 나눈다. x/y 나머지 % x를 y로 나눌 때의 나머지값 x%y
예제: 윤년 검사 프로그램
중감 연산자
예제: 증감 연산자
관계 연산자
예제: 관계 연산자
논리 연산자
예제: 논리 연산자
형변환 자동적인 형변환 피연산자 중 하나가 double형이면 다른 피연산자도 double형으로 변환된다. 피연산자 중 하나가 float형이면 다른 피연산자도 float형으로 변환된다. 피연산자 중 하나가 long형이면 다른 피연산자도 long형으로 변환된다. 그렇지 않으면 모든 피연산자는 int형으로 변환된다.
강제적인 형변환
예제: 형변환
연산자의 우선순위
결합 규칙 동일한 우선 순위의 연산이 있는 경우에 무엇을 먼저 수행하느냐에 대한 규칙
LAB: 2차 방정식의 근을 계산 x*x+b*x+c 식의 근을 계산
문자열 자바에서 문자열(string)은 문자들의 모임이다. 예를 들어서 문자열 “Hello”는 H, e, l, l, o 등의 5개의 유니코드 문자로 구성되어 있다. String 클래스가 제공된다. ‘H’ ‘e’ ‘l’ ‘l’ ‘o’
예제: 문자열 프로그램 + 연산자로 문자열을 합칠 수 있다.
사용자로부터 값을 입력받으려면? Scanner 클래스를 사용한다. import java.util.*; // Scanner 클래스 포함 Scanner input = new Scanner(System.in); System.out.print("문장을 입력하시오: "); String line = input.nextLine(); // 한 줄을 읽는다.
import 문장 import java.util.Scanner; // Scanner 클래스 포함 Scanner는 자바 클래스 라이브러리(Java Class Library)의 일종 Scanner는 입력을 받을 때 사용
예제: 사용자로부터 받은 2개의 정수 더하기
LAB: 원의 면적 계산하기
SOLUTION
LAB: 직사각형의 둘레와 면적 계산하기
SOLUTION
Q & A