일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 한 줄로 서기
- 울란바토르
- 헬스
- 테를지국립공원
- 아부다비
- SWEA
- 담슈타트
- Python
- 파이썬
- 독일
- 칭기스칸 동상
- ICT봉사단
- 테를지
- 몽골
- 몽골 고기
- 몽골요리
- 코로나
- algorithm
- 월드프렌즈 ICT 봉사단
- 백준
- 몽골 헬스장
- 교환학생
- 월드프렌즈
- 초원
- 칭기즈칸
- 게르
- 소프트웨어 아카데미
- LG글로벌챌린저
- 여행
- 알고리즘
- Today
- Total
맛있는물회
[맛있는물회] <자바> 배열(Array)_(String)-3 본문
배열 타입이 String 일때를 알아보겠다.
1. String은 C에서와는 다르게 클래스이기 때문에 참조형 변수로서 선언된다. 참조형 변수의 기본값은 null이므로 초기화를 하지 않았을 때 각 요소의 값은 null로 초기화 된다.
2. 특별히 초기화 할 때 String 클래스만 "KIM"과 같이 간략히 표현하는 것이 허용된다. 원래 String은 클래스이므로 new 연산자를 통해 객체를 생성해야한다.
String[] name = new String[3];
name[0] = new String("KIM");
둘다 가능
name[0] = "KIM";
3.
char[] hex = { 'C', 'A', 'F', 'E'};
System.out.println( "hex:" + new String(hex));
와 같이 char 배열을 String으로 다시 생성해주면 문자열로서 반환하여 출력이 가능하다.
또한
char[] temp = str.toCharArray(); 로서 String 배열을 char 배열로도 반환이 가능하다.
4.
String 클래스는 char배열에 기능(메서드)을 추가한 것이다.!
String 객체는 읽을 수만 있지, 변경은 불가능하다.
String str = "JAVA";
str = str + "8";
System.out.println(str);
변경되는 것 처럼 보이지만, 새로운 문자열이 생성되는 것이다.
(무슨말인지 정확하게 이해가 되지는 않는다. 다시한번 봐야겠다)
5.
커맨드 라인을 통해 입력받기(수업시간에 들었는데 정확히 이해를 못했었다...)
Scanner 의 nextLine 이아닌 화면을 통해 값을 입력받는 간단한 다른 방법이다.
main메서드가 담긴 클래스의 이름이 MainTest라 가정했을 때,
c:\jdk1.8\work\ch5>java MainTest abc 123
이라는 커맨드라인을 통해 두 문자열은 String배열에 담겨서 main메서드의 args로 전달된다.
-> args[0], args[1]과 같은 방식으로 접근이 가능하다.
커맨드라인에서는 숫자를 입력해도 문자열로 처리된다는 것에 주의하자. (커맨드라인으로부터 입력받은 데이터는 모두 문자열)
문자열 "123"을 숫자 123으로 바꾸려면
int num = Integer.parseInt("123");
으로 해주면 된다.
********************************************************************
뒤에 상속부분 공부하다 문득 궁금한점이 있었는데 해결해서 여기 올려본다.
코드는 자바의 정석 코드이다.
왜 클래스에서는 출력이안되는가?
생성자말고 클래스 자체에서는 출력이나 for 문이 왜 안돌아갈까?
고민하다 학교 선배에게 물어봐서 해결하게되었다.
class안에는 무조건 멤버들만 있어야 한다. 즉, 변수들과 메서드들로 이루어 져있다는 것이다. 그렇기 때문에 직접적으로 출력을 하거나 for문, if문을 돌리는 것은 안된다는 것이다. 따라서 생성자안에 넣어주거나 main메서드에 넣어주어야 한다!
(출처 - 자바의 정석)
'IT > 자바' 카테고리의 다른 글
[맛있는물회] <자바> String.substring() 메소드 사용법 (0) | 2018.07.09 |
---|---|
[맛있는물회] <자바> new Scanner(Paths.get("clients.txt")를 사용해서 입력받기 (0) | 2018.07.04 |
[맛있는물회] <자바> 배열(array) - 2 (0) | 2018.07.04 |
[맛있는물회] <JAVA>배열(Array) (0) | 2018.07.04 |