1. Unicode

 

2. ASCII Characters

 1) 기본적으로 알아야 할 코드값 : 48 (0), 57(9), 10(NewLine), 13(Carriage return)

 

3. Comment(주석)

 1) // 한줄

 2) /* 한줄 이상의 문장 */

 3) JavaDoc : JAVA를 HTML 문서로 만드는 것. (APIDoc의 문서처럼 작성 할 수 있다.)

   - /**  문서화 된 코멘트 **/

   - 설명할 코드 바로 위에 작성 할 것

   - 명령어

 $javadoc -author -version -d [.\경로][자바파일이름]  : 경로에 html파일이 생성된다.

   - Doxygen 툴을 사용하면 쉽게 html문서를 작성 할 수 있다.

 

4. Separators(구분자)

 - (). {}, [], ;, ,, .

 - Word < Statements < Block

 

5. 식별자

 - 클래스,메소드,변수명을 지정 할 수있다.

 - 첫 클래스는 영문자나 (_), ($)만 사용할 수 있다.

 - 길이 제한이 없긴 하다.

 

6. 키워드, 예약어

 - 특수한 목적을 사용하기위해 이미 정의가 된 단어.

 - const, goto 는 키워드에 등록되어 있지만 사용 할 수는 없다.

 - enum : 1.5버전 이상에서부터 사용 가능한 키워드.

 

7. 데이터 저장

 1) 비트

  - unsigned : 모든 비트를 데이터의 양수를 표현

  - signed : 비트 하나를 부호비트로 설정하여 1일 때 음수를 표현한다.

 2) 보수

  - 1의 보수 : 데이터 비트의 반전

  - 2의 보수 : 데이터 비트의 반전 +1

 3) 자료형

  i) 내장형(기본형) : Primitive type

 수치형

 true or false

 bloolean(1bit)

 문자형

 char(2byte)

 정수형

 byte(1byte)

 short(2byte)

 int(4byte)

 long(8byte)

 실수형

 float(4byte)

 double(8byte)

 무치형

 

 void()

 

   - 형변환 : 기본적으로 강제/자동 형변환이 일어나지만, 연산에 의해서는 자동형변환이 일어나지 않는다.

 short a = 5; // 정수 5는 자동으로 short로 형변환 되어진다

 short b = 10;

 short sum = a+b ; // 하지만 연산 과정인 a+b에서는 자동 형변환이 일어나지 않아 int형식으로 sum에 입력 되기 때문에 오류가 난다.

 

 정수는 기본적으로 int의 형을 갖고

 실수는 Double의 값을 갖는다.

 float f = 0.123456789123456789F;  // double형인 실수를 float로 형변환 하여 저장하게된다.
 double d = 0.123456789123456789; //기본으로 실수는 double형이기 때문에 double에 자동으로 맞추어 출력된다.

 

  - cast :

  - convert :

 

  ii) 외장형(추상형) : Reference type = Class, Interface, Enum

    (ps. C 언어의 외장형(추상형) : User-Defined type = 구조체(Struct), Union, Class, Pointer)

  - Heap 공간을 이용한다. (변수는 값을 갖는게 아니라 그 값의 주소를 갖는다.(integer변수와 같은 4바이트를 갖는다)) 

  - String은 new 없이 사용 할 수 있는  클래스이다. ( 많이 사용하기때문에 컴파일러가 대신 new를 만들어 준다.)

 정식적인 사용 방법 :

 String str = new String("Hello");

 축약 방법 :

 String str1 = "Hello";

  - call by value, call by reference value

  Value Copy

 public class ValueCopy{
 public static void main(String[] args) {
  Test t = new Test();
  t.su = 5;
  t.num= t.su; //값복사
  System.out.println("t.num="+t.num);
  t.su =100;
  System.out.println("t.num="+t.num);

 }
}

class Test{
 public int su, num;
}

  Reference Copy

 public class ReferenceCopy{
 public static void main(String[] args) {
  Demo d = new Demo();
  d.su = 5;
  Demo d1 = new Demo();
  d1 = d; //주소복사
  System.out.println("d1.su = "+d1.su);
  d.su=100; // d 가 가지고 있는 주소를 d1에게 주었기 때문에 값이 변한다.
  System.out.println("d1.su = "+d1.su);
 }
}

class Demo{
 public int su;
}

 

 4)포인터와 레퍼런스의 차이

  - 포인터는 변수 메모리의 절대번지를 접근한다.

  - 레퍼런스는 메모리에 접근을 할 수 없다. (그래서 JAVA에서는 디바이스를 직접 생성 할 수 없다.)

 

 5) 상수 (Constants)

  - 자바에서 상수는 final keyword를 갖는다.

  - 변수명은 대문자와 특수문자 (_)를 사용한다.

 

7. 이름 정하기 (Naming Conventions) : 권고 사항으로 개발자들이 개발할 때 더욱 편하게 이름을 작성하는 표기법

 1) Pascal casing (대문자 표기법)

  - class = 명사를 사용하며 2개 이상의 단어 합성 시 첫글자는 대문자.  

  - interface = 형용사형 이나 명사형을 사용한다.

  - 상수 = 모두 대문자를 쓰며 2단어 이상 합성할 때 사이에 (_)를 쓴다.

 2) Camel casing (소문자 표기법)

  - Method = 소문자로 동사형을 사용한다. 2개 이상 합성단어의 첫문자는 대문자.

  - 변수명 = 소문자 명사형

 

 

 

--------------------------------------------------------------------------------------------------------

 - UNC = 윈도우에서 네트워크 상의 컴퓨터에 접근하기위해 사용하는 ID (LAN 환경 안에서만 사용 가능하다)

 - vachar 와 char : 메모리 용량의 사용을 줄이기 위해 가변적인 공간을 저장하였지면 현재는 메모리의 용량보다 속도가 더 중요하기 때문에 작은 데이터를 저장하더라도 char를 사용하는게 더 빠르다.

 - Stack 영역에서 Heap영역으로 옮기는 것을 boxing이라 하고, 그 반대 과정을 unboxing이라고 한다.


'Programming > JAVA' 카테고리의 다른 글

자바 배열이란?  (2) 2011.03.24
자바 제어문(조건/반복/분기)  (2) 2011.03.24
JAVA 문법과 연산자  (2) 2011.03.24
JAVA의 특징과 설치  (2) 2011.03.24
자바(JAVA)란?  (1) 2011.03.24

1. 각 언어들의 차이

 C/C++

JAVA

C# 

 #Include

 기계어

 종속적

 플랫폼

 중간언어 존재(ByteCode)

 독립적

 플랫폼

 중간언어 존재

 독립적

 

2. 자바 플랫폼

 1) 자바 프로그램을 실행 할 수 있는 H/W 나 S/W 적인 환경을 말한다.

 2) 2개의 구성요서

   - Virtual Machine : OS 위에 실행된다.

   - API (Application Programming Interface) : 이미 정의 되어있는 API들을 라이브러리를 통해 확인 할 수 있다.

 

3. 자바의 특징

 1) 심플하다 (C언어의 복잡한 내용들을 제거)

 2) 구조에 중립적이다 (어떠한 OS 환경에서나 실행 가능)

 3) 객체지향적이다

 4) 이식성/휴대성있다.

 5) 분산된다.

 6) 향상된 퍼포먼스 ( C보다 속도가 빠르다고는 할 수 없지만...)

 7) MultiThreaded

 8) Robust

 9) 동적이다.

 10) Secure

 11) Write Once, Run Anywhere

 

 

 

4. 설치 후 환경변수 설정 : 자바 프로그램이 실행될 때 자바의 설치 유무와 경로를 OS에 물어본다.

 1) JAVA_HOME : 현재 자바가 설치되어있는 경로를 설정한다.

 2) Path : (%JAVA_HOME%\bin;)어느 위치에서든 java의 명령어를 사용 할 수 있도록 하기 위해 설정한다. (경로는 왼쪽에 있을 수록 우선순위가 높다. ex)1.6버전 이후에 1.5버전을 설치하여 1.5버전이 왼쪽으로 설정되었다면 구버전인 1.5버전이 최 우선순위를 갖게 된다.)

 3) classpath는 개인이 만든 라이브러리를 임포트 할 때 필요한 것으로 차후 10장에서 필요하게 될 것이다.

 4) 삭제는 JRE삭제 후 JDK를 지운다. (설치의 반대순) 환경변수 역시 직접 제거하여준다.

 

5. 실행

public class HelloWorld

public static void main(String [] args){

  System.out.println("Hello,World");  
 }

}

 1) 파일의 이름은 Class의 이름과 같아야하고 (대소문자 구별한다.) 확장명은 .java로 해야한다.

 2) java 클래스명 으로 실행한다.

 

6. API활용

 1) Java Se6 Documentation 다운로드 후 API폴더의  Index.html 보기.

 

 

 

 

7. 자바 프로그램은 하나의 Public class 를 갖고 그 안에는 하나의 main 메소드를 갖는다.

 

8. EditPlus의 환경설정 : Tools - Configure User Tools - Group 을 설정하면된다. (단축키는 ctrl+1,ctrl+2)

 1) 컴파일

   - Add Tool : program을 선택한 후 이름을 Compile이라 준 다음 명령어(commend)의 경로 (C:\Program Files\Java\jdk1.6.0_23\bin\javac.exe)를 지정한다.

   - Argument : 파일이름을 선택한다. (명령어의 입력값)

   - Initial directory : 파일이 있는 위치 설정 ( 절대경로를 주는 것이 낫다.)

   - Capture output : 결과를 출력하여준다.

 2) 실행

  - 위와 동일하게 설정하며 Command는 java.exe로 설정하고 Argument는 $(FileNameNoExt)를 설정한다.

  - Toolbar에 Users에서 단축 아이콘을 만들 수 도 있다.

 

 

 

------------Linux에서 자바 설치 -------------------

 

1. 홈페이지에서 OS 를 리눅스로 선택하여 rpm버전이 아닌 bin 버전으로 받는다

2. bin파일의 실행 권한이 없기 때문에 chmod로 실행 권한을 준 다음 실행으로 압축을 푼다

3. 보통 /usr/local/ 의 경로에 설치 파일을 보관 하므로 압축이 풀린 파일을 이동시킨다.

  - 리눅스는 윈도우와 다르게 레지스트리가 없기 때문에 설치라는 개념이 없다. 그러므로 압축이 풀린 파일의 이동이 자유롭다.

 4. 환경 변수 설정

  1) vi /etc/profile

  $ JAVA_HOME=[설치경로]

  $ CLASSPATH=.:$JAVA_HOME/lib/tools.jar  //현재 위치와 라이브러리위치 모두 입력해야함. 구분선은 콜론

  $ PATH=$JAVA_HOME/bin:$PATH

  $ export JAVA_HOME

  $ export CLASSPATH

  $ export PATH

 2) 등록된 java를 재부팅없이 OS에 적용

 $ source /etc/profile


'Programming > JAVA' 카테고리의 다른 글

자바 배열이란?  (2) 2011.03.24
자바 제어문(조건/반복/분기)  (2) 2011.03.24
JAVA 문법과 연산자  (2) 2011.03.24
JAVA 언어의 법칙  (1) 2011.03.24
자바(JAVA)란?  (1) 2011.03.24

1. 자바는 크게 3가지로 나뉜다.

 1) J2SE : 자바 언어의 가장 기본적인 과정으로 자바 2 버전 이후부터를 J2 라고 통칭한다. (Syntax, OOP, API 의 개념과 활용능력 정도)

 2) J2EE : 서버 중심의 JAVA (JavaWeb, Servlet/JSP )

  - Servlet : 자바 중심에 HTML코드가 들어가는 형식이다. (파일도 자바로 저장된다.)

  - XHTML + CSS + Jacva script =>Servlet/JSP => Struts => Spring F/W

  - MVC : 모델2 개발방식으로 개발자와 디자인 환경을 나누어 개발을 하는 방법.

 3) J2ME : PDA, 모바일, 소형 가전제품을 타겟으로 사용하는 언어.

  - Android SDK

 

2. Algorithm, 자료구조, UML + Methology, English + Googling

 

3. 자격증

 1) 자바 : SCJP -> SCWCD(웹) -> SCEA

 2) 리눅스 : CPIC, RHCE(레드햇), 리눅스마스터(한국)

 3) DB : OCP(오라클)

'Programming > JAVA' 카테고리의 다른 글

자바 배열이란?  (2) 2011.03.24
자바 제어문(조건/반복/분기)  (2) 2011.03.24
JAVA 문법과 연산자  (2) 2011.03.24
JAVA 언어의 법칙  (1) 2011.03.24
JAVA의 특징과 설치  (2) 2011.03.24

처음  Java_SE 과정을 공부할때 어렴풋이 들은 JSP와 JavaScript를 같은걸로 생각하고있었다.

하지만 막상 배워보니 이건 뭐 완전 다르다.

대체 자바라는 표준어에 무슨 사투리가 이렇게 많은거야! 했지만,

다 이유가 있었다.. 

JSP는 웹 서버에서 실행되는 .jsp파일로 기존의 Java언어와 동일하지만,

Java Script는 사용자의 웹에서 실행이되는 .html파일일 뿐이다.


즉 사용자에게 표현할 수 있는 수준의 코드들이 바로 Java Script고,

서버측에서 실행하여 결과만 사용자에게 전달하는 방식이 바로 JSP 이다.

 

자바 스크립트라고 자바와 그렇게 크게 연관지어 생각 할 필요가 없다고 한다.
마치 젖소우유와 콩우유는 근본이 다르듯,

어쩐지.. 아직까지는 JavaScript 보다 JSP가 더 정이간다. ㅠ 

'Programming > BASIC' 카테고리의 다른 글

StarUML 사용방법  (3) 2011.04.05
이클립스(eclipse) 한글 설정  (2) 2011.04.04
이클립스 웹 환경 설정  (3) 2011.03.24
이클립스(eclipse) 첫 실행 후 설정  (2) 2011.03.24
Oracle VirtualBox 설치  (2) 2011.03.24

+ Recent posts