2017 - 08 - 20 (일)
참고 도서 : 자바의 정석(남궁성 저, 도우출판)
1 . 변수
변수 : 하나의 값을 저장할 수 있는 기억공간.
기본형 : boolean , char , byte , short, int, long, float, double ( 실제 값을 저장한다. )
참조형 : String, system ,etc.. ( 객체의 주소를 저장한다. )
String a = "b"; //힙영역에 a라는 공간에 b가 저장됨.
String b = "b"; //저장하려는 값이 이미 힙영역에 존재해서 좀더 효율적으로 메모리를 관리하기위해서 같은 주소를 가르키는 듯.
String c = new String("a");
String d = new String("a"); // 위와 다르게 새로운 주소 공간을 만들어 준것
if(a.equals(b)) {
System.out.println("true");
}else {
System.out.println("false");
} // true 가 나온다. String 타입의 a와 b처럼 값을 정의하면 같은 주소를 가르키게 된다. "==" 으로 비교해도 true 가 나온다.
if(c.equals(d)) {
System.out.println("true");
}else {
System.out.println("false");
} // if 문의 결과는 true 가 나온다. String은 객체의 주소를 저장하기 때문에 equals 로 비교해야한다. 서로다른 주소를 만들어 주었기에 "=="으로 비교하면 false가 나온다.
형변환 : 값의 타입을 다른 타입으로 변환하는 것이다.
int a = 38;
double b = 38.9;
a = (int)b; // 실수 -> 정수로 변환할 떄는 명시적형변환을 해줘야한다.
b = a; // 정수 -> 실수 변환 시 묵시적형변환을 한다. (자동형변환 된다.)
System.out.println("b : " +b); // 38 출력
System.out.println("a : " + a); // 38.0 출력
2 . 연산자
3 . 조건문/반복문
조건문 : Switch / if 문 두가지로 쓰이며 각각의 용도가 약간씩 다르다. 반복문 : for / while / do-while 문이 있다.
//if 문
int a = 7;
int b = 8;
if(a>b){
System.out.println("a가 크다");
}else{
System.out.println("b가 크다")
} //( ) 안에는 조건식을 넣어주며 { } 안에는 조건을 만족할 경우 결과를 나타내준다.
//switch문
int month = 2;
String monthString;
switch (month) {
case 1: monthString = "January";
break;
case 2: monthString = "February";
break;
case 3: monthString = "March";
break;
//if문과 달리 특정 경우에 수를 정해서 그 경우일 때 값 또는 처리를 반환해주는 방식이다.
//while 문
int treeHit = 0;
while (treeHit < 10) {
treeHit++;
System.out.println("나무를 " + treeHit + "번 찍었습니다.");
if (treeHit == 10) {
System.out.println("나무 넘어갑니다.");
}
}
//while ( 조건문 ) 형식이며 조건문을 만족할 때까지 { } 안의 내용을 반복적으로 돌린다.
//for 문
int[] marks = {90, 25, 67, 45, 80};
for(int i=0; i<marks.length; i++) {
if (marks[i] >= 60) {
System.out.println((i+1)+"번 학생은 합격입니다.");
}else {
System.out.println((i+1)+"번 학생은 불합격입니다.");
}
}
// for (초기값 설정 ; 조건식 ; 증감식) 처럼 쓰이며 while 문과 마찬가지로 조건문을 만족하지 않을 때 까지 { } 안의 내용을 반복적으로 돌린다.