자바 개발할때 유용한 라이브러리(library)!


StringUtils - 문자열에 작업하는 관련기능들을 모아놓은 Library


사용방법 

1.직접 다운 : 다운로드페이지(click)

2.Maven : MavenRepository페이지(click)

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->

<dependency>

    <groupId>org.apache.commons</groupId>

    <artifactId>commons-lang3</artifactId>

    <version>3.8</version>

</dependency>


직접 다운로드할시 lib에 추가하여 사용하고 Maven사용시엔 pom.xml에 추가한다.


StringUtils.mid("문자열",시작위치,가져올길이)
문자열을 입력된 시작위치에서 가져올길이 만큼가져온다
String mid = StringUtils.mid("showmethemoney", 4, 5);
System.out.println(mid);
//출력결과 : methe

StringUtils.normalizeSpace("문자열")
문자열의 앞뒤 공백을 제거하고 중간에 여러 공백문자를 제거한다.
String normalizeSpace = StringUtils.normalizeSpace("show \tme the money");
System.out.println(normalizeSpace);
//출력결과 : show me the money
StringUtils.ordinalIndexOf("문자열","찾을문자열",카운트수)
문자열에서 찾을문자열을 찾고 카운트하다 카운수에 만족한 위치를 반환한다.
null이거나 카운트수에 만족한 문자가 없을경우 -1을 반환한다.
int ordinalIndexOf = StringUtils.ordinalIndexOf("abcabcabcabc", "abc", 3);
System.out.println(ordinalIndexOf);
//출력결과 : 6
StringUtils.overlay("문자열","넣을문자열",시작위치, 끝위치)
문자열안에 시작위치부터 끝위치전까지 넣을 문자열로 변환한다.
String overlay = StringUtils.overlay("0123456789", "**", 2, 7);
System.out.println(overlay);
//출력결과 : 01**789

StringUtils.prependIfMissing("문자열","접두사","부가접두사")
문자열이 접두사나 부가접두사로 시작하지 않을경우 접두사를 추가한다.
String prependIfMissing = StringUtils.prependIfMissing("Show", "me", "the");
System.out.println(prependIfMissing);
//출력결과 : meShow

StringUtils.prependIfMissing("문자열","접두사","부가접두사")
문자열이 접두사나 부가접두사로 시작하지 않을경우 접두사를 추가한다.(대/소문자를 구분안한다)
String prependIfMissingIgnoreCase = StringUtils.prependIfMissingIgnoreCase("Show", "me", "show");
System.out.println(prependIfMissingIgnoreCase);
//출력결과 : Show
StringUtils.remove("문자열","제거할문자")
문자열안에 제거할 문자가 있을경우 제거하여 반환한다(반복가능).
String remove = StringUtils.remove("s**h**o**w", "**");
System.out.println(remove);
//출력결과 : show

StringUtils.removeAll("문자열","정규식")
문자열안에 정규식에 포함하는 문자가 있을경우 제거하여 반환한다.
String removeAll = StringUtils.removeAll("showMETHEMONEY", "[A-Z]");
System.out.println(removeAll);
//출력결과 : show

StringUtils.removeEnd("문자열","제거할문자")
문자열 마지막에 제가할문자가 있을경우 제거한다.
String removeEnd = StringUtils.removeEnd("showME","ME");
System.out.println(removeEnd);
//출력결과 : show

StringUtils.removeEndIgnoreCase("문자열","제거할문자")
문자열 마지막에 제가할문자가 있을경우 제거한다.(대/소문자를 구분안한다)
String removeEndIgnoreCase = StringUtils.removeEndIgnoreCase("showME", "me");
System.out.println(removeEndIgnoreCase);
//출력결과 : show

StringUtils.removeFirst("문자열","정규식")
문자열안에 정규식에 포함하는 문자가 있을경우 첫번째를 제거하여 반환한다.
String removeFirst = StringUtils.removeFirst("<test>show", "<.*>");
System.out.println(removeFirst);
//출력결과 : show

StringUtils.removeIgnoreCase("문자열","제거할문자")
문자열안에 제거할 문자가 있을경우 제거하여 반환한다(반복가능).(대/소문자를 구분안한다)
String removeIgnoreCase = StringUtils.removeIgnoreCase("sThtotwT", "t");
System.out.println(removeIgnoreCase);
//출력결과 : show



StringUtils.removePattern("문자열","제거할패턴")
문자열안에 제거할 패턴이 있을경우 패턴안의 내용까지 제거후 반환한다.
String removePattern = StringUtils.removePattern("<test>\n<test>show", "<.*>");
System.out.println(removePattern);
//출력결과 : show

StringUtils.removeStart("문자열","제거할문자")
문자열안에 첫번쨰 제거할 문자를 제거한 후 반환한다.
String removeStart = StringUtils.removeStart("showshow", "show");
System.out.println(removeStart);
//출력결과 : show
StringUtils.removeStartIgnoreCase("문자열","제거할문자")
문자열안에 첫번쨰 제거할 문자를 제거한 후 반환한다.(대/소문자를 구분안한다)
String removeStartIgnoreCase = StringUtils.removeStartIgnoreCase("showshow", "SHOW");
System.out.println(removeStartIgnoreCase);
//출력결과 : show
StringUtils.repeat("문자열","구분자",반복할숫자)
문자열을 반복할 숫자만큼 반복하여 반환한다.
구분자가 없을경우 그냥 반복하여 반환한다.
String repeat = StringUtils.repeat("show",",", 3);
System.out.println(repeat);
//출력결과 : show,show,show
StringUtils.replace("문자열","찾을문자","변경문자")
문자열에서 찾을 문자열을 찾고 변경문자로 변경하여 반환한다.
String replace = StringUtils.replace("testtest", "test", "show");
System.out.println(replace);
//출력결과 : showshow

StringUtils.replace("문자열","찾을문자","변경문자",변경횟수)
문자열에서 찾을 문자열을 찾고 변경횟수만큼 변경문자로 변경하여 반환한다.
String replace2 = StringUtils.replace("testtest", "test", "show",1);
System.out.println(replace2);
//출력결과 : showtest

StringUtils.replaceAll("문자열","정규식","변경문자")
문자열에서 정규식에 포함되는 문자를 찾고 
변경문자로 변경하여 반환한다.
String replaceAll = StringUtils.replaceAll("SHOWshowSHOW", "[A-Z]", "^");
System.out.println(replaceAll);
//출력결과 : ^^^^show^^^^

StringUtils.replaceChars("문자열","변경할문자","변경문자")
문자열에서 변경할 문자를 한글자씩 찾고 변경문자로 변경한다.
String replaceChars = StringUtils.replaceChars("mhoe", "me", "sw");
System.out.println(replaceChars);
//출력결과 : show
StringUtils.replaceEach("문자열",변경할문자배열,변경문자배열)
문자열에서 변경할 문자배열을 확인후 있으면 변경문자배열로 변경하여 반환한다.
String replaceEach =
StringUtils.replaceEach("methe", new String[]{"me", "the"}, new String[]{"sh", "ow"});
System.out.println(replaceEach);
//출력결과 : show

StringUtils.replaceEachRepeatedly("문자열",변경할문자배열,변경문자배열)
문자열에서 변경할 문자배열을 확인후 그 단어를 변경문자배열에 확인하여
변경문자배열과 겹치지 않은 단어로 변경한다.
쓸일없을거같다.
String replaceEachRepeatedly = 
StringUtils.replaceEachRepeatedly("me", new String[]{"m", "e"}, new String[]{"e", "d"});
System.out.println(replaceEachRepeatedly);
//출력결과 : dd
StringUtils.replaceFirst("문자열","찾을문자열","변경문자")
문자열에서 찾을문자열을 찾아 첫번째를 변경문자로 변경 후 반환한다.(정규식사용가능)
String replaceFirst = StringUtils.replaceFirst("show56show", "show", "1234");
System.out.println(replaceFirst);
//출력결과 : 123456show
StringUtils.replaceFirst("문자열","찾을문자열","변경문자")
문자열에서 찾을문자열을 찾아 변경문자로 변경 후 반환한다.(대/소문자를 구분안한다)
String replaceIgnoreCase = StringUtils.replaceIgnoreCase("Aa", "a", "1");
System.out.println(replaceIgnoreCase);
//출력결과 : 11
StringUtils.replaceOnce("문자열","찾을문자열","변경문자")
문자열에서 찾을문자열을 찾아  한번만 변경문자로 변경 후 반환한다.(정규표현식사용불가)
String replaceOnce = StringUtils.replaceOnce("sshow", "s", "1");
System.out.println(replaceOnce);
//출력결과 : 1show
StringUtils.replaceOnceIgnoreCase("문자열","찾을문자열","변경문자")
문자열에서 찾을문자열을 찾아  한번만 변경문자로 변경 후 반환한다.(대/소문자를 구분안한다,정규표현식사용불가)
String replaceOnceIgnoreCase = StringUtils.replaceOnceIgnoreCase("sshow", "S", "1");
System.out.println(replaceOnceIgnoreCase);
//출력결과 : 1show
StringUtils.replacePattern("문자열","정규식","변경문자")
문자열에서 정규식에 포함되어있는 문자를 변경문자로 변경 후 반환한다.
String replacePattern = StringUtils.replacePattern("<__>test<__>me", "<.*>", "show");
System.out.println(replacePattern);
//출력결과 : showme

StringUtils.reverse("문자열")
문자열을 반대로 변환후 반환한다.
String reverse = StringUtils.reverse("show");
System.out.println(reverse);
//출력결과 : wohs
StringUtils.reverse("문자열",'구분자'(char형태문자))
구분자 기준으로 순서를 반대로 바꾼후 반환한다.
구분자가 아닌 문자는 반대로 변환되지 않는다.
String reverseDelimited = StringUtils.reverseDelimited("123.456.789", '.');
System.out.println(reverseDelimited);
//출력결과 : 789.456.123

StringUtils.right("문자열",가져올크기)
문자열의 오른쪽을 기준으로 가져올크기 만큼 반환한다.
String right = StringUtils.right("show", 2);
System.out.println(right);
//출력결과 : ow
StringUtils.rightPad("문자열",문자크기,"추가할문자")
문자열의 오른쪽에 문자크기만큼 추가할문자를 추가 후 반환한다.
추가할문자가 없을 경우 공백으로 추가 후 반환환다.
String rightPad = StringUtils.rightPad("show", 10, "!@#$");
System.out.println(rightPad);
//출력결과 : show!@#$!@

StringUtils.rotate("문자열",이동할숫자)
문자열을 이동할숫자만큼 이동한다 (양수방향 ->,음수방향<-)
String rotate = StringUtils.rotate("show", 2);
System.out.println(rotate);
//출력결과 : owsh



JAVA  StringUtils 문자열 작업 - 1 보러가기(Click)

java StringUtils 문자열 작업 - 1 Method

String abbreviate ,String appendIfMissing ,String appendIfMissingIgnoreCase ,String capitalize ,String chomp ,String chomp2 ,String chop ,String center ,String center2 ,int compare ,int compareIgnoreCase ,boolean contains ,boolean containsAny ,boolean containsIgnoreCase ,boolean containsNone ,boolean containsOnly ,boolean containsWhitespace ,int countMatches ,String defaultIfBlank ,String defaultIfEmpty ,String defaultString ,String deleteWhitespace ,String difference ,boolean endsWith ,boolean endsWithAny ,boolean endsWithIgnoreCase ,boolean equals ,boolean equalsAny ,boolean equalsAnyIgnoreCase ,boolean equalsIgnoreCase ,String firstNonBlank ,String getCommonPrefix ,String getDigits ,int indexOf ,int indexOfAny ,int indexOfAnyBut ,int indexOfDifference ,int indexOfIgnoreCase 



JAVA  StringUtils 문자열 작업 - 2 보러가기(Click)

java StringUtils 문자열 작업 - 2 Method

boolean isAllBlank ,boolean isAllEmpty ,boolean isAllLowerCase ,boolean isAllUpperCase ,boolean isAlpha ,boolean isAlphanumeric ,boolean isAlphanumericSpace ,boolean isAlphaSpace ,boolean isAnyBlank ,boolean isAnyEmpty ,boolean isAsciiPrintable ,boolean isBlank ,boolean isEmpty ,boolean isMixedCase ,boolean isNoneBlank ,boolean isNoneEmpty ,boolean isNotBlank ,boolean isNotEmpty ,boolean isNumeric ,boolean isNumericSpace ,boolean isWhitespace ,boolean startsWith ,boolean startsWithAny ,boolean startsWithIgnoreCase ,String join ,String joinWith ,int lastIndexOf ,int lastIndexOf2 ,int lastIndexOfAny ,int lastIndexOfIgnoreCase ,int lastIndexOfIgnoreCase2 ,int lastOrdinalIndexOf ,String left ,String leftPad ,int length ,String lowerCase 


JAVA  StringUtils 문자열 작업 - 4 보러가기(Click)

java StringUtils 문자열 작업 - 4 Method

String[] split ,String[] split2 ,String[] splitByCharacterType ,String[] splitByCharacterTypeCamelCase ,String[] splitByWholeSeparator ,String[] splitByWholeSeparatorPreserveAllTokens ,String[] splitPreserveAllTokens ,String[] splitPreserveAllTokens2 ,String strip ,String stripAccents ,String[] stripAll ,String stripEnd ,String stripStart ,String stripToEmpty ,String stripToNull ,String substring ,String substring2 ,String substringAfter ,String substringAfterLast ,String substringBeforeLast ,String substringBetween ,String substringBetween2 ,String[] substringsBetween ,String swapCase ,int[] toCodePoints ,String trim ,String trimToEmpty ,String trimToNull ,String truncate ,String truncate2 ,String uncapitalize ,String unwrap ,String upperCase ,String wrap ,String wrapIfMissing



자바 개발할때 유용한 라이브러리(library)!


StringUtils - 문자열에 작업하는 관련기능들을 모아놓은 Library


사용방법 

1.직접 다운 : 다운로드페이지(click)

2.Maven : MavenRepository페이지(click)

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->

<dependency>

    <groupId>org.apache.commons</groupId>

    <artifactId>commons-lang3</artifactId>

    <version>3.8</version>

</dependency>


직접 다운로드할시 lib에 추가하여 사용하고 Maven사용시엔 pom.xml에 추가한다.


StringUtils.isAllBlank("문자열","문자열")

모든 문자열이 "",null," "(공백)이면 true를 반환한다.

boolean isAllBlank = StringUtils.isAllBlank(" ",null);

System.out.println(isAllBlank);

//출력결과 : true


StringUtils.isAllEmpty("문자열","문자열")

모든 문자열이 "",null이면 true를 반환한다.

boolean isAllEmpty = StringUtils.isAllEmpty("",null);

System.out.println(isAllEmpty);

//출력결과 : true

StringUtils.isAllLowerCase("문자열")

문자열이 소문자이면 true를 반환한다.

boolean isAllLowerCase = StringUtils.isAllLowerCase("show");

System.out.println(isAllLowerCase);

//출력결과 : true


StringUtils.isAllUpperCase("문자열")

문자열이 대문자이면 true를 반환한다.

boolean isAllUpperCase = StringUtils.isAllUpperCase("SHOW");

System.out.println(isAllUpperCase);

//출력결과 : true


StringUtils.isAlpha("문자열")

문자열이 문자로 구성되어있으면 true를 반환한다(숫자,특수문자,공백제외).

boolean isAlpha = StringUtils.isAlpha("show미더money");

System.out.println(isAlpha);

//출력결과 : true


StringUtils.isAlphanumeric("문자열")

문자열이 문자,숫자로 구성되어있으면 true를 반환한다(특수문자,공백제외).

boolean isAlphanumeric = StringUtils.isAlphanumeric("show미더money");

System.out.println(isAlphanumeric);

//출력결과 : true

StringUtils.isAlphanumericSpace("문자열")

문자열이 문자,숫자,공백으로 구성되어있으면 true를 반환한다(특수문자제외).

boolean isAlphanumericSpace = StringUtils.isAlphanumericSpace("show 미 더 money");

System.out.println(isAlphanumericSpace);

//출력결과 : true

StringUtils.isAlphaSpace("문자열")

문자열이 문자,공백으로 구성되어있으면 true를 반환한다(숫자,특수문자제외).

boolean isAlphaSpace = StringUtils.isAlphaSpace("show 미 더 money");

System.out.println(isAlphaSpace);

//출력결과 : true

StringUtils.isAnyBlank("문자열","문자열")

문자열들중 "",null,공백이 하나라도 있으면 true를 반환한다.

vararg형식이므로 배열도 가능하다.

new String[] {} 배열안에 값이 하나도 없다면 false를 반환한다.

boolean isAnyBlank = StringUtils.isAnyBlank(new String[] {" ","가"});

System.out.println(isAnyBlank);

//출력결과 : true

StringUtils.isAnyEmpty("문자열","문자열")

문자열들중 "",null이 하나라도 있으면 true를 반환한다.

vararg형식이므로 배열도 가능하다.

new String[] {} 배열안에 값이 하나도 없다면 false를 반환한다.

boolean isAnyEmpty = StringUtils.isAnyEmpty(new String[] {"","가"});

System.out.println(isAnyEmpty);

//출력결과 : true


StringUtils.isAsciiPrintable("문자열")

ASCII 인쇄가능한 문자만 있을경우 true를 반환한다.

boolean isAsciiPrintable = StringUtils.isAsciiPrintable("show");

System.out.println(isAsciiPrintable);

//출력결과 : true

StringUtils.isBlank("문자열")

문자열이 "",null,공백이라면 true를 반환한다.

boolean isBlank = StringUtils.isBlank(" ");

System.out.println(isBlank);

//출력결과 : true


StringUtils.isEmpty("문자열")

문자열이 "",null라면 true를 반환한다.

boolean isEmpty = StringUtils.isEmpty("");

System.out.println(isEmpty);

//출력결과 : true

StringUtils.isMixedCase("문자열")

문자열이 대/소문자가 혼합되어있으면 true를 반환한다.

boolean isMixedCase = StringUtils.isMixedCase("Show");

System.out.println(isMixedCase);

//출력결과 : true

StringUtils.isNoneBlank("문자열","문자열")

문자열들에 "",null,공백이 없다면 true를 반환한다.

vararg형식이므로 배열도 가능하다.

new String[] {} 배열안에 값이 하나도 없다면 true를 반환한다.

boolean isNoneBlank = StringUtils.isNoneBlank("Show","me");

System.out.println(isNoneBlank);

//출력결과 : true

StringUtils.isNoneEmpty("문자열","문자열")

문자열들에 "",null이 없다면 true를 반환한다.

vararg형식이므로 배열도 가능하다.

new String[] {} 배열안에 값이 하나도 없다면 true를 반환한다.

boolean isNoneEmpty = StringUtils.isNoneEmpty("Show","me");

System.out.println(isNoneEmpty);

//출력결과 : true

StringUtils.isNotBlank("문자열")

문자열이 "",null,공백이 아니라면 true를 반환한다.

boolean isNotBlank = StringUtils.isNotBlank("Show");

System.out.println(isNotBlank);

//출력결과 : true

StringUtils.isNotEmpty("문자열")

문자열이 "",null이 아니라면 true를 반환한다.

boolean isNotEmpty = StringUtils.isNotEmpty(" ");

System.out.println(isNotEmpty);

//출력결과 : true

StringUtils.isNumeric("문자열")

문자열이 숫자라면 true를 반환한다.

음수는 인식하지 못한다.

boolean isNumeric = StringUtils.isNumeric("123");

System.out.println(isNumeric);

//출력결과 : true

StringUtils.isNumericSpace("문자열")

문자열이 띄어쓰기를 포함한 숫자이거나 그냥 숫자라면 true를 반환한다.

음수는 인식하지 못한다.

boolean isNumericSpace = StringUtils.isNumericSpace("1 2 3");

System.out.println(isNumericSpace);

//출력결과 : true

StringUtils.isWhitespace("문자열")

문자열이 "",공백이라면 true를 반환한다.

boolean isWhitespace = StringUtils.isWhitespace(" ");

System.out.println(isWhitespace);

//출력결과 : true

StringUtils.startsWith("문자열","시작문자열")

문자열의 시작이 시작문자열과 같다면 true를 반환한다.

문자열과 시작문자열이 null,null이여도 true를 반환한다.

boolean startsWith = StringUtils.startsWith("ShowMeTheMoney", "Show");

System.out.println(startsWith);

//출력결과 : true

StringUtils.startsWithAny("문자열","시작문자열","시작문자열")

문자열의 시작이 시작문자열중 하나라도 같다면 true를 반환한다.

vararg형식이므로 배열도 가능하다.

new String[] {} 배열안에 값이 하나도 없다면 true를 반환한다.

boolean startsWithAny = StringUtils.startsWithAny("ShowMeTheMoney", new String[] {null, "xyz", "Show"});

System.out.println(startsWithAny);

//출력결과 : true

StringUtils.startsWithIgnoreCase("문자열","시작문자열")

문자열의 시작이 시작문자열이 같다면 true를 반환한다.(대/소문자를 구분안한다)

boolean startsWithIgnoreCase = StringUtils.startsWithIgnoreCase("ShowMeTheMoney", "show");

System.out.println(startsWithIgnoreCase);

//출력결과 : true

StringUtils.join(각종배열,"구분자")

여러종류의 배열을 구분자로 구분한 문자열을 반환해준다.

구분자가 없을경우 배열을 문자열 형태로 바꿔준다.

"",null은 ""로 표시된다.

String join = StringUtils.join( new String[] {"show", "me", "the","money"}, "*");

System.out.println(join);

//출력결과 : show*me*the*money

StringUtils.joinWith("구분자",각종배열)

여러종류의 배열을 구분자로 구분한 문자열을 반환해준다.

구분자가 없을경우 배열을 문자열 형태로 바꿔준다.

"",null은 ""로 표시된다.

String joinWith = StringUtils.joinWith("*", new String[] {"show", "me", "the","money"});

System.out.println(joinWith);

//출력결과 : show*me*the*money


StringUtils.lastIndexOf("문자열","찾을문자열")

문자열에서 찾을 문자열을 확인 후 마지막 문자열의 위치를 반환한다.

문자열이 "",null이면 -1을 반환한다.

int lastIndexOf = StringUtils.lastIndexOf("aaaaaaaaaa", "a");

System.out.println(lastIndexOf);

//출력결과 : 9

StringUtils.lastIndexOf("문자열","찾을문자열",검색범위(int형))

문자열에서 검색범위안에서 찾을 문자열을 확인 후 마지막 문자열의 위치를 반환한다.

문자열이 "",null이면 -1을 반환한다.

int lastIndexOf2 = StringUtils.lastIndexOf("aaaaaaaaaa", "a", 5);

System.out.println(lastIndexOf2);

//출력결과 : 5


StringUtils.lastIndexOfAny("문자열","찾을문자열","찾을문자열")

문자열에서 검색범위안에서 찾을 문자열을 확인 후 마지막 문자열의 위치를 반환한다.

문자열이 "",null이면 -1을 반환한다.

찾을문자열에 같은 문자열이 없고 찾을문자열에 공백이 있을 경우 문자열의 크기를 반환한다.

vararg형식이므로 배열도 가능하다.

new String[] {} 배열안에 값이 하나도 없다면 -1를 반환한다.

int lastIndexOfAny = StringUtils.lastIndexOfAny("aaaaa", new String[] {"a","b"});

System.out.println(lastIndexOfAny);

//출력결과 : 4

StringUtils.lastIndexOfIgnoreCase("문자열","찾을문자열")

문자열에서 찾을 문자열을 확인 후 마지막 문자열의 위치를 반환한다.(대/소문자를 구분안한다)

문자열이 "",null이면 -1을 반환한다.

int lastIndexOfIgnoreCase = StringUtils.lastIndexOfIgnoreCase("aaaaaaaaaa", "A");

System.out.println(lastIndexOfIgnoreCase);

//출력결과 : 6

StringUtils.lastIndexOfIgnoreCase("문자열","찾을문자열")

문자열에서 검색범위안에서 찾을 문자열을 확인 후 마지막 문자열의 위치를 반환한다.(대/소문자를 구분안한다)

문자열이 "",null이면 -1을 반환한다.

int lastIndexOfIgnoreCase2 = StringUtils.lastIndexOfIgnoreCase("aaaaaaaaaa", "A",5);

System.out.println(lastIndexOfIgnoreCase2);

//출력결과 : 5

StringUtils.lastIndexOfIgnoreCase("문자열","찾을문자열",검색시작숫자(int형))

문자열에서 검색시작숫자부터 찾을 문자열을 확인 후 마지막 문자열의 위치를 반환한다.(1부터 시작한다)

문자열이 "",null이면 -1을 반환한다.

int lastOrdinalIndexOf = StringUtils.lastOrdinalIndexOf("aaaaaaaaaa", "a", 4);

System.out.println(lastOrdinalIndexOf);

//출력결과 : 9


StringUtils.left("문자열",시작할위치(int형))

시작할 위치 기준으로 왼쪽글자를 가져온다.

String left = StringUtils.left("show", 2);

System.out.println(left);

//출력결과  : sh

StringUtils.left("문자열",문자열크기,"추가단어")

문자열 크기만큼 왼쪽에 추가단어를 생성한다.

추가단어가 없을경우 공백을 추가한다.

String leftPad = StringUtils.leftPad("show", 10, "*");

System.out.println(leftPad);

//출력결과 : ******show


StringUtils.length("문자열")

문자열의 크기를 반환한다(1부터시작한다).

null,""이면  0을 반환한다.

int length = StringUtils.length("show");

System.out.println(length);

//출력결과 : 4


StringUtils.length("문자열")

문자열을 소문자로 반환한다.

String lowerCase = StringUtils.lowerCase("SHOW");

System.out.println(lowerCase);

//출력결과 : show



JAVA  StringUtils 문자열 작업 - 1 보러가기(Click)

java StringUtils 문자열 작업 - 1 Method

String abbreviate ,String appendIfMissing ,String appendIfMissingIgnoreCase ,String capitalize ,String chomp ,String chomp2 ,String chop ,String center ,String center2 ,int compare ,int compareIgnoreCase ,boolean contains ,boolean containsAny ,boolean containsIgnoreCase ,boolean containsNone ,boolean containsOnly ,boolean containsWhitespace ,int countMatches ,String defaultIfBlank ,String defaultIfEmpty ,String defaultString ,String deleteWhitespace ,String difference ,boolean endsWith ,boolean endsWithAny ,boolean endsWithIgnoreCase ,boolean equals ,boolean equalsAny ,boolean equalsAnyIgnoreCase ,boolean equalsIgnoreCase ,String firstNonBlank ,String getCommonPrefix ,String getDigits ,int indexOf ,int indexOfAny ,int indexOfAnyBut ,int indexOfDifference ,int indexOfIgnoreCase 


JAVA  StringUtils 문자열 작업 - 3 보러가기(Click)

java StringUtils 문자열 작업 - 3 Method

String mid ,String normalizeSpace ,int ordinalIndexOf ,String overlay ,String prependIfMissing ,String prependIfMissingIgnoreCase ,String remove ,String removeAll ,String removeEnd ,String removeEndIgnoreCase ,String removeFirst ,String removeIgnoreCase ,String removePattern ,String removeStart ,String removeStartIgnoreCase ,String repeat ,String replace ,String replace2 ,String replaceAll ,String replaceChars ,String replaceEach ,String replaceEachRepeatedly ,String replaceFirst ,String replaceIgnoreCase ,String replaceOnce ,String replaceOnceIgnoreCase ,String replacePattern ,String reverse ,String reverseDelimited ,String right ,String rightPad ,String rotate


JAVA  StringUtils 문자열 작업 - 4 보러가기(Click)

java StringUtils 문자열 작업 - 4 Method

String[] split ,String[] split2 ,String[] splitByCharacterType ,String[] splitByCharacterTypeCamelCase ,String[] splitByWholeSeparator ,String[] splitByWholeSeparatorPreserveAllTokens ,String[] splitPreserveAllTokens ,String[] splitPreserveAllTokens2 ,String strip ,String stripAccents ,String[] stripAll ,String stripEnd ,String stripStart ,String stripToEmpty ,String stripToNull ,String substring ,String substring2 ,String substringAfter ,String substringAfterLast ,String substringBeforeLast ,String substringBetween ,String substringBetween2 ,String[] substringsBetween ,String swapCase ,int[] toCodePoints ,String trim ,String trimToEmpty ,String trimToNull ,String truncate ,String truncate2 ,String uncapitalize ,String unwrap ,String upperCase ,String wrap ,String wrapIfMissing


자바 개발할때 유용한 라이브러리(library)!


StringUtils - 문자열에 작업하는 관련기능들을 모아놓은 Library


사용방법 

1.직접 다운 : 다운로드페이지(click)

2.Maven : MavenRepository페이지(click)

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->

<dependency>

    <groupId>org.apache.commons</groupId>

    <artifactId>commons-lang3</artifactId>

    <version>3.8</version>

</dependency>


직접 다운로드할시 lib에 추가하여 사용하고 Maven사용시엔 pom.xml에 추가한다.


StringUtils.abbreviate(문자열, 보여줄숫자(...포함))  

문자열 축소하기 뒤에 숫자는 4보다 커야한다.

긴글을 정해진 글자만큼만 보여주고 ... 으로 요약한다고 생각하면된다.

String abbreviate = StringUtils.abbreviate("ShowMeTheMoney", 7);

System.out.println(abbreviate);

//출력결과 : Show...

StringUtils.appendIfMissing(문자열, 추가할단어, 마지막단어)

마지막단어가 다를 경우 추가할단어를 추가해준다(대소문자를 구분한다),

String appendIfMissing = StringUtils.appendIfMissing("ShowMeTheMoney", "-From.Choi", "Money");

System.out.println(appendIfMissing);

//출력결과 : ShowMeTheMoney

appendIfMissing = StringUtils.appendIfMissing("ShowMeTheMoney", "-From.Choi", "test");

System.out.println(appendIfMissing);

//출력결과 : ShowMeTheMoney-From.Choi

StringUtils.appendIfMissingIgnoreCase(문자열, "추가할단어", "마지막단어")

StringUtils.appendIfMissing와 같으나 대소문자를 구분하지않는다.

String appendIfMissingIgnoreCase = StringUtils.appendIfMissingIgnoreCase("ShowMeTheMoney", "-From.Choi", "money");

System.out.println(appendIfMissingIgnoreCase);

//출력결과 : ShowMeTheMoney

StringUtils.capitalize(문자열)

첫글자를 대문자로 변환한다.

String capitalize = StringUtils.capitalize("sss");

System.out.println(capitalize);

출력결과 : Sss

StringUtils.chomp(문자열);

마지막에 개행문자 \n,\r,\r\n이 있을 경우 제거한다.

String chomp = StringUtils.chomp("ssssss\n");

System.out.println(chomp);

//출력결과 : ssssss

StringUtils.chomp(문자열,제거할문자);

마지막에 제거할 문자가 있을 경우 제거한다.

String chomp2 = StringUtils.chomp("ssssss#","#");

System.out.println(chomp2);

//출력결과 : ssssss

StringUtils.chop(문자열)

마지막 문자 하나를 제거한다.

String chop = StringUtils.chop("ssssss");

System.out.println(chop);

//출력결과 : sssss

StringUtils.center(문자열, 글자수);

문자열에 설정한 글자수만큼 공백을 추가한다.

오른쪽,왼쪽 순으로 추가된다.

String center = StringUtils.center("sss", 12);

System.out.println(center);

//출력결과 :     sss     

StringUtils.center(문자열, 글자수, 추가될단어);

문자열에 설정한 글자수만큼 추가될 단어를 추가한다.

오른쪽,왼쪽 순으로 추가된다.

String center2 = StringUtils.center("sss", 12, "#");

System.out.println(center2);

//출력결과 : ####sss#####

StringUtils.compare(문자열, 비교할문자열)

문자열을 십진수로 변환후 비교한다.

문자를 유니코드 코드 (10진수) 로 변환 출력

System.out.println((int) '가');

System.out.println((int) '나');

//출력결과 : 44032

//출력결과 : 45208

int compare = StringUtils.compare("가", "나");

System.out.println(compare);

//출력결과 : -1176

//사용할 일이 있을려나...

StringUtils.compareIgnoreCase(문자열, 비교할문자열)

문자열을 십진수로 변환후 비교한다.(대소문자를 비교안함)

int compareIgnoreCase = StringUtils.compareIgnoreCase("S", "s");

System.out.println(compareIgnoreCase);

//출력결과 : 0

StringUtils.contains(문자열, 비교할문자열)

문자열안에 비교할문자열이 포함되어있으면 true를 반환한다.

boolean contains = StringUtils.contains("ssss", "ss");

System.out.println(contains);

//출력결과 : true

StringUtils.containsAny(문자열, 비교할문자열, 비교할문자열)

문자열안에 비교할문자열이 하나라도 포함되어있으면 true를 반환한다.

boolean containsAny = StringUtils.containsAny("안녕하세요", "동안");

System.out.println(containsAny);

//출력결과 : true

StringUtils.containsIgnoreCase(문자열, 비교할문자열)

문자열안에 비교할문자열이 포함되어있으면 true를 반환한다.(대소문자를 비교안함)

boolean containsIgnoreCase = StringUtils.containsIgnoreCase("ss", "SS");

System.out.println(containsIgnoreCase);

//출력결과 : true

StringUtils.containsNone(문자열, 비교할문자열)

문자열안에 비교할문자열이 하나라도 포함되어있으면 false를 반환한다.

boolean containsNone = StringUtils.containsNone("ssa", "axx");

System.out.println(containsNone);

//출력결과 : false


StringUtils.containsOnly(문자열, 비교할문자열)

문자열안에 비교할문자열이 모두 포함되어있으면 true를 반환한다.

boolean containsOnly = StringUtils.containsOnly("ssa", "asd");

System.out.println(containsOnly);

//출력결과 : true

StringUtils.containsWhitespace(문자열, 비교할문자열)

문자열안에 공백이 포함되어 있으면 true를 반환한다.

boolean containsWhitespace = StringUtils.containsWhitespace("sss sss sss");

System.out.println(containsWhitespace);

//출력결과 : true

StringUtils.countMatches(문자열, 비교할문자열)

문자열안에 비교할 문자열이 있으면 출력결과에 1씩 추가한다.

int countMatches = StringUtils.countMatches("ccaaaa", "cc");

System.out.println(countMatches);

//출력결과 : 1

StringUtils.defaultIfBlank(문자열, 반환할문자열)

문자열이 띄어쓰기,공백이,null인 경우 반환할 문자열을 반환한다.

String defaultIfBlank = StringUtils.defaultIfBlank(" ", "띄어쓰기,공백이,null일시 반환문자");

System.out.println(defaultIfBlank);

//출력결과 : 공백일시 반환문자

StringUtils.defaultIfEmpty(문자열, 반환할문자열)

문자열이 공백,null인 경우 반환할 문자열을 반환한다.

String defaultIfEmpty = StringUtils.defaultIfEmpty("", "공백,null일시 반환문자");

System.out.println(defaultIfEmpty);

//출력결과 : 공백일시 반환문자

StringUtils.defaultString(문자열, 반환할문자열)

문자열이 null인 경우 반환할 문자열을 반환한다.(반환할문자열이 없을경우 ""로 반환한다.)

String defaultString = StringUtils.defaultString(null,"null일시 반환문자");

System.out.println(defaultString);

//출력결과 : null일시 반환문자

StringUtils.deleteWhitespace(문자열)

문자열에 공백이 있을경우 제거한다.

String deleteWhitespace = StringUtils.deleteWhitespace("안녕 하세요");

System.out.println(deleteWhitespace);

//출력결과 : 안녕하세요


StringUtils.difference(문자열,비교할문자열)

문자열과 비교할문자열을 비교하고 비교할문자열에서 다른부분을 반환한다.

String difference = StringUtils.difference("안녕하시오", "안녕하세오");

System.out.println(difference);

//출력결과 : 세요


StringUtils.endsWith(문자열,마지막문자열)

문자열의 마지막이 마지막문자열과 비교하고 같다면 true을 반환한다.

boolean endsWith = StringUtils.endsWith("안녕하세요.", ".");

System.out.println(endsWith);

//출력결과 : true

StringUtils.endsWithAny(문자열,마지막문자열)

문자열의 마지막이 마지막문자열과 비교하고 같다면(vararg형식) true을 반환한다.(대/소문자를 구분한다)

boolean endsWithAny = StringUtils.endsWithAny("안녕하세요.s", ".S");

System.out.println(endsWithAny);

//출력결과 : false

StringUtils.endsWithAny(문자열,마지막문자열)

문자열의 마지막이 마지막문자열과 비교하고 같다면 true을 반환한다.(대/소문자를 구분안한다)

boolean endsWithIgnoreCase = StringUtils.endsWithIgnoreCase("안녕하세요.s", ".S");

System.out.println(endsWithIgnoreCase);

//출력결과 : true

StringUtils.equals(문자열,비교할문자열)

문자열과 비교할문자열과 같다면 true을 반환한다.

boolean equals = StringUtils.equals("비교", "비교");

System.out.println(equals);

//출력결과 : true


StringUtils.equalsAny(문자열,비교할문자열)

문자열과 비교할문자열과 같다면(vararg형식) true을 반환한다.

boolean equalsAny = StringUtils.equalsAny("ss", "sS","ss");

System.out.println(equalsAny);

//출력결과 : false

StringUtils.equalsAnyIgnoreCase(문자열,비교할문자열)

문자열과 비교할문자열과 같다면(vararg형식) true을 반환한다.(대/소문자를 구분안한다)

boolean equalsAnyIgnoreCase = StringUtils.equalsAnyIgnoreCase("ss", "sS","ss");

System.out.println(equalsAnyIgnoreCase);

//출력결과 : ture

StringUtils.equalsIgnoreCase(문자열,비교할문자열)

문자열과 비교할문자열과 같다면 true을 반환한다.(대/소문자를 구분안한다)

boolean equalsIgnoreCase = StringUtils.equalsIgnoreCase("ss", "sS");

System.out.println(equalsIgnoreCase);

//출력결과 : ture

StringUtils.firstNonBlank(문자열,문자열,문자열)

null,공백,띄어쓰기를 제외한 첫번째 문자열을 가져온다

StringUtils 3.8버전부터 사용가능

String firstNonBlank = StringUtils.firstNonBlank(null, "", " ", "xyz");

     System.out.println(firstNonBlank);

출력결과 : xyz

StringUtils.getCommonPrefix(new String[] {"문자열", "문자열"})

모든 문자열에서 공통된 첫부분을 출력한다.

String getCommonPrefix = StringUtils.getCommonPrefix("sss","ssS","ssa");

System.out.println(getCommonPrefix);

//출력결과 : ss

StringUtils.getDigits("문자열")

Unicode Number(숫자)만 출력한다.

String getDigits = StringUtils.getDigits("123제거된다456");

System.out.println(getDigits);

//출력결과 : 123456

StringUtils.indexOf("문자열","찾을문자열")

문자열중에 찾을 문자열이 포함된 첫번째 인덱스를 반환한다.

int indexOf = StringUtils.indexOf("sS", "S"); 

System.out.println(indexOf);

//출력결과 : 1


StringUtils.indexOfAny("문자열",new String[] {"문자열", "문자열"})

문자열과 배열을 비교하고(vararg형식) 첫번째 인덱스를 반환한다.

int indexOfAny = StringUtils.indexOfAny("녕하세요",new String[] {"", "녕"});

System.out.println(indexOfAny);

//출력결과 : 0

StringUtils.indexOfAnyBut("문자열",new char[] {'문자', '문자'})

문자열과 문자 배열을 비교 후 배열에 없는 첫번째 문자인덱스를 반환한다.

int indexOfAnyBut = StringUtils.indexOfAnyBut("문자",new char[] {'문', '자'});

System.out.println(indexOfAnyBut);

//출력결과 : 2

StringUtils.indexOfDifference("문자열","비교문자열");

문자열과 비교문자열을 비교하고 달라지는 부분의 인덱스를 반환한다.

int indexOfDifference = StringUtils.indexOfDifference("안녕하세요","안녕하시오");

System.out.println(indexOfDifference);

//출력결과 : 3

StringUtils.indexOfIgnoreCase("문자열","찾을문자열")

문자열중에 찾을 문자열이 포함된 첫번째 인덱스를 반환한다.(대/소문자를 구분안한다)

int indexOfIgnoreCase = StringUtils.indexOfIgnoreCase("sS", "S"); 

System.out.println(indexOfIgnoreCase);

//출력결과 : 0



JAVA  StringUtils 문자열 작업 - 2 보러가기(Click)

java StringUtils 문자열 작업 - 2 Method

boolean isAllBlank ,boolean isAllEmpty ,boolean isAllLowerCase ,boolean isAllUpperCase ,boolean isAlpha ,boolean isAlphanumeric ,boolean isAlphanumericSpace ,boolean isAlphaSpace ,boolean isAnyBlank ,boolean isAnyEmpty ,boolean isAsciiPrintable ,boolean isBlank ,boolean isEmpty ,boolean isMixedCase ,boolean isNoneBlank ,boolean isNoneEmpty ,boolean isNotBlank ,boolean isNotEmpty ,boolean isNumeric ,boolean isNumericSpace ,boolean isWhitespace ,boolean startsWith ,boolean startsWithAny ,boolean startsWithIgnoreCase ,String join ,String joinWith ,int lastIndexOf ,int lastIndexOf2 ,int lastIndexOfAny ,int lastIndexOfIgnoreCase ,int lastIndexOfIgnoreCase2 ,int lastOrdinalIndexOf ,String left ,String leftPad ,int length ,String lowerCase 


JAVA  StringUtils 문자열 작업 - 3 보러가기(Click)

java StringUtils 문자열 작업 - 3 Method

String mid ,String normalizeSpace ,int ordinalIndexOf ,String overlay ,String prependIfMissing ,String prependIfMissingIgnoreCase ,String remove ,String removeAll ,String removeEnd ,String removeEndIgnoreCase ,String removeFirst ,String removeIgnoreCase ,String removePattern ,String removeStart ,String removeStartIgnoreCase ,String repeat ,String replace ,String replace2 ,String replaceAll ,String replaceChars ,String replaceEach ,String replaceEachRepeatedly ,String replaceFirst ,String replaceIgnoreCase ,String replaceOnce ,String replaceOnceIgnoreCase ,String replacePattern ,String reverse ,String reverseDelimited ,String right ,String rightPad ,String rotate


JAVA  StringUtils 문자열 작업 - 4 보러가기(Click)

java StringUtils 문자열 작업 - 4 Method

String[] split ,String[] split2 ,String[] splitByCharacterType ,String[] splitByCharacterTypeCamelCase ,String[] splitByWholeSeparator ,String[] splitByWholeSeparatorPreserveAllTokens ,String[] splitPreserveAllTokens ,String[] splitPreserveAllTokens2 ,String strip ,String stripAccents ,String[] stripAll ,String stripEnd ,String stripStart ,String stripToEmpty ,String stripToNull ,String substring ,String substring2 ,String substringAfter ,String substringAfterLast ,String substringBeforeLast ,String substringBetween ,String substringBetween2 ,String[] substringsBetween ,String swapCase ,int[] toCodePoints ,String trim ,String trimToEmpty ,String trimToNull ,String truncate ,String truncate2 ,String uncapitalize ,String unwrap ,String upperCase ,String wrap ,String wrapIfMissing



자바 초보들이 알아야 할 기본 개념!


특수문자 사용 및 치환


특수문자 사용하기(Split,replace등등)

문자열을 배열로 만들때 사용하는 Split을 사용거나

문자열중 특정문자를 변경할때 사용하는 replaceAll등을 사용한다.

예를들어 ^으로 Split해보면 적용이 안되는 것을 알 수 있다.

String a = "sss^sss";

String[] b = a.split("^");

for (String c : b) {

System.out.println(c);

}


출력결과 :  sss^sss


모든 특수문자가 그런건 아니다.

확인해본 특수문자는 아래와 같다.


특수문자 : $, ^,*, (, ), +, |, [, {, ., ?

사용방법 : ex)\\^


String a = "sss^sss";

String[] b = a.split("\\^"); 

for (String c : b) {

System.out.println(c);

}

출력결과: 

sss

sss


\\를 사용하면 ^을 기준으로 split된것을 확인할 수 있다.


위 특수 문자사용와 다른 특수문자도 있다.


특수문자 : "(큰 따옴표)

사용방법 : \"


String a = "sss"sss";

String[] b = a.split("\"");

for (String c : b) {

System.out.println(c);

}

특수문자 : \(백슬래쉬)

사용방법 : \\\\


String a = "sss\\sss";

String[] b = a.split("\\\\");

for (String c : b) {

System.out.println(c);

}



특수문자 입력하기

개발을 하다보면 문자열을 입력할때 특수문자를 사용할일이 생긴다.


큰 따옴표를 문자열(String)안에 넣어야할경우가 생기게될때 

사용하는 방법이다.


예를들어 문자열큰 따옴표를 넣을일이 생긴다면

String val = """; 이렇게 입력한다면 당연히 오류가 난다.

큰따옴표를 입력하는 방법은 아래와 같다.

String val "\""; 


 

\t

\n 줄 바꿈

\' 작은 따옴표(char에서 사용)

\" 큰 따옴표

\\ 역슬래쉬


System.out.println("Te\tst");

출력결과 : Te st(탭적용)

System.out.println("Te\nst");

출력결과 : Te

st(줄 바꿈 적용)

char b = '\'';

System.out.println(b); 

char문자열은 작은따옴표로 입력하기때문에 사용

출력결과: '(작은따옴표 출력)

System.out.println("Te\"st");

출력결과: Te"st(큰따옴표 출력)






자바 초보들이 알아야 할 기본 개념!


주석

자바파일(*.java)을 컴파일(*.Class 생성)을할때 컴파일하지않는다.


주석은 언제 사용할까?

코멘트용도

-프로그래밍한것을 기록해놓는다.

-동료들과의 협업에 용이하다.

디버깅용도

-어떠한 기능을 잠시 사용안할때 주석처리 해놓는다.


한줄 주석방법

// <-이러한형식 //를 사용하면 한줄 주석이 된다. 

보통 System.out.println("")이나 log를 주석 처리할때 사용한다.

이클립스 단축키

- Ctrl + / : 여러줄이 한꺼번에 주석처리됨. 주석 해제하려면 반대로 하면 된다.


여러줄 주석방법

/*

여러줄 주석은 /*으로 시작하고 */으로 마무리한다.

보통 코멘트를 달거나 긴 개발로직을 주석처리할때 사용한다.

*/

이클립스 단축키

- Ctrl + Shift + / : 블록 주석(/* */)

- Ctrl + Shift + \ : 블록 주석 제거


또 Class위나 Method위에 /**를 입력하고 enter를 입력하면 템플릿이 자동으로 

완성되는 것을 확인할 수 있다. 

ex)

/** 

 * 

 * @author choi 

 * 

 */ 

public class Test{


}


자바 초보들이 알아야 할 기본 개념!


클래스란?
유사한 특징을 지닌 객체들의 속성을 묶어 놓은 집합체라 할 수 있다.
Object란?
클래스를 사용할 수 있게 실체화한 것이다.
Method란?
클래스 안에 특정 기능을 구현한 것이다.

이제 3가지에 대해 알아보도록 하자.

예를 들어 두 명의 사람이 있는데
이름과 나이가 철수 28살, 미자 20살이라고 한다.
사람이라는 명칭이 클래스이고 
사람들의 정보가 객체라고 생각하면 된다.

클래스에서 생성 가능한 것은 변수와 기능이 있다.

클래스 생성 방법은?


위에 코드를 보면 Person이라는 클래스가 선언되어 있는 걸 볼 수 있는데
Person 클래스 안에는 name, age란 정보(변수)와 자기소개하는 기능(Methods) speak가 있는 걸 볼 수 있다.

이제 위에 클래스를 사용하여 객체(Ojbect)를 선언하는 법을 알아보자.
object 란? 클래스를 실체화하는 것으로 new로 생성한다.



위 코드를 분석해보면,
위 코드에서 객체(Object) 선언하는 부분은 아래 두 코드이다.



Person 이란 Class를 person이라는 객체로 생성한 것인데 생성할 땐 = new 클래스명 형식으로 선언한다.



이 부분은 person이라는 객체에 이름과 나이를 저장해주는 부분이다.
즉 맨 위쪽에서 클래스와 객체를 설명한 대로 Person(사람)이라는 클래스가 있고
그 클래스를 사용하여 객체를 생성하여 이름과 나이를 넣어주면 28살 철수가 만들어진 것이다.



이 부분은 Person Class 안에  speak 메소드를 불러내 사용하는 것이다.
사용하게 되면 콘솔에 "이름과 나이는 : 철수, 28"가 찍히는 것을 확인할 수 있다.


배열이란?


일정한 형태의 모음을 만드는 것이다.

ex)int[] numbers = new int[12];


배 12개 들어가는 박스를 포장한다면?

배[박스] 배박스 = new 배[12]

배가 12개 들어갈 수 있는 박스를 만드는 것으로 생각하면 된다.

[12]

위 형태로 생각하면된다.


다중배열 2차

ex)int[][] numbers = new int[3][12];

배[줄][박스] 배박스 = new 배[3][12]

배 12개 들어있는박스만들고 그 박스를 3줄로 쌓는것이다.

[12]

[12]

[12]

위 형태로 생각하면된다.


다중배열 3차

ex)int[][][] numbers = new int[4][3][12];

배[라인][줄][박스] 배박스 = new 배[4][3][12]

배 12개 들어있는박스만들고 그 박스를 3줄로 쌓아 4라인을 만든다.

| [12] | [12] | [12] | [12] |

| [12] | [12] | [12] | [12] |

| [12] | [12] | [12] | [12] |

위 형태로 생각하면된다.


다중반복문 사용방법은 아래 코드에 표현되어 있다.




배열이란?


배열은 같은 형태의 모음 이라고 생각할 수있다.


ex)int[] numbers = new int[3]; 


즉, 위에 numbers는 int가 3개 들어갈수 있는 것이다.

배열의 시작 숫자 0부터 시작한다.

위처럼 배열 선언한다면 주소값은 0,1,2 세개가 생기게된다.

int[] numbers = new int{1,2,3}; 

형식으로 선언할 수도 있다.


쉽게 말하면 일정한 형태의 모음을 만드는 것으로 보면된다.

ex)

배 12개 들어가는 박스를 포장한다면?

배[박스] 배박스 = new 배[12]

배가 12개 들어갈 수 있는 박스를 만드는 것이다.


반복문인 for문으로 배열의 내용을 확인할 수 있다.


배열 선언 예



String 개념

String문자는 ""를 사용해 만들어진다.



위처럼 text란 String을 만들게되면 문자란 값을 상수저장소(Constant pool)에 저장한다.


동일한 "문자" 라는 문자열을 생성할경우


위에 말했듯이 String text를 생성할때 상수저장소에 저장하게되는데

text2가 만들어질때 상수저장소를 확인하고 "문자"가 있을경우 그 참조한 값을 반환한다.

text,text2 참조값은 같다.

그러므로 text와 text2는 같다.


상수저장소란?

- String객체를 저장하는 메모리 구역이다.


즉, 문자열이 이미 존재하면 새로운 객체를 생성하지않고

기존객체를 사용하여 효율적이게된다.


위처럼 new String으로 문자열 생성시 상수저장소에 저장하지않고

일반 힙 메모리에 String객체를 생성한다.

text와 text2의 참조값이 다르다.

text==text2는 될수 없다.


String 비교방법

1.equals() 메소드

2.단순 == 비교

3.compareTo() 메소드


equals() 메소드

equals와 equalsIgnoreCase 있다.


equals이란?

문자열의 내용을 비교하는 것이다.



equalsIgnoreCase이란?

문자열의 특징을 무시하고 비교하는 것(쉽게말해 소문자,대문자)이다.



단순 == 비교

위에 String 개념에서 설명한다.


compareTo() 메소드

문자열 길이를 비교해 정수를 반환해준다.

같다면 0

크다면 1

작다면 -1





조건문

 if 

 구문은 조건하에 명령문을 수행하는 것이다.

 switch 

 구문은 선택된 명령문을 수행하는 것이다.


if문

if <-첫번째 조건이다.

else if <-바로 위에 조건에 부합하지않는다면 체크한다.

else <-위에 모든 조건에 부합하지않는다면 실행한다.

ex)
if(조건) {

실행할 로직

}else if(조건) {위에 조건에 부합하지 않는다면 체크한다.

실행할 로직

}else{위에 모든 조건에 부합하지 않으면(나머지 경우) 실행한다.

실행할 로직

}

switch문

case에는 변수를 넣을 수 없고 값만 들어간다.

switch(변수){

case "비교변수":

break;

default://나머지

}


if문 문 사용 코드.


switch 문 사용 코드.


숫자비교 방법

x == y <- x는 y와 같다.

x != y <- x는 y와 다르다.

x > y <- x는 y보다 크다.

x < y <- x는 y보다 작다.

x >= y <- x는 y보다 크거나 같다.

x <= <- x는 y보다 작거나 같다.


문자열비교 방법

equals

"text" == "text"

->결과 true로 나오긴 하지만

text글자를 비교한것이 아니라

메모리 위치를 비교한 것이다.

자세한 설명->

2018/01/25 - [개발 소발/개발 java] - java 문자열 개념, 문자열 비교


"text".equals("text")

->equals가 text란 글자로 비교하는 것 이다.

     즉, equals를 사용하는 게 맞다.


!"text".equals("text")

->"text".equals("text")의 반대

text와 다르다 의미이다.



+ Recent posts