분류 전체보기
- 2일차 2012.03.28
- 2일차 2012.03.28
- 수업 1일차 2012.03.28
- 자바의 자료형 ,형변환 2012.01.13
- 식별자 ,예약어 2012.01.12
- JDK, Eclipce 설치 2012.01.12
2일차
2일차
수업 1일차
1일차
Computer ?
- 정해진 규칙과 지시된 방법에 의해서 자동실행
원리를 가진 시스템
- system(H/W + S/W)
- 지시된 방법이 정해진 규칙에 어긋난다면 ?
- GIGO
Network ? <---> Local
- 전송 + 제어
- Resource(Object) Sharing
- Protocol
- Layer = Stack = Module = 수직적 구조
UNC path : 네트워크 경로
Univeral Naming Convention
\\computer_name or ip address\share_name
\\ 의미 : redirection(Local-->Remote)
내컴퓨터 이름 확인은?
- 제어판-->시스템 등록정보(속성)
- hostname
내 ip address 확인은?
- 제어판-->내 네트워크 환경
- ipconfig
실습-1
- 내컴퓨터 자원 공유
폴더에서 우클릭
C:\WINDOWS\system32;
- 상호간에 자원 연결
자바의 자료형 ,형변환
기본 자료형 (primitive data type)
-자바 컴파일러에 의해서 해석되는 자료형
참조 자료형 (reference data type)
-자바 API에서 제공되거나 프로그래머에 의해서 만들어진 클래스를 자료형으로 선언하는 경우
-클래스, 인터페이스, 배열
논리형= 1byte
문자형= 2byte = 정수형에 포함 문자도 숫자로 코드
실수형=오차가있을수있다. double=정밀도가 높다
예제
public class VariableTypes { public static void main(String[] args){ //1.논리형(true,false) System.out.println("====논리형===="); boolean b = true; //boolean b = 1; //자바에선 True=1 불허 System.out.println("b = " + b); //2.문자형 (크기:2byte, 표현범위:0~65,535 //다국어처리를 위한 유니코드(unicode)방식 System.out.println("====문자형===="); char c1 = 'A'; //내부적으로는 아스키코드 65에 해당 char c2 = 65; //A에 해당하는 는 아스키코드 값 65 char c3 = '\u0041'; //\//u//는 16진수유니코드로 표현 하는거 char c4 = '자'; char c5 = '\uc790'; //자를 유니코드로 표현 System.out.println("c1 = " + c1); System.out.println("c2 = " + c2); System.out.println("c3 = " + c3); System.out.println("c4 = " + c4); System.out.println("c5 = " + c5); //3.정수형 System.out.println("====정수형===="); //byte, 크기 : 1byte, 표현범위 : -128 ~ 127 byte b1 = 127; //128에러 //short, 크기 : 2byte, 표현범위 : -32,768 ~ 32,767 short s1 = 32767; //int, 정수표현의 기본 크기 : 4byte int in = 45678; //long, 크기 : 8byte long lg = 2345L; //1이랑 해깔리기 때문에 L 대문자표시 System.out.println("lg = "+ lg); //4. 실수형 System.out.println("====실수형===="); //float, 크기 : 4byte float f1 = 3.245f; //double, 실수표현의 기본, 크기 : 8byte double d1 = 2.56; //5.문자열 표시 (기본자료형이 아닌 참조자료형-레퍼런스형) // 문자열 " " System.out.println("====문자열표시===="); String str = "Hello World!"; System.out.println("str = " + str); } }
출력값
====논리형====
b = true
====문자형====
c1 = A
c2 = A
c3 = A
c4 = 자
c5 = 자
====정수형====
lg = 2345
====실수형====
====문자열표시====
str = Hello World!
+연산자
연산
3+5=8
문자열+문자열 연결
"Hello" + "hi" -> Hellohi
"b= " + true -> b=true
연산시 자료형이 같아야 오류가없음
자료형이다르면 일치해야 하기때문에 형변환 을 통하여 자료형을 통일
int [] - 자동 형뱐환 -> long [[[[[[]]]]]]] : 데이터외곡이생김
long [[[[[[]]]]]]] - 강제 형변환 -> int[] : int에 맞게 강제로 짤라내야한다. - 데이터외곡이생김
<<-----------------------------------------------------------------명시적(강제)형변환 - 데이터손실이 있을수있다. char(2byte) < int(4byte) < long(8byte) < float(4byte) < double(8byte) ------------------------------------------------------------------>>자동적 형변환 - 데이터손실이없다. |
byte short로 연산하면 int로 승격됨
예제
public class CastEx { public static void main(String[] args){ //====프로모션 (자동형변환)====// //더큰 자료형으로 승격이 일어나는 형태, //정보의 손실이 전혀 없으며 자동적으로 발생 byte b1 = 127; byte b2 = 127; int b3 = b1 + b2; //32bit 미만의 자료형 (byte) 연산시 32bit(int)로 승격 short s1 = 123; short s2 = 123; int s3 = s1 + s2; //32bit 미만의 자료형 (short) 연산시 32bit(int)로 승격 int in1 = 234; long lg = in1; //int->long 자동 형변환 System.out.println("lg = " + lg); int in2 = 1234; long lg2 = 234L; long lg3 = in2+ lg2; //int2 -> long 자동형변환 //====디모션(명시적(강제) 형변환)====// //더 작은 자료형으로 강등, 데이터의 손실이 있을 수 있음 //명시적(강제) 형변환 byte b4 = 127; byte b5 = 127; byte b6 = (byte)(b4 + b5); //int->byte 명시적(강제) 형변환 System.out.println("b6 = " + b6); short s4 = 123; short s5 = 123; short s6 = (short)(s4 + s5);//int->short 명시적(강제) 형변환 int in5 = 234; float f5 = 123.5f; int in6= in5 + (int)f5; //float -> int 손실이 있을수있슴 System.out.println("in6 = " + in6); //(int) = Cast 연산자. } }
출력값
lg = 234
b6 = -2 //명시적(강제) 형변환으로 데이터 손실이 일어남
in6 = 357 // float->int로 명시적(강제) 형변환으로 .5가 날라가버림
-------------------------------------------------------------------------
생략이 가능한건 생략하는게 좋다 = 좋은코드.
식별자 ,예약어
public class VariableEX {//클래스시작 //클래스명 = 주석 public static void main(String[] arg){//메소드시작 int num; //변수선언 num=17; //변수의 초기화 System.out.println(num); final int COUNT = 30; //상수 //COUNT =50; //상수는 프로그램 종료때까지 변하지 않음 System.out.println(COUNT); int number; //변수선언 //변수선언후에 변수 초기화를 해야 출력 또는 연산 가능 //System.out.println(number); }//메소드끝 }//클래스끝c
'Java' 카테고리의 다른 글
JDK, Eclipce 설치 (0) | 2012.01.12 |
---|
JDK, Eclipce 설치
JAVA(프로그램언어)
1.응용프로그램
2.Web프로그램->JSP
3.모바일프로그램->안드로이드
언어는 암기->이해
1.용어=>모르는용어 찾아서 정리
2.기초 (연산자,제어문) 배열변수 많이해볼수록 좋음 -연습,스터디
3.객체 (생성,활용) 이해
4.실습 (자동자,자판기) 만들어보기
JDK 다운로드와 설치
http://www.oracle.com/technetwork/java/index.html
->java se
->jdk->동의->다운->설치
제어판>시스템>고급>환경변수
JAVA_HOME : C:\Program Files\Java\jdk1.7.0_01
Path : %JAVA_HOME%\bin; <=기존값에추가 ;=Path구분자
CLASSPATH : . (현재폴더)
환경설정확인 - 날코딩
파일명Hello.java
package javaapplicationl; //패키지정의
public main(){} //생성자정의
public class Hello{ //클래스정의
public static void main(String[] args){ //매서드정의
System.out.println("Hello, world."); //문장
}
}
cmd->D:\javaWork->javac Hello.java-(class생성)->java Hello
(java bin 에위치한-> javac.exe 컴파일러!-두뇌,번역자)
cd:폴더이동
cd \:root
dir:폴더명세
dir /w:폴더간단명세
JAVA applet
넷빈->eclipse
배우기 쉽다 - c보단쉽다
객체지향 프로그래밍 - !!중요 인기
가비지 컬렉션 -
플랫폼 독립성 - os랑 상관없이 사용가능(JVM번역) -속도가 느리다 (플래시도 플랫폼 독립성)
멀티스레드 - 동시작업지원
네크워크와 분산처리 지원 -
자바플랫폼
자바 프로그램이 실행되기 위해 제공되는 '하드웨어적 프로그램'
구성
MyProgram.java
JAVA API-미리만들어져있는 코드
JAVA JVM-각 os맞게 번역
자바플랫폼의 종류
Java 2 Platform, Standard Edition(J2SE) 기본문법
Java 2 Platform, Enterprise Edition(J2EE) 웹환경
Java 2 Platform, Micro Edition(J2ME) 모바일
JAVA는 반기계어
API packages.
http://www.oracle.com/technetwork/java/index.html
Essential Links->Java APIs->Java SE 7
자바에서는 폴더\대신 . 으로 구분
java.lang
자바범용에디터 이클립스
http://www.eclipse.org ->Downloads -> Java EE Developers
Eclipse IDE for Java Developers - 자바에디터
Eclipse IDE for Java EE Developers - 자바+웹기반
설치
eclipse.ini -> 메모장으로 설정변경 ->xmx256mb 메모리할당
javaWork\workspace 폴더생성및 지정
help-> about Eclipse -> 버전확인 // 최신버전 Indigo
프로젝트를 만들어 사용
Project Explorer -> 우클릭-> 뉴->프로젝트->자바프로젝트 -> ch01_javaBasic(이름은 마음대로 한영가능)
->open associated perspective? =메뉴구성을 바꾸는거 yes
파일을 만드는순간 컴파일 -> javac 를통한 컴파일과정을 대신해줌
(preferences의 generla ->cokor and font =폰트변경 ,show line numbers )
->new->class->클레스명= 파일명->완료=컴파일