2012-02-21 6 views
0

안녕하세요. 저는 아주 간단한 질문이 있습니다. 나는 배열에 대해 이야기하는 다른 웹 사이트를 연구 중이며이 부분을 잘 이해하지 못한다.문자열에 대한 세부 정보를 설명합니다.

(1) 'myString.length()'에 '()'이 표시되는 이유는 무엇입니까? (2)와 같이 myString.length가 아닌 이유는 무엇입니까 ??

(1) 왜 'System.out.println(myString.substring(i,i+1))'에 'myString.substring(i,i+1)'이 있습니까? 왜 'myString(i,i+1)'이 아닌가요?

(1) 'System.out.println(myString.substring(i,i+1))'의 값이 '(i,i+1)'인 이유는 무엇입니까? (2)와 같이 'System.out.println(myString.substring(i))'이 아닌 이유는 무엇입니까 ??

1. String myString="abcedaslkhldfag"; 
for(int i=0; i<myString.length(); i++) 
System.out.println(myString.substring(i,i+1)); 


2. for(int i=0; i<anArrayOfints.length; i++){ 
System.out.println(anArrayOfints[i]); 
} 

내가 http://www.javaclass.info/classes/java-array/array-examples-demonstration-and-code-snippets.php

+0

좋은 질문, 설명하기 어려운 비트. 깊은 기초. – sgowd

답변

0

처음으로, 약 배열 및 문자열.

완전히 다른 클래스를 비교하고 있습니다.

배열 유형은 동적으로 생성되는 특수 개체입니다. 프리미티브의 배열조차도 (C와 달리) 객체이기 때문에 특정 멤버 변수/메소드를 가질 수 있습니다. 여기 좀보십시오 : Array members

문자열은 문자열 (예 : 부분 문자열, 잘라 내기 등)에 적합한 동작을 캡슐화하는 클래스입니다. 실제 데이터는 문자 배열로 내부에 저장되므로 두 문자 사이에 밀접한 연결이 있지만 클래스 그 자체는 단순한 문자 이상을 나타냅니다.

두 번째로 약 subString 메서드입니다.

문자열 개체에서 호출되는 메서드는 API에서 지정한 구문을 따릅니다.

public String substring(int beginIndex) 
public String substring(int beginIndex,int endIndex) 

문자열 API here을 살펴보십시오. 거기에 String의 길이를 반환하는 length() 메서드가 있습니다.

"배열"클래스에 대한 참고 사항.

컬렉션 프레임 워크의 일부로 사용할 수있게 된 "배열"이라는 클래스가 있습니다. 이 클래스의 목적은 모든 유형의 배열 (예 : 정렬 및 검색)에서 일반적으로 사용되는 동작을 포함하는 것이 었습니다.

+0

이 주석은이 라인에 많은 정보를 제공합니다. 나는 그것을 읽었다, 나는 많이 잘 이해한다. 고마워요. –

0

Array 클래스는 java.lang.Object 상위를 확장이 웹 사이트에서 발견 주셔서 감사합니다. 따라서 array는 Object의 인스턴스입니다. 배열에는 length라는 인스턴스 변수가 하나 있습니다. 그것은 변수이므로()를 필요가 없습니다. 그리고 문자열 클래스는 length라는 멤버 함수를 가지고 있는데, 그래서()가 필요합니다.

+0

나 같은 사람에게 아주 간단하게 고마워. –

0

이것은 length()이 String 클래스의 메서드이고 lengthArray 클래스의 인스턴스 변수이기 때문입니다.

myString.substring(i, i + 1)의 경우 String 클래스의 인스턴스에서 호출되는 메서드로 하위 문자열이 포함 된 String 인스턴스가 새로 반환됩니다. 사실 myString.substring(i)은 API에 존재하며 i에서 시작하고 마지막 문자 인 myString으로 끝나는 하위 문자열을 반환합니다.

anArrayOfints[i]은 배열의 요소 i에 저장된 int를 반환합니다.

+0

모든 주석과 링크를 읽은 후이 부분은 "myString.substring (i)이 API에 존재하며 i에서 시작하여 myString의 마지막 문자로 끝나는 하위 문자열을 반환합니다"라는 것을 모릅니다. 설명에 도움과 시간을내어 주셔서 감사합니다. –

0

첫 번째 것, myString은 문자열 인 객체입니다. length() String이라는 메서드를 호출하여 문자열의 길이를 알 수 있습니다. 이 메서드는 문자열의 문자 수를 계산하고 그 수를 반환합니다. 또한 subString()은 begin 및 end 인덱스의 두 매개 변수를 사용하는 메서드입니다. 이것은 Java에 의해 만들어진 표준입니다. 문자열 메서드에 대한 자세한 내용은 here을 참조하십시오.

둘째는 데이터의 연속 메모리, 배열입니다. 배열의 길이도 배열에 저장되며 '.length'

+0

저를 좋아하는 분들을 위해 매우 간단하고 명확한 설명을 해주셔서 감사합니다. –

0

1이고 myString은 length라는 메서드가 있습니다. 메소드를 사용할 때는 "()"에 포함되어야하는 인수를 지정해야합니다. (2)에서 길이는 속성을 의미합니다. 변수로 사용하십시오.

2, 부분 문자열입니다. 어떤 객체의 메소드를 사용할 때, 당신은이 객체에 명령을 보내고 있다고 상상할 수 있습니다. myString은 "myString (i, i + 1)"을 이해할 수 없습니다. 메서드 또는 "subString"명령을 지정해야합니다.

3, anArrayOfints는 배열 객체입니다. 마치 뭔가의 목록처럼. 요소를 선택하려면 번호를 지정해야합니다.

+0

감사합니다. 저는 귀하의 답변에 감사 드리며, 내가 배운 것을 확인합니다. –

관련 문제