본문 바로가기

빅데이터과정/JAVA

#51_140826_JAVA_기본

728x90





 

java 예제 수행

1.    파일명과 동일한 class 생성

2.    소스 그대로 복사 수행

 

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

 

 

 

 

실행이 안 된다면 아래처럼 수행하면 된다



 

 

 

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[] : 도스창에서 매개변수로 넘겨준 문자열

 






 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

자동 코드 정렬


 

 

 

 




 

 

자료형의 종류

 

종류

1 byte

2 byte

4 byte

8 byte

논리형

boolean

 

 

 

문자형

 

char

 

 

정수형

byte

short

int

long

실수형

 

 

float

double

 


 

 



변수의 선언 활용 예제

 

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);

         }

}

 

 








 

 

자료형(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

 

 

 

 

 

음의 정수를 표현하는 방식

음의 정수는 양의 정수의 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

 

 

 







 

자바의 문자표현

하드웨어는 기본적으로 문자를 인식하고 표현할 수 있는 장치가 아니기 때문에 오직 숫자만 인식하고 표현하는 장치다.

그래서 문자 표현은 하드웨어 위에서 동작하는 소프트웨어의 몫이다

결국 문자를 숫자로 표현하기 위해서 유니코드라는 표준을 근거로 문자를 표현한다

 

 

 


 

 

>> 위 그림을 설명할 수 있는 예제 수행

 

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상수

 

상수란?

int num = 1+5;

1과 5를 상수라고 한다

변수와 마찬가지로 메모리 공간에 값이 저장되면 변경이 불가능하기 때문에 상수라고 한다

 

상수도 자료형을 기반으로 저장이 된다

기본적으로 모든 정수형 상수는 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를 붙여야 한다

 

상수형 오류 예제

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와 각각의 글자를 빼면 오류가 발생한다

 

 

 




 

 

 

자동 형변환

화살표 순으로는 되지만 역순으로는 안 된다

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