Path는 특정프로그램(javac.exe, java.exe)를 설치된 경로에 상관없이 사용하기위해 설정하는 것
시스템 속성 - 고급 - 환경변수
시스템 변수에 Java bin디렉토리를 Path로 추가
cmd에서 set path로 설정된 내용 확인 가능
bat파일로 Path를 추가하는 방법
절대경로를 이용하기 때문에 다른 장소, 같은 디렉토리에 저장 시 바로 사용가능
설치된 java 디렉토리를 원하는 디렉토리에 넣고 다음과 같이 설정
txt에 경로 설정하는 bat 코드를 넣고 배치파일로 변경 후 cmd에서 실행
rem은 주석
~home path는 bin까지 경로로 잡지 않는다.
배치파일 실행 시 실행한 cmd내에선 설정된 path만 갖는다.
rem xxx_home - 프로그램끼리 경로를 참조하기 위해 설정하는 pathset dev_home=C:\Users\owner\devset java_home=%dev_home%\Java\jdk1.8.0_191set path=%java_home%\bin;
개발 순서
개발의 목적은 사람이 할 일을 컴퓨터가 대신하게 만들기 위한 것
Source Code 작성
저장
컴파일
실행
// 1. Source Code 작성class Hello { // 단독으로 실행하여 결과를 제공하는 프로그램 : Java Application public static void main(String args[]) { System.out.println("Hello Java"); }}// 2. 저장 (클래스명.java) - Hello.java// 3. 컴파일 : javac 소스파일명.java// 클래스명이 곧 파일명// 컴파일러(javac.exe)가 사람언어를 컴퓨터의 언어로 변환함// 컴파일이 실패하면 에러출력, 수정 후 성공할때까지 반복 수행javac Hello.java// 4. 실행 : java 바이트코드명// 컴파일이 완료되면 똑같은 이름의 .class 파일(byte code)이 생성됨// 실행 시 확장자(.class)는 적지 않는다java Hello// source code != byte code
javap -verbose Hello.class // 어셈블리어 보기
컴파일타임과 런타임
컴파일 에러는 코드의 문법적인 에러
런타임에러는 로직에 대한 문제
코딩의 순서가 잘못된 것
남이보면 더 잘잡는다
실행되는 프로그램 JVM (Java Virtual Machine)
최소 32MB가 있어야 실행이 됨
메모리, cpu를 사용
플레시 없던 시절 글자와 움직이지 않는 이미지가 보여지는 전부였음
애플릿이란 기술은 웹브라우저에서 자바를 돌려서 페이지를 동적으로 만들어줌
자바를 알리는 계기가 되었지만 applet은 현재 죽은기술
기본 출력
메인메소드가 있는 클래스를 자바 애플리케이션이라고 한다.
// 자바의 표준출력 method// 모든 JDK에서 사용가능System.out.print(값); // 출력 후 줄변경 안함System.out.println(값); // 출력 후 줄변경// 값으로 상수(정수상수, 실수상수, 문자상수, 문자열상수), // 변수, 연산식이 들어갈 수 있음System.out.println(11); // 정수상수System.out.println(11.13); // 실수상수System.out.println('A'); // 문자상수System.out.println("Hello Java"); // 문자열상수// 기본형 데이터형(primitive type) 변수// byte, short, int, long, char, float, double, boolean// 참조형 데이터형(reference type) 변수// class, array ... // 연산식 : 연산된 결과만 출력// 아래 메소드들은 JDK 1.5+ 에서만 사용가능 - 나중에 사용법 설명System.out.printf();System.out.format();
// 자바는 대소문자를 가린다, String을 'string'으로 변경 시... public static void main(string args[]) {...// PL/SQL과는 다르게 자바에선 에러를 구체적으로 알려줌// 메모장에선 Ctrl+G를 눌러서 원하는 줄수로 이동이 가능
class UsePrint{ public static void main(String args[]) { int i=11; // 지역변수 String s="오늘은 화요일"; // 문자열 객체(변수) System.out.println(i); // 기본형 데이터형 변수 System.out.println(s); // 참조형 데이터형 변수 System.out.println(11 + 13); // 연산식, 연산된 결과만 나온다 // 문자열은 형변환없이 바로 출력 System.out.println("11 + 13 = " + 11+13); // 1113이 출력됨 // 가로를 사용하면 정상적인 결과 출력 System.out.println("11 + 13 = " + (11+13)); } }
변수(Variable)
프로그램에서 필요한 값을 일시적으로 사용하기위해 사용
가독성 향상!
instance 변수, static 변수, local 변수 3가지 지원
선언되는 위치로 구분
class 클래스명 { // 변수 선언가능 - instance 변수, static 변수 public static void main(String[] args) { // 변수 선언가능 - local 변수 } //}
지역변수 (Local Variable)
method 안에서 선언되고 사용되는 변수
method 외부에서는 변수를 사용할 수 없다
method 호출 시 memory에 설정되고 호출이 끝나면 memory에서 소멸됨
자동초기화가 되지 않는다.
초기화 되지 않은 변수를 사용하면 Error.
초기화 - 변수를 선언하고 선언된 변수에 값을 넣는 것
모든 데이터형으로 변수를 선언할 수 있다.
// 1. 선언데이터형 변수명;// 변수명은 영어 소문자로 시작// 영어 대소문자, 숫자, 특수문자(_,$)로 생성 가능// 한글로 변수명 줄 수 있으나 지양// 변수명은 선언되는 영역에서는 유일 // 숫자로 시작하면 안됨// 2. 값 할당변수명 = 값;// 여러번 가능(이전 값을 덮어씀)// 선언과 값 할당을 한번에 가능 = 변수초기화데이터형 변수명 = defaultValue;// 3. 사용 - 출력, 연산, 재할당System.out.println(변수명);또다른변수 = 변수명;...