Study Web Development

10월 27일

설치

JDK

https://java.sun.com

  1. JavaSE 8u311 안정화 버전으로 설치(오라클 계정 생성)
  2. C:\javaWork\apps 생성하고 JDK 설치파일 보관
  3. C:\Program Files\Java에 jdk, jre 폴더 둘 다 있으면 완료

이클립스

https://www.eclipse.org/

  1. Download Packages에서 Eclipse IDE for Enterprise Java and Web Developers 다운로드
  2. C:\javaWork\apps로 이클립스 압축파일 이동
  3. C:\javaWork\workspace 생성

환경 변수 등록

  1. 설정-정보-고급 시스템 설정-환경 변수-시스템 변수(S) 새로 만들기
  2. 변수명 JAVA_HOME, 경로 C:\Program Files\Java\jdk1.8.0_311 입력
  3. 시스템 변수(S)에서 Path 편집
  4. 새로 만들기로 %JAVA_HOME%\bin 추가하고 가장 위로 이동
  5. cmd에서 javac -version 입력해서 환경 변수 설정 확인

이클립스 실행

  1. 경로를 C:\javaWork\workspace로 변경

자바

1. 자바의 특징 및 자바 플랫폼의 이해

1-2 자바의 특징

1-3 자바 플랫폼

1-5 자바의 실행 구조

1-6 코드 작성 및 컴파일 하기

  1. 이클립스에서는 project(=코드 및 파일 묶음)를 먼저 생성함
    • project에 자바 시스템 링크를 거는 것
  2. 왼쪽 사이드바의 Project Explorer에서 Create a project... 누르고 Java Project 선택
  3. Project name에 ch01-basic 입력 후 JRE 버전을 JavaSE-1.8로 변경하고 Next, Finish, Open Perspective 선택
  4. src 폴더 오른쪽 클릭-New-Class 선택하고 Name에 Hello 입력(확장자 제외하고 클래스명만) 후 Finish
  5. 코드 작성 후 저장(이클립스는 작성하는 중에 오류 검사하고 저장시 bin 폴더에 컴파일까지 함)
public class Hello { // 클래스 시작
	public static void main(String[] args) { // 메인 함수 시작; 이 함수가 있어야 콘솔에 출력되므로 args 전까지의 코드는 항상 써야 함
		System.out.println("Hello World!!");
	} // 메인 함수 끝
} // 클래스 끝
  1. 코드 창에서 오른쪽 클릭해서 Run As-Java Application 선택하면 컴파일된 프로그램이 실행됨
    • ctrl+F11로도 가능한데, 구동이 제대로 안 될 경우 Run As 통해 코드 오류 유무 확인해야 함(코드 이상 있으면 Java Application이 안 뜸)
    • 상단의 Run 메뉴에서도 Run As 접근 가능
  2. cmd 이용시 javac Hello.java로 컴파일(확장자 명시 필수), java Hello로 구동(확장자 포함시 오류)

2. 자바 프로그램 작성 기초

2-1 주석

  1. 새 클래스 HelloWorld 생성
public class HelloWorld {
	public static void main(String[] args) {
		System.out.println("오늘은 수요일!"); // println은 출력 후 줄바꿈해줌
		System.out.println("내일은 목요일!");
		System.out.println("모레는 금요일!");
	}
}
  1. 새 클래스 PrintMain01 생성
/**
HTML 문서화 주석: 도움말 페이지 만들 때 사용하며 이클립스가 처리
*/
public class PrintMain01 {
	public static void main(String[] args) {
		// 주석 : 코드에 대한 설명을 달거나 코드를 컴파일할 때 제외시켜 실행되지 않도록 할 때 사용
		// 한 줄 주석
		// System.out.println("Hello Java!");
		
		// 출력 후 줄바꿈
		System.out.println("Hello World!!");
		System.out.println("오늘은 수요일!!");
		
		// 출력 후 줄바꿈 없음
		System.out.print("봄");
		System.out.print("여름");
		
		// 여러 줄 주석
		/*
		System.out.print("가을");
		System.out.print("겨울");
		*/
	}
}

2-2 출력문

  1. 새 클래스 PrintMain02 생성
public class PrintMain02 {
	public static void main(String[] args) {
		/*
		 * [실습]
		 * 
		 * 아래와 같이 출력하시오
		 * 단, 특기와 취미는 주석 처리하시오.
		 * 피아노학과
		 * ========
		 * 이름 : 홍길동
		 * 학번 : 2021001
		 * 특기 : 피아노 연주
		 * 취미 : 드럼 연주
		 */
		
		System.out.println("피아노학과");
		System.out.println("========");
		System.out.println("이름 : 홍길동");
		System.out.println("학번 : 2021001");
		// System.out.println("특기 : 피아노 연주");
		// System.out.println("취미 : 드럼 연주");
	}
}
  1. 새 클래스 PrintMain03 생성
public class PrintMain03 {
	public static void main(String[] args) {
		// 문자 : 한 문자
		System.out.println('A');
		System.out.println('가');
		// System.out.println('부산'); // 문자열을 '' 처리해서 오류 발생
		
		// 문자열 : 한 문자 이상의 문자들
		System.out.println("서울");
		System.out.println("Bus");
		System.out.println("Z");
		
		// 숫자(정수)
		System.out.println(23); // "" 처리시 데이터 종류가 문자열로 바뀜
		
		// 숫자(실수)
		System.out.println(25.67);
		
		// 논리값(boolean)
		System.out.println(true); // "" 처리시 데이터 종류가 문자열로 바뀜, 대문자 사용시 오류
		System.out.println(false);
	}
}
  1. 새 클래스 PrintMain04 생성
public class PrintMain04 {
	public static void main(String[] args) {
		/*
		 * [실습]
		 * 
		 * 철수는 학교에서 성적표를 아래와 같이 받았습니다.
		 * 내용을 출력하시오.(점수는 숫자로 명시, true는 논리값으로 표시)
		 * 
		 * 성적표
		 * ========
		 * 이름 : 철수
		 * 국어 : 89
		 * 영어 : 70
		 * 수학 : 95
		 * 총점 : 254
		 * 평균 : 84.67
		 * 통과 여부 : true
		 */
		
		System.out.println("성적표");
		System.out.println("========");
		System.out.println("이름 : 철수");
		System.out.print("국어 : ");
		System.out.println(89);
		System.out.print("영어 : ");
		System.out.println(70);
		System.out.print("수학 : ");
		System.out.println(95);
		System.out.print("총점 : ");
		System.out.println(254);
		System.out.print("평균 : ");
		System.out.println(84.67);
		System.out.print("통과 여부 : ");
		System.out.println(true);
	}
}
  1. 새 클래스 PrintMain05 생성
public class PrintMain05 {
	public static void main(String[] args) {
		// System.out.printf(포맷문자, 데이터)를 이용한 출력(데이터의 종류를 표시할 수 있는 포맷문자 지원)
		
		// 문자
		System.out.printf("%c", 'A'); // 포맷문자는 "" 처리하며, 데이터가 포맷문자에 전달되어 포맷문자가 출력됨(println은 데이터가 출력됨)
		System.out.printf("%c%n", 'B'); // printf는 기본적으로 줄바꿈되지 않음, 포맷문자에 %n 추가시 줄바꿈됨
		System.out.printf("%6c%n", 'C'); // 6자리 확보하고 오른쪽 정렬
		System.out.printf("%-6c%n", 'D'); // 6자리 확보하고 왼쪽 정렬
		
		System.out.println("========");
		
		// 정수
		System.out.printf("%d%n", 67);
		System.out.printf("%,d원%n", 10000); // 3자리 단위로 쉼표 표시+가장 끝에 단위 원 추가
		System.out.printf("%5d%n", 20); // 5자리 확보하고 오른쪽 정렬
		System.out.printf("%-5d%n", 20); // 5자리 확보하고 왼쪽 정렬
		
		System.out.println("========");

		// 실수
		System.out.printf("%f%n", 35.896); // %f는 기본적으로 소숫점 아래 6자리를 표시
		System.out.printf("%.2f%n", 35.896); // 소숫점 아래 2자리만 표시(셋째 자리에서 반올림)
		System.out.printf("%10.2f%n", 35.896); // 10자리 확보하고 오른쪽 정렬, 소숫점 아래 2자리 표시
		
		System.out.println("========");
		
		// 문자열
		System.out.printf("%s\n", "우주"); // 줄바꿈 문자로 \n도 사용 가능, %n은 포맷문자라 printf에서만 쓰고 \n은 print나 println 등에도 모두 사용 가능
		System.out.printf("%s는 %d점입니다.%n", "점수", 98); // 포맷문자는 여러 개를 한 번에 사용할 수 있고, 각 포맷문자에 대응하는 데이터를 ,로 구분해 순서대로 입력함
		
		// 논리값
		System.out.printf("%b", true);
	}
}
  1. 새 클래스 PrintMain06 생성
public class PrintMain06 {
	public static void main(String[] args) {
		/*
		 * 
		 * [실습]
		 * 
		 * System.out.printf를 이용해서 아래와 같이 출력하시오.
		 * 
		 * 국어 : 98점
		 * 영어 : 97점
		 * 총점 : 195점
		 * 평균 : 97.5점
		 */
		System.out.printf("%s : %d점\n%s : %d점\n%s : %d점\n%s : %.1f점\n", "국어", 98, "영어", 97, "총점", 195, "평균", 97.5);
	}
}

다음으로