'Study'에 해당되는 글 9건
- 2007/10/02
- 2007/09/04
- 2007/06/08
- 2007/05/10
-
2007/04/27
(자바) #3 클래스 (1)
- 2007/03/31
-
2007/03/23
(Java) 표준입출력 레폿 (1)
- 2007/03/17
- 2007/01/26
우선
준비물 :
1. j2sdk-1_4_2_15-windows-i586-p.exe
2. AromaWIPI-Emulator1.1.1.7.exe
3. eclipse-SDK-3.2-win32.zip
4. 사지 멀쩡한 컴터한대
※ 근데 j2sdk-1_4_2_15-windows-i586-p.exe 이놈은 도큐먼트 없나...
궁시렁 궁시렁... 찾아봐도 없던데...
1. 이클립스 인스톨합니다..
2. j2sdk , 아로마를 인스톨합니다..
3. (본격적인 그림 설명) 설정 방법을 설명해드리겠습니다~
그전에.. 가정몇개좀.. 세우겠습니다
가정1 : 우선 예제는 class 명은 ex1 입니다.
-. 네비게이터에서 마우스 우측 버튼을 누릅니다.
-. properties 클릭합니다
-. 위 그림처럼 뜰껍니다. 이때 원래는 libraries 에 jar 가 기본적으로 하나가 되어
있을껍니다. 우선 무시하고 add external jars 누르셔서 classes.zip 를 추가해줍
니다. 그리고 기존에 있던 것은 지웁니다.
( classes.zip 파일위치는 / \AromaWIPI\javaAppDemo\lib\classes.zip 입니다)
#3장 클래스 객체 사용
: import java.util.*;
-> java.util 안의 모든 걸 import 한다~
: java.lang 안의 String, StringBuffer, Math
3.1 문자 스트링 (java.lang)
@ String str="what?"; // (new 를 부르지않고 바로 생성가능)
@ 정수형이 문자열 결합시 정수형은 문자열로 형 변환
@ java.lang (import 안해줘도된다 = include 와 기능이 같다)
3.2 String 클래스 StringBuffer
++ String
@ String : 한번 생성된 다음 변하지 않는 문자열
@ StringBuffer : 계속하여 변할 수 있는 문자열
-> 자바의 특징상 문자열의 추가 할당시 문제가 발생하므로 두개의 객체로 나눴다.
@ import java.lang; = java.lang.string
@ String 클래스 파라미터와 매소드 (Java Document 참고)
@ String s2="abcd";
System.println("adcd".length());
& 문자열은 바로 . 연산자를 쓸수있다/
@ String s2="abcd";
//ex1
s2+2+0+0+2;
output : adcd2002
//ex2
s2+(2+0+0+2);
output : adcd4
& 숫자로써 더하고 싶으면 () 를 이용하자
++ StringBuffer
@ 생성시 16개 용량이 추가된다. (객체의 크기가 변할때마다 메모리가 재할당된다.)
StringBuffer str1 = new StringBuffer("ab"); // 생성시 ["a" "b" "1" "2" "3" .. "15" "16"]
// ab만했어도 뒤에 16만큼더 생김
// ab + 16 더 생김
@ append 와 문자열1 = 문자열1 + 문자열2 의 결과는 같다
3.3 패키지 (유틸리티 클래스)
@ packge asd 는 맨위줄에 작성
@ 그리고 packge안의 클래스는 packge 바로 밑에 선언을 해줘야한다.
3.4 Random
@ 파라미터 대부분 seed , seed 를 많이쓴다
@ nextFloat(); nextInt(int seed);
-> nextInt 만 시드가 존재한다.. Float 는 없다
3.5 math
@ 수학관련된 클래스 제공
3.6 출력포맷
@. system 클래수 기본출력처리
- in, out, err
- (printstream 클래스)write, print, println, printf
@. 입출력 시 예외 처리
- java.io.IOException 클래스와 throws
- 예외 발생 및 예외 전가
-> try, catch 활용
※ 프로그램은 계속 돌고 예외 처리를 맡기는것
ex)File : exString.java
import java.io.*;
class exString
{
public static void main(String[] args) throws IOException
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("string = " +in );
}
}
@. 키보드를 통한 입력 처리
- 아스키 = System.in.read();
- 숫자 = System.in.read();
- 문자 = (char)System.in.read();
-> 그러나 버퍼드 리더로 입력 받는걸 더 많이씀...
@. 문자열
- BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
주의사항!!
main 이 있는 클래스와 파일이름이 같아야 한다. (대소문자 구별)
ex) class ExJava{} -> 파일명 : ExJava.java
#2 테이터와 식
2.1 문자 스트링 2.2 변수와 배정 2.3 기본 데이터 타임 ::
@ 문자열은 String class 로 구현
@ System.out.println("string " + count + "string");
: int count = 4; -> 문자열로 변환 (printin이 형 변환시켜줌)
@ 자바에서는 main() 매소드가 항상 존재해야됨(특수한 매소드)
: 자바 실행시 main() 매소드가 자동으로 불려진다
@ main(args[]) 매소드에 argument string 배열이 저장될땐 문자열로 자동 저장
되므로 숫자로 바꿔줘야한다.
java test 20 40
x=integer.parseInt(args[0]);
y=integer.parseInt(args[1]);
: 형 변환 (String -> integer)
@ System.out.println();
: 클래스이름.객체이름.매소드이름(매소드의매개변수)
: .println , .print (println 줄바꿈 有 , print 줄바꿈 無)
@ int a; //선언
a=3; //배정
// 선언시 기억장소에 배정되지 않는다!
// 배정시 기억장소에 배정된다!
★ int -> 자료형 ,
a -> 변수명 ,
a=3 -> 초기화/배정 , // 선언과 배정을 동시에 하면 초기화임 ex) int a=3;
= -> 배정연산자 ,
3 -> 상수
@ 자료형
char,boolean,byte,short,int,long,float,double
-> 각 자료형도 클래스로 쓸수있다. ex) y=integer.parseInt(args[1]);
기본 자료형으로 정수는 integer , 소수는 double 로선언 된다.
★ 자료형 범위 외우기 : char,boolean,byte,short,int,long,float,double
★ 기본 자료형이란 //
23.001f <- double 이 아닌 float형
23L <- integer가 아닌 long형 ( 대문자로 쓰는 이유는 l 과 1 이 구분이 잘 안되기 때문)
또한 적은게 큰걸로 자동 변환된다
ex) int a; long a;
a=30L; (error) a=30i; (int 30이 long 으로 변환)
★ -> JVN 이 23.001f , 23L 로 표기 해주지 않으면 기본 자료형인 double, integer로 인식해버린다 자동으로!
2.4 수식
@ 연산자 종류
- 연산자 우선순위
01 () [] .
02 ++ -- ~ !
03 */%
04 +-
05 >> >>> <<
06 > >= < <<=
07 = !=
08 &
09 ^
10 |
11 &&
12 ||
13 ?:
14 = op=
- 배정 연산자 (배정연산자 대표 '=' )
+= -= *= %= &= ^= <<= >>= >>>=
- 관계 연산자
> >= < <= = != instanceof (객체맞냐?.. 나중에 나옴)
- 논리 연산자
& && | || !
- 수식
>> << >>> & | ^ ~
★ >>>( : 오른쪽으로 쉬프트 하고 왼쪽은 0으로 채우기 ex) 1111 -> 0011 )
- 3항 연산자( ?: )
수식1 ? 수식2 : 수식3
수식1 이 참이면 수식2 , 거짓이면 수식3
2.5 데이터 변환
@ 확대변환 ( 소->대 : 상관없다) ,축소변환 ( 대->소 : 문제발생 / 데이터 손실 즉 오버플로우)
@ 강제형변환 ( promotion / 소->대 ), 자동형변환 ( casting / 대->소 데이터 손실 )
2.6 상호작용 프로그램 -> 어려워효
2.7 그래픽 -> 어려워효
2.8 애플릿
@ main() 없다 ,
www 검색기(ie, firefox)에 의해 실행 ,
jdk 에서 제공된 애플릿 뷰어,
applet 상속 import 해야된다.
ex) extends Applet , inmport java applet *;
html에서 <BODY><CENTER> 에 추가 <APPLET CODE = "Exmaple.class" WIDTH=400 HEIGHT=200>
2.9 형상 그리기 -> 어려워효