1. 변수관련 상식

-자바에서는 변수를 초기화를 하지 않으면 사용할 수 없다(안드로이드는 가능)

-정수 변수만 하더라도 short, int, long으로 다양하다

-정수안에 실수를 넣게 되면 정수부분만 저장이 된다.

[Tutorial2]에 이어서, 


(1) 메인클래스 메인함수안에  int a= 0.5;를 넣어본다. 오류가 난다 -> int a = (int)0.5; 으로 형변환 시켜서 대입하고 이상태로 출력해본다. -> 정수부분인 0만  출력된다. 

즉, 소수점 뒷부분은 제거되고 저장된다.

(2. 이러한 정수부분만 저장되는 특징을 이용해서 -> 실수값의 반올림에 사용한다.

(3) 실수값에 0.5를 더한 뒤, 정수형으로 형변환한다. 만약 실수값이 0.5이상이라면 0.5가 더해져서 정수부분이 1만큼 올랐을 것이다. 

즉, 반올림한 값 = (int) (실수 + 0.5);


double b = 0.4;


int a = (int) (b+0.5);

System.out.println(a);



2. 자료형 : 나에게 필요한 데이터 타입을 말한다. [프로젝트명 : Tutorial3]


자료형은 원시형과 비원시형이 있다. 원시자료형 같은 경우, java에서 기본적으로 사용되고 있는 boolean, char, byte, short, int, long 등 이 있다.

비원시 자료형인 같은 경우, 원시자료형을 묶어서 만든 것이며, 단독의 자료형처럼도 많이 쓰인다.

다른 프로그래밍 언어에도 이미 존재하는 자료형이 많다. 하나의 문자를 의미하는 char형 외에, byte short, int long, float, double 모두 겹친다

c언어와 차이점은, boolean형과 String형 정도이다. 특히, String형은 내부적으로 substring 등의 함수를 제공하여 활용도가 높다.


(1) double형을 이용해서 평균을 구하는 실습을 해보자. 프로젝트를 만들고, src에서 우클릭하여 class를 소스코드를 만들고 메인매쏘드를 자동으로 추가해준다.

double a = 10.3;

double b = 9.6;

double c = 10.1;

System.out.println( (a+b+c)/3);


(2) 아스키코드 기반의 char형을 사용해 a부터 z까지 출력해보자. 간단한 반복문이 등장한다. 

char형 변수를 i++로 1씩 더해가면, 아스키코드 기반으로 컴퓨터 내부적으로 a->b->c 순서대로 대입된다. 

이때 문자는 케릭터형에 문자를 대입할때는 '   ' 를 통해서 대입한다.


for(char i = 'a'; i <= 'z'; i++) {

System.out.print(i + " ");

}


(3) 10진수를 8진수나 16진수로 바꾸어 출력해보자. 

8진수로 출력하려면, println대신 format으로 출력하고, 내용에 있어서 10진수를 8진수로 문자열상에서 바꿔주는 [형식지정자 %o ]를 넣어준다. 그리고 뒤에 콤마를 찍어 %o자리에 들어갈 10진수 변수를 넣어준다. format같은 경우,  한칸내리는 기능이 없기 때문에 문자열에 \n도 붙혀준다.  

마찬가지로, 16진수는 형식지정자 [%x]를 사용해서 출력해준다.

int a = 200;

System.out.println("10진수 : "+a);

System.out.format("8진수 : %o \n", a);

System.out.format("16진수 : %x \n", a);


(4) String이라는 내부적으로 class에 의해 구현되어있다. 그 클래스 안에 포함된 substring함수를 활용해보자. 

아래 문장을 출력하면 Daisy와 isy가 출력된다. Stirng의 변수.를 이용해서 substring을 호출하는데,


첫번째 숫자는 시작할 문자 선택이다. Daisy에서, D가 0번째이고, a가 1번째, i가 2번째 ... 이렇게 나간다 d부터 0을 대입해 세면 된다.

두번째 숫자는 몇번째 자리까지 출력할 것인지 선택이다. 햇깔리게도, d가 1번째로 시작한다. a가 2번째자리, i가 3번째자리

[ 즉, substring에서 0부터 세서 시작문자를 선택하고, 1부터 세서 끝날 문자를 선택하면 된다. ]

String name = "Daisy";

System.out.println(name);

System.out.println(name.substring(2, 5));



+ Recent posts