1.
- static이 붙으면 정적멤버
안붙으면 인스턴스멤버
- static 멤버는 클래스가 메모리에 올라갈 때 정적 메소드가 자동적으로 생성된다.
- static이 붙은 변수의 값은 같은 주소를 가리키고 있는 것을 볼 수 있다.
- x1.i에 3을 넣고 x2.i에 5을 넣으면
x1.i와 x2.i의 값이 각각 다른 공간이 있는게 아니라
같은 메모리를 공유하고 있기때문에 마지막에 넣은값 5를 출력하게된다.
- static이 없는 변수는 가지고있는 클래스객체를 만들어 클래스를 통해 호출하지 않으면 사용할 수 없다. (오류발생)
2.
- 출력을 한 다음 if문을 걸었기 때문에 continue로 건너뛰어도 ABCDE가 모두 출력된다.
- 이렇게, 출력문 앞에 if문을 걸어서 continue로 건너뛰어주면 B는 출력없이 for문이 다시 도는 것을 볼 수 있다.
3.
- for문을 도는 동안 strings라는 배열안에 있는 값을 str이라는 변수에 순차적으로 대입한다.
- String s의 값을 for문을 돌리면서 출력해봤다.
그리고 str[idx]의 문자열과 "element"+idx 를 합쳐서 출력해봤다.
- 그 결과는 위와 같다.
String s에 0번 idx 값 A가 들어간 것을 볼 수 있다.
그 다음 String s에 1번 idx 값 B가 들어간 것을 볼 수 있다.
- 이어서 아래 for문을 보면 idx를 strs배열의 길이만큼 늘리면서 출력한다.
- 여기서 알게된 사실은
- for(String s : strs) 는 배열 strs의 값을 차례로 변수 String s에 넣어주는 반복문이다.
- String형의 변수.concat(문자열)을 해주면 문자열을 합쳐줄 수 있다.
for(타입변수 : 배열명){
실행문
}
의 형태를 사용하는 것을 '향상된 for문'이라고한다.
향상된 for문을 이용해서 배열의 값을 출력할 수 있다.
int i에 배열 num의 값을 순차적으로 넣기때문에 i의 값을 출력하는 출력문을 넣어주면 우리는 배열 num의 값을 순차적으로 볼 수 있다.
4.
- int형을 계산하면 int형으로
double형을 계산하면 double형으로 실행된다.
- double형인 자료를 int형을 연산하는 메서드로 계산하고 싶을경우 '형변환'을 진행한다.
- Double,Float to Int
실수를 정수로 치환하는 방법
(Int)캐스팅 방식으로 변환
이때 실수형의 소수점아래자리는 버려진다.
- Int to Double,Float
정수형을 실수형으로 변환
(Double,Float)캐스팅으로 구현
- Int to String
자바 String클래스의 valueOf, toString 이용
- Double Float to String
valueOf, toString 이용
- String to Int
Integer클래스의 parseInt, valueOf로 변환
- String to Double, Float
Long, Double, Float 클래스의 parseLong와 valueOf 로 변환
- String to Long, Short
Long, Short 클래스 parseLong와 parseShort로 변환