l java 예제 수행
1. 파일명과 동일한 class 생성
2. 소스 그대로 복사 수행
l java 글자 크기 조정
1. 콘솔창 텍스트 속성 변경
- [Windows] - [Preferences] - [General] - [Appearance] - [Colors and Fonts] - Basic - Text Font
2. 스크립트 텍스트 속성 변경
- [Windows] - [Preferences] - [General] - [Appearance] - [Colors and Fonts] - Font - Java Editer Text Font
l 실행이 안 된다면 아래처럼 수행하면 된다
package bigdata; public class example1 { public static void main(String[] args) { System.out.println("Welcome to Java"); System.out.println("First Java program"); }
} - package bigdata; - bigdata라는 폴더에 저장 - public : 이 메소드를 어디서든 엑세스 가능하게 하는 키워드 - static : 이 클래스의 객체를 생성하지 않고 메소드 실행 가능 - void : 메소드가 아무것도 반환하지 않음(return 절이 없다) - main : 메소드 이름인데 프로그램의 시작점을 가르킨다 - String[] : 도스창에서 매개변수로 넘겨준 문자열 |
n JAVA 단축키
단축키 | 설명 |
Ctrl + O | 클래스안에 있는 메소드들의 타입을 확인할 수 있습니다. |
Ctrl + F | 문자열을 검색할 때 사용합니다. 찾아 바꾸기 (Replace with) 기능을 제공하여 한번에 문자열 치환이 가능합니다. |
Ctrl + L | 위의 단축키를 누르고 줄번호를 입력 시 해당 줄(Line number)로 커서가 이동합니다. |
Ctrl + D | 커서가 위치한 줄 소스 삭제할 때 사용합니다. |
Ctrl + Space | 클래스나 그에 소속된 메소드 등의 목록을 띄워 원클릭으로 적용하기 쉽게 선택할 수 있는 자동완성 기능입니다. |
Ctrl + K | Ctrl + f와 같은 기능입니다. 검색하려는 키워드를 블록 설정하고 위의 단축키를 누르면 검색이됩니다. |
Alt + ← | 이전에 했던 Action |
Alt + → | 이후에 했던 Action |
Ctrl + F11 | 전에 실행된 Run as 파일 실행 됩니다. |
Ctrl + W | 페이지 닫기 기능입니다. 인터넷 브라우저(IE, Chrome 등), 윈도우 파일탐색기 등 여러 곳에서 동일하게 사용 가능합니다. |
Ctrl + / | 주석처리를 위한 단축키입니다.(단축키를 누르면 해당 줄 전체가 주석처리 됩니다.) |
Alt + ↓ Alt + ↑ | 커서가 위치한 줄의 내용이 위치할 순서를 바꿀 때 사용합니다. |
Ctrl + Shift + O | 자동으로 import할 때 사용합니다. |
Ctrl + M | 소스코드의 창을 전체화면으로 변경합니다.(좌측의 익스플로러 창이 숨는 기능) |
Ctrl + Alt + ↓/↑ | 커서가 위치한 줄의 내용 복사 시 사용합니다 |
Ctrl + N | 새로운 프로젝트를 생성하거나 새로운 파일을 생성할 때 사용하는 단축키입니다. |
F11 | Debug 시작 |
F8 | Debug 계속 진행 |
F6 | Debug 라인 실행 |
F5 | Debug 라인 단위로 실행(함수 내부로 들어갑니다.) |
Ctrl + Shift + B | 현재 커서 라인에 브레이크 포인트(Break point) 설정 |
Ctrl + Shift +X | 대문자로 변환 |
Ctrl + Shift + Y | 소문자로 변환 |
Ctrl + Shift + L | 모든 단축키의 내용을 출력합니다 |
Ctrl + Shift + F | 자동 코드 정렬 |
l 자료형의 종류
종류 | 1 byte | 2 byte | 4 byte | 8 byte |
논리형 | boolean |
|
|
|
문자형 |
| char |
|
|
정수형 | byte | short | int | long |
실수형 |
|
| float | double |
n 변수의 선언 활용 예제
package bigdata;
public class example2 { public static void main(String[] args) { System.out.println("2+5=" + 2+5); System.out.println("2+5=" + (2+5) ); } } |
2+5=25 2+5=7 - 연결연산자와 실제 더하기 연산의 결과이다 |
package bigdata; import java.util.Scanner; public class example4 { public static void main(String[] args) { System.out.print("첫번째 정수를 입력하시오 ? "); Scanner sc=new Scanner(System.in); int num1=sc.nextInt();
System.out.print("두번째 정수를 입력하시오 ? "); Scanner sc2=new Scanner(System.in); int num2=sc2.nextInt();
int sum=num1+num2; System.out.printf("더한 합은 %d ", sum);
} } - import java.util.Scanner; - 키보드 입력값을 받을 때 사용하는 클래스 |
|
>> 정수를 입력 받고 제곱을 구하도록 출력
package bigdata;
import java.util.Scanner; public class example5 { public static void main(String[] args) { System.out.print("첫번째 정수를 입력하시오 ? "); Scanner sc=new Scanner(System.in); int num1=sc.nextInt();
int square=num1*num1; System.out.printf(num1 +"의 제곱은 %d ", square);
} }
|
첫번째 정수를 입력하시오 ? 5 5의 제곱은 25
|
import java.util.Scanner; public class example5 { public static void main(String[] args) { int num1; num1=10;
int num2=20; int num3=num1+num2; System.out.println(num1+"+"+num2+"="+num3); } } |
10+20=30 |
>> 아래처럼 int를 short로 바꾼다면 될까?
import java.util.Scanner; public class example5 { public static void main(String[] args) { int num1; num1=10;
int num2=20; short num3=num1+num2; System.out.println(num1+"+"+num2+"="+num3); } }
|
Type mismatch: cannot convert from int to short - 위처럼 int형을 short로 바꿀 수 없다는 오류가 발생한다
|
>> 아래와 같이 전부다 short로 바꿔 주면 될까?
import java.util.Scanner; public class example5 { public static void main(String[] args) { short num1; num1=10;
short num2=20; short num3=num1+num2; System.out.println(num1+"+"+num2+"="+num3); } }
|
Type mismatch: cannot convert from int to short - 이런 에러가 발생하는 이유는 cpu는 int형 데이터만 연산이 가능하기 때문이다 - 연산직전에 short형 데이터를 자동으로 int형으로 변환한다
|
>> 위 오류가 발생하지 않도록 해결하는 방법
import java.util.Scanner; public class example5 { public static void main(String[] args) { short num1; num1=10;
short num2=20; short num3=(short)(num1+num2); System.out.println(num1+"+"+num2+"="+num3); } }
|
l 자료형(Boolena)
public class example1 { public static void main(String[] args) { boolean b1=true; boolean b2=false;
System.out.println(b1); System.out.println(b2); System.out.println(3<4); System.out.println(3>4); } } |
true false true false |
l 음의 정수를 표현하는 방식
- 음의 정수는 양의 정수의 2의 보수이다
- 검증방법으로 음수와 양수를 더하고 범위를 초과한 올림수 1은 제거한다
>> 음의 정수가 2의 보수가 되는 것을 테스트
class example5 { public static void main(String[] args) { int num = 7; num = ~num; // num 에 저장된 비트를 모두 반전 시킨다. num += 1; // 1을 더한다. System.out.println(num); } }
|
-7 |
l 자바의 문자표현
- 하드웨어는 기본적으로 문자를 인식하고 표현할 수 있는 장치가 아니기 때문에 오직 숫자만 인식하고 표현하는 장치다.
- 그래서 문자 표현은 하드웨어 위에서 동작하는 소프트웨어의 몫이다
- 결국 문자를 숫자로 표현하기 위해서 유니코드라는 표준을 근거로 문자를 표현한다
>> 위 그림을 설명할 수 있는 예제 수행
package bigdata; public class example1 { public static void main(String[] args) { char ch1='A'; char ch2='한'; char ch3=65; char ch4=54620; System.out.println(ch1); System.out.println(ch2); System.out.println(ch3); System.out.println(ch4); } }
|
A 한 A 한 - A의 유니코드값은 65 - 한의 유니코드값은 54620 |
>> 유니코드값 확인 소스
package bigdata; public class example2 { public static void main(String args[]) {
for (char c = 0; c <= 255; c++) System.out.format("%c = 0x%02X (%3d)%n", c, (int) c, (int) c);
} } |
A = 0x41 ( 65) B = 0x42 ( 66) C = 0x43 ( 67) D = 0x44 ( 68) E = 0x45 ( 69) F = 0x46 ( 70) G = 0x47 ( 71) H = 0x48 ( 72) I = 0x49 ( 73) …………………………. |
>> 알파벳 대문자 B의 유니코드 값이 무엇인지 확인 하는 소스
package bigdata; public class example1 { public static void main(String[] args) { char ch1='B'; System.out.format("%d", (int)ch1); } } - B의 값이 변수에 들어가면 유니코드값이 들어가는데 이 값을 int 숫자형으로 변환하여 출력 |
66 |
3장. 상수
l 상수란?
- int num = 1+5;
- 1과 5를 상수라고 한다
- 변수와 마찬가지로 메모리 공간에 값이 저장되면 변경이 불가능하기 때문에 상수라고 한다
l 상수도 자료형을 기반으로 저장이 된다
- 기본적으로 모든 정수형 상수는 int 형태로 표현 및 저장 된다
- 모든 실수형 상수는 double 형태로 표현 및 저장된다
1. 상수형이 범위를 넘으면 아래와 같은 오류 발생
- int num1 = 1000000000000;
: 위 숫자는 inte형 표현범위를 넘어서 에러가 발생
- long num1 = 1000000000000;
: 위 코드드 역시 에러가 발생
: 숫자 1000000000000은 long 형 변수에 저장이 가능하지만
: 상수 1000000000000는 자동으로 int 형태로 변환되기 때문에 에러가 발생
- 위 코드를 에러 발생을 막기 위해서는 다음의 조치를 취한다
long num1 = 100000000000L;
: 끝에 L자를 붙여서 long 형 변수라는 것을 알려야 한다
- float num3 = 12.45;
: 실수형 상수는 double 형태로 표현되기 때문에 double형이 float 형태로 저장이 불가능하기 때문에 에러가 발생한다
float num3 = 12.45F;
: 이런 오류를 방지하기 위해서 위처럼 끝에 float 형으로 선언됐다는 것을 알 수 있도록 숫자 끝에 F를 붙여야 한다
n 상수형 오류 예제
public class example2 { public static void main(String[] args) { double e1=7.125; float e2=7.125F;
long n1=10000000000L; long n2=150;
System.out.println(e1); System.out.println(n1); } } - F와 L 각각의 글자를 빼면 오류가 발생한다 |
l 자동 형변환
- 화살표 순으로는 되지만 역순으로는 안 된다
- double num2 = 3.5f+12
: 12가 자동으로 형 변환 되어 수행 가능
코드 | 가능 여부 |
|
double num1=20; | O | 자동형 변환 수행 |
int num2=20.5; | X | 에러발생 |
1.5 + 3 실행가능? | O | 1.5+3.0 |
>> 아래 처럼 숫자를 각각 물어보게 하고 두개의 숫자를 합한 결과를 출력하는 코드 작성
import java.util.Scanner; public class example4 { public static void main(String[] args) { System.out.print("첫번째 수를 입력하시오 ? "); Scanner sc=new Scanner(System.in); float num1=sc.nextFloat();
System.out.print("두번째 수를 입력하시오 ? "); Scanner sc2=new Scanner(System.in); float num2=sc2.nextFloat();
System.out.printf("%f + %f = %f",num1,num2,(float)(num1+num2)); } }
|
'빅데이터과정 > JAVA' 카테고리의 다른 글
#52_140827_JAVA_상속 (0) | 2014.08.27 |
---|---|
#52_140827_JAVA_메소드 (0) | 2014.08.27 |
#52_140827_JAVA_LOOP (1) | 2014.08.27 |
#52_140827_JAVA_조건문 (0) | 2014.08.27 |
#52_140827_JAVA_연산자 (0) | 2014.08.27 |