2022. 5. 6. 17:03ใJAVA/์๋ฐ์ ์ ์
https://hyejin.tistory.com/575
- join() ๊ณผ StringJoiner
join์ ์ฌ๋ฌ ๋ฌธ์์ด ์ฌ์ด์ ๊ตฌ๋ถ์๋ฅผ ๋ฃ์ด์ ๊ฒฐํฉํ๋ค. (๊ตฌ๋ถ์๋ก ๋ฌธ์์ด์ ์๋ฅด๋ split๊ณผ ๋ฐ๋๋ก ์๊ฐํ๋ฉด ๋๋ค.)
- ๋ฌธ์ ์ธ์ฝ๋ฉ ๋ณํ
getBytes(String s) ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฌธ์์ด์ ๋ฌธ์ ์ธ์ฝ๋ฉ์ ๋ค๋ฅธ ์ธ์ฝ๋ฉ์ผ๋ก ๋ณ๊ฒฝํ ์ ์๋ค.
byte utf8_str = "๊ฐ".getBytes("UTF-8");
String str = new String(utf8_str, "UTF-8");
์๋ก ๋ค๋ฅธ ๋ฌธ์ ์ธ์ฝ๋ฉ์ ์ฌ์ฉํ๋ ์ปดํจํฐ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋๋ ์ ์ ํ ๋ฌธ์ ์ธ์ฝ๋ฉ์ด ํ์ํ๋ค.
- ๊ธฐ๋ณธํ ๊ฐ์ String์ผ๋ก ๋ณํ
์ซ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ ์ซ์๋ก, ๋๋ ๊ทธ ๋ฐ๋๋ก ๋ณํํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
์ด๋ฏธ ๋ฐฐ์ด ๊ฒ๊ณผ ๊ฐ์ด ๊ธฐ๋ณธํ์ ๋ฌธ์๋ก ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ซ์์ ""(๋น ๋ฌธ์์ด)์ ๋ํด์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
์ด ์ธ์๋ valueOf()๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์๋ค,
์ฑ๋ฅ์ valueOf()๊ฐ ๋ ์ข์ง๋ง ๋น ๋ฌธ์์ด์ ๋ํ๋ ๋ฐฉ๋ฒ์ด ๋ ๊ฐ๋จํ๊ณ ํธ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅํฅ์์ด ํ์ํ ๊ฒฝ์ฐ์๋ง valueOf()๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
- String ์ ๊ธฐ๋ณธํ์ผ๋ก ๋ณํ
๋ฐ๋๋ก String์ ๊ธฐ๋ณธํ์ผ๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์๋ valueOf() ๋ฅผ ์ฐ๊ฑฐ๋ ์์ ๋ฐฐ์ด parseInt๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
์๋ valueOf()์ ๋ฐํ ํ์ ์ int ๊ฐ ์๋๋ผ Integer์ธ๋ฐ ์คํ ๋ฐ์ฑ์ ์ํด์ Interger๊ฐ int๋ก ์๋ ๋ณํ๋๋ค.
์์ ์๋ parseInt์ ๊ฐ์ ๋ฉ์๋๋ฅผ ๋ง์ด ์ผ๋๋ฐ, ๋ฉ์๋์ ์ด๋ฆ์ ํต์ผํ๊ธฐ ์ํด valueOf()๊ฐ ๋์ค์ ์ถ๊ฐ๋์๋ค.
-> Boolean, Byte ์ ๊ฐ์ด ๊ธฐ๋ณธํ ํ์ ์ ์ด๋ฆ์ ์ฒซ ๊ธ์๊ฐ ๋๋ฌธ์์ธ ๊ฒ์ ๋ํผ ํด๋์ค์ด๋ค.
๊ธฐ๋ณธํ ๊ฐ์ ๊ฐ์ธ๊ณ ์๋ ํด๋์ค๋ผ๋ ๋ป์์ ๋ถ์ฌ์ง ์ด๋ฆ์ผ๋ก ๊ธฐ๋ณธํ์ ํด๋์ค๋ก ํํํ ๊ฒ์ด๋ค.
1๏ธโฃ StringBuffer ํด๋์ค์ StringBuilder ํด๋์ค
String ํด๋์ค๋ ์ธ์คํด์ค๋ฅผ ์์ฑํ ๋ ์ง์ ๋ ๋ฌธ์์ด์ ๋ณ๊ฒฝํ ์ ์์ง๋ง StringBufferํด๋์ค๋ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค.
๋ด๋ถ์ ์ผ๋ก ๋ฌธ์์ด ํธ์ง์ ์ํ ๋ฒํผbuffer๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, StringBuffer์ธ์คํด์ค๋ฅผ ์์ฑํ ๋ ๊ทธ ํฌ๊ธฐ๋ฅผ ์ง์ ํ ์ ์๋ค.
์ด๋, ํธ์งํ ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๊ณ ๋ คํ์ฌ ๋ฒํผ์ ๊ธธ์ด๋ฅผ ์ถฉ๋ถํ ์ก์์ฃผ๋ ๊ฒ์ด ์ข๋ค. ํธ์ง ์ค์ธ ๋ฌธ์์ด์ด ๋ฒํผ์ ๊ธธ์ด๋ฅผ ๋์ด์๊ฒ ๋๋ฉด ๋ฒํผ์ ๊ธธ์ด๋ฅผ ๋๋ ค์ค๋ ์์ ์ด ์ถ๊ฐ๋ก ์ํ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์์ ํจ์จ์ด ๋จ์ด์ง๋ค.
StringBufferํด๋์ค๋ String ํด๋์ค์ ๊ฐ์ด ๋ฌธ์์ด์ ์ ์ฅํ๊ธฐ ์ํ charํ ๋ฐฐ์ด์ ์ฐธ์กฐ๋ณ์๋ฅผ ์ธ์คํด์ค ๋ณ์๋ก ์ ์ธํด ๋๊ณ ์๋ค.
- StringBuffer์ ์์ฑ์
StringBuffer ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ์์ฑํ ๋, ์ ์ ํ ๊ธธ์ด์ charํ ๋ฐฐ์ด์ด ์์ฑ๋๊ณ , ์ด ๋ฐฐ์ด์ ๋ฌธ์์ด์ ์ ์ฅํ๊ณ ํธ์งํ๊ธฐ ์ํ ๊ณต๊ฐbuffer๋ก ์ฌ์ฉ๋๋ค.
StringBuffer ์ธ์คํด์ค์ ์ ์ฅ๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๊ณ ๋ คํ์ฌ ์ถฉ๋ถํ ์ฌ์ ์๋ ํฌ๊ธฐ๋ก ์ง์ ํ๋ ๊ฒ์ด ์ข๋ค.
StringBuffer ์ธ์คํด์ค๋ฅผ ์์ฑํ ๋, ๋ฒํผ์ ํฌ๊ธฐ๋ฅผ ์ง์ ํด์ฃผ์ง ์์ผ๋ฉด 16๊ฐ์ ๋ฌธ์๋ฅผ ์ ์ฅํ ์ ์๋ ํฌ๊ธฐ์ ๋ฒํผ๋ฅผ ์์ฑํ๋ค.
- StringBuffer์ ๋ณ๊ฒฝ
String๊ณผ ๋ฌ๋ฆฌ StringBuffer๋ ๋ด์ฉ์ ๋ณ๊ฒฝํ ์ ์๋ค.
- StringBuffer์ ๋น๊ต
String ํด๋์ค์์๋ equals ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉํด์ ๋ฌธ์์ด์ ๋ด์์ ๋น๊ตํ๋๋ก ๊ตฌํ๋์ด ์์ง๋ง, StringBuffer ํด๋์ค๋ equals ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉํ์ง ์์์ StringBuffer ํด๋์ค์ equals ๋ฉ์๋๋ฅผ ์ฌ์ฉํด๋ ๋ฑ๊ฐ๋น๊ต์ฐ์ฐ์๋ฅผ ๋น๊ตํ ๊ฒ๊ณผ ๊ฐ๋ค.
๊ทผ๋ฐ toString()์ ์ค๋ฒ๋ผ์ด๋ฉ๋์ด ์์ด์ StringBuffer ์ธ์คํด์ค์ toString()์ ํธ์ถํ๋ฉด, ๋ด๊ณ ์๋ ๋ฌธ์์ด์ String์ผ๋ก ๋ฐํํ๋ค.
๊ทธ๋์ StringBuffer ์ธ์คํด์ค์ ๋ด๊ธด ๋ฌธ์์ด์ ๋น๊ตํ๊ธฐ ์ํด์๋ StringBuffer์ธ์คํด์ค์ toString()์ ํธ์ถํด์ String์ธ์คํด์ค๋ฅผ ์ป์ ๋ค์ ์ฌ๊ธฐ์ equals ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ๋น๊ตํด์ผํ๋ค.
- StringBuffer ํด๋์ค์ ์์ฑ์์ ๋ฉ์๋
- StringBuilder ํด๋์ค
StringBuffer ๋ ๋ฉํฐ์ฐ๋ ๋์ ์์ (Thread safe)ํ๋๋ก ๋๊ธฐํ๋์ด ์๋ค. (๋๊ธฐํ๊ฐ StringBuffer ์ ์ฑ๋ฅ์ ๋จ์ด๋จ๋ฆฐ๋ค.)
๋ฉํฐ์ฐ๋ ๋๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ์ด ์๋ ๊ฒฝ์ฐ, StringBuffer์ ๋๊ธฐํ๋ ๋ถํ์ํ๊ฒ ์ฑ๋ฅ๋ง ๋จ์ด๋จ๋ฆฌ๊ฒ ๋๋ค.
๊ทธ๋์ StringBuffer์์ ์ฐ๋ ๋์ ๋๊ธฐํ๋ง ๋บ StringBuilder ๊ฐ ์๋ก ์ถ๊ฐ๋์๋ค.
StirngBuilder๋ StringBuffer์ ์์ ํ ๋๊ฐ์ ๊ธฐ๋ฅ์ผ๋ก ์์ฑ๋์ด ์์ด์, ์์ค์ฝ๋์ StringBuffer ๋์ ์ StringBuilder๋ก ๋ณ๊ฒฝํด์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
StringBuffer๋ ์ถฉ๋ถํ ์ฑ๋ฅ์ด ์ข๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅํฅ์์ด ๋ฐ๋์ ํ์ํ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ๋ ๊ธฐ์กด์ ์์ฑํ ์ฝ๋์์ StringBuffer๋ฅผ StringBuilder๋ก ๊ตณ์ด ๋ฐ๊ฟ ํ์๋ ์๋ค.
2๏ธโฃ Math ํด๋์ค
Math ํด๋์ค๋ ๊ธฐ๋ณธ์ ์ธ ์ํ๊ณ์ฐ์ ์ ์ฉํ ๋ฉ์๋๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- Math ํด๋์ค์ ๋ฉ์๋
- > rint๋ ์ง์๋ฐ์ฌ๋ฆผ์ผ๋ก 1.5๋ 2.0์ผ๋ก 2.5๋ 2.0์ผ๋ก ์ด๋ฐ์์ผ๋ก ์ง์๋ก ๋ฐ์ฌ๋ฆผ ๋๋ ๋ฐ๋ด๋ฆผํด์ ์ง์๋ฅผ ๋ฐํํ๋ค.
3๏ธโฃ ๋ํผ(Wrapper) ํด๋์ค
๊ฐ์ฒด์งํฅ ๊ฐ๋ ์์ ๋ชจ๋ ๊ฒ์ ๊ฐ์ฒด๋ก ๋ค๋ค์ผํ๋๋ฐ ์๋ฐ์์๋ 8๊ฐ์ ๊ธฐ๋ณธํ์ ๊ฐ์ฒด๋ก ๋ค๋ฃจ์ง ์๋๋ฐ ์ด์ ๋ ๋์ ์ฑ๋ฅ์ ์ป์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๋๋ก๋ ๊ธฐ๋ณธํ ๋ณ์๋ ์ด์ฉ ์ ์์ด ๊ฐ์ฒด๋ก ๋ค๋ค์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
ex) ๋งค๊ฐ๋ณ์๋ก ๊ฐ์ฒด๋ฅผ ์๊ตฌํ ๋, ๊ธฐ๋ณธํ ๊ฐ์ด ์๋ ๊ฐ์ฒด๋ก ์ ์ฅํด์ผํ ๋, ๊ฐ์ฒด๊ฐ์ ๋น๊ต๊ฐ ํ์ํ ๋ ๋ฑ๋ฑ์ ๊ฒฝ์ฐ์๋ ๊ธฐ๋ณธํ ๊ฐ๋ค์ ๊ฐ์ฒด๋ก ๋ณํํด์ ์์ ์ ์ํํด์ผํ๋ค.
์ด๋ ์ฌ์ฉ๋๋ ๊ฒ์ด ๋ํผwrapper ํด๋์ค์ด๋ค. 8๊ฐ์ ๊ธฐ๋ณธํ์ ๋ํํ๋ 8๊ฐ์ ๋ํผํด๋์ค๊ฐ ์๋๋ฐ ์ด ํด๋์ค๋ค์ ์ด์ฉํ๋ฉด ๊ธฐ๋ณธํ ๊ฐ์ ๊ฐ์ฒด๋ก ๋ค๋ฃฐ ์ ์๋ค.
-> ๋ํผ ํด๋์ค๋ค์ ๊ฐ์ฒด ์์ฑ ์์ ์์ฑ์์ ์ธ์๋ก ์ฃผ์ด์ง ๊ฐ ์๋ฃํ์ ์๋ง์ ๊ฐ์ ๋ด๋ถ์ ์ผ๋ก ์ ์ฅํ๊ณ ์์ผ๋ฉฐ, ์ด์ ๊ด๋ จ๋ ์ฌ๋ฌ ๋ฉ์๋๊ฐ ์ ์๋์ด ์๋ค.
-> ๋ํผ ํด๋์ค๋ค์ ๋ชจ๋ equals()๊ฐ ์ค๋ฒ๋ผ์ด๋ฉ๋์ด ์์ด์ ์ฃผ์๊ฐ์ด ์๋ ๊ฐ์ฒด๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ ๋น๊ตํ๋ค.
4๏ธโฃ Number ํด๋์ค : ๋ชจ๋ ์ซ์ ๋ํผ ํด๋์ค๋ค์ ์กฐ์
์ด ํด๋์ค๋ ์ถ์ ํด๋์ค๋ก ๋ด๋ถ์ ์ผ๋ก ์ซ์๋ฅผ ๋ฉค๋ฒ๋ณ์๋ก ๊ฐ๋ ๋ํผ ํด๋์ค๋ค์ ์กฐ์์ด๋ค.
-> ๊ธฐ๋ณธํ ์ค์ ์ซ์์ ๊ด๋ จ๋ ๋ํผ ํด๋์ค๋ค์ ๋ชจ๋ Number ํด๋์ค์ ์์์ด๋ค.
BigInteger๋ long์ผ๋ก๋ ๋ค๋ฃฐ ์ ์๋ ํฐ ๋ฒ์์ ์ ์๋ฅผ, BigDecimal์ double๋ก๋ ๋ค๋ฃฐ ์ ์๋ ํฐ ๋ฒ์์ ๋ถ๋ ์์์ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๊ฒ์ผ๋ก ์ฐ์ฐ์์ ์ญํ ์ ๋์ ํ๋ ๋ค์ํ ๋ฉ์๋๋ฅผ ์ ๊ณตํ๋ค.
-> Number ํด๋์ค์ ์ค์ ์์ค์ธ๋ฐ ๊ฐ์ฒด๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ ์ซ์์ ๊ด๋ จ๋ ๊ธฐ๋ณธํ์ผ๋ก ๋ณํํ์ฌ ๋ฐํํ๋ ๋ฉ์๋๋ค์ ์ ์ํ๊ณ ์๋ค.
- ๋ฌธ์์ด์ ์ซ์๋ก ๋ณํํ๊ธฐ
int i = new Integer("100").intValue();
int i2 = Integer.parseInt("100");
Integer i3 = Integer.valueOf("100");
parseInt๋ ๋ฐํ๊ฐ์ด ๊ธฐ๋ณธํ์ด๊ณ , valueOf๋ ๋ฐํ๊ฐ์ด ๋ํผํด๋์ค ํ์ ์ด๋ผ๋ ์ฐจ์ด๊ฐ ์๋ค.
๊ทผ๋ฐ jdk1.5๋ถํฐ ๋์ ๋ ์คํ ๋ฐ์ฑ ๊ธฐ๋ฅ ๋๋ฌธ์ ๋ฐํ๊ฐ์ด ๊ธฐ๋ณธํ์ผ ๋์ ๋ํผ ํด๋์ค์ผ๋์ ์ฐจ์ด๊ฐ ์์ด์ก๋ค.
๊ทธ๋์ ๊ทธ๋ฅ ๊ตฌ๋ณ์์ด valeuOf()๋ฅผ ์ฐ๋ ๊ฑฐ๋ ๊ด์ฐฎ์ ๋ฐฉ๋ฒ์ด์ง๋ง valueOf๊ฐ ์ฑ๋ฅ์ ์กฐ๊ธ ๋ ๋๋ฆฌ๋ค.
-> 16์ง๋ฒ์์๋ 'A~F' ๋ฌธ์๋ฅผ ํ์ฉํ๊ธฐ ๋๋ฌธ์ Integer.parseInt("FF", 16); ๊ณผ ๊ฐ์ ์ฝ๋๊ฐ ๊ฐ๋ฅํ์ง๋ง ์ง๋ฒ์ ์๋ตํ๋ฉด 10์ง์๋ก ๊ฐ์ฃผํ๊ธฐ ๋๋ฌธ์ Integer.parseInt("FF"); ์์๋ NumberFormatException์ด ๋ฐ์ํ๋ค.
5๏ธโฃ ์คํ ๋ฐ์ฑ & ์ธ๋ฐ์ฑ (autoboxing & unboxing)
jdk1.5 ์ด์ ์๋ ๊ธฐ๋ณธํ๊ณผ ์ฐธ์กฐํ ๊ฐ์ ์ฐ์ฐ์ด ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋ํผ ํด๋์ค๋ก ๊ธฐ๋ณธํ์ ๊ฐ์ฒด๋ก ๋ง๋ค์ด์ ์ฐ์ฐ์ ํ์ด์ผ ํ๋ค.
๊ทธ๋ฌ๋ ์ด์ ๋ ๊ธฐ๋ณธํ๊ณผ ์ฐธ์กฐํ ๊ฐ์ ๋ง์ ๋ ๊ฐ๋ฅํ๋ค! ์๋ฐ ์ธ์ด์ ๊ท์น์ด ๋ณ๊ฒฝ๋ ๊ฒ์ด ์๋๋ผ ์ปดํ์ผ๋ฌ๊ฐ ์๋์ผ๋ก ๋ณํํด์ฃผ๋ ์ฝ๋๋ฅผ ๋ฃ์ด์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค.
์ปดํ์ผ๋ฌ๊ฐ Integer ๊ฐ์ฒด๋ฅผ intํ์ ์ ๊ฐ์ผ๋ก ๋ณํํด์ฃผ๋ intValue() ๋ฅผ ์ถ๊ฐํด์ค๋ค.
int i = 5;
Integer i2= new Integer(7);
int sum = i + i2(.intValue());
๊ธฐ๋ณธํ ๊ฐ์ ๋ํผํด๋์ค์ ๊ฐ์ฒด๋ก ์๋ ๋ณํํด์ฃผ๋ ๊ฒ์ ์คํ ๋ฐ์ฑ์ด๋ผ๊ณ ํ๊ณ , ๋ฐ๋๋ก ๋ณํํ๋ ๊ฒ์ ์ธ๋ฐ์ฑ์ด๋ผ๊ณ ํ๋ค.
-> ์คํ ๋ฐ์ฑ, ์ธ๋ฐ์ฑ์ ์ปดํ์ผ๋ฌ๊ฐ ์ ๊ณตํ๋ ํธ๋ฆฌํ ๊ธฐ๋ฅ์ผ ๋ฟ์ด๊ณ , ์๋ฐ์ ์์น์ด ๋ณ๊ฒฝ๋ ๊ฒ์ ์๋๋ค!
6๏ธโฃ ์ ์ฉํ ํด๋์ค - java.util.Objects ํด๋์ค
Objects ํด๋์ค๋ Object ํด๋์ค์ ๋ณด์กฐ ํด๋์ค๋ก Mathํด๋์ค์ฒ๋ผ ๋ชจ๋ ๋ฉ์๋๊ฐ static ์ด๋ค.
๊ฐ์ฒด์ ๋น๊ต๋ null๊ฐ์ ์ฒดํฌํ ๋ ์ ์ฉํ๋ค!
isNull์ ํด๋น ๊ฐ์ฒด๊ฐ ๋์ธ์ง ํ์ธํด์ Null์ด๋ฉด true๋ฅผ ๋ฐํํ๊ณ , ์๋๋ฉด false ๋ฅผ ๋ฐํํ๋ค.
nonNull์ isNull๊ณผ ๋ฐ๋์ด๋ค.
requireNonNull์ ํด๋น ๊ฐ์ฒด๊ฐ ๋์ด ์๋์ด์ผ ํ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค. ๋ง์ผ ๊ฐ์ฒด๊ฐ ๋์ด๋ฉด NPE๋ฅผ ๋ฐ์ํ๋ค.
compare() ๋ ๋ ๋น๊ต ๋์์ด ๊ฐ์ผ๋ฉด 0, ํฌ๋ฉด ์์, ์์ผ๋ฉด ์์๋ฅผ ๋ฐํํ๋ค.
7๏ธโฃ ์ ์ฉํ ํด๋์ค - java.util.Random ํด๋์ค
๋์๋ฅผ ์ป๋ ๋ฐฉ๋ฒ์๋ Math.random() ์ด ์๋๋ฐ Math.random()์ ๋ด๋ถ์ ์ผ๋ก Random ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ์์ฑํด์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ฏ๋ก ๋ ์ค ํธํ ๊ฒ์ ์ฌ์ฉํ๋ฉด ๋๋ค.
double randNum = Math.random();
double randNum1= new Random().nextDouble();
Math.random() ๊ณผ Random ์ ๊ฐ์ฅ ํฐ ์์ด์ ์ ์ข ์๊ฐ seed ๊ฐ์ ์ค์ ํ ์ ์๋ค๋ ๊ฒ์ด๋ค.
์ข ์๊ฐ์ด ๊ฐ์ Random ์ธ์คํด์ค๋ค์ ํญ์ ๊ฐ์ ๋์๋ฅผ ๊ฐ์ ์์๋๋ก ๋ฐํํ๋ค.
-> Random ์ธ์คํด์ค random , random1์ด ๊ฐ์ ์ข ์๊ฐ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ ๊ฐ๋ค์ ๊ฐ์ ์์๋ก ์ป์ ๊ฒ์ ํ์ธํ ์ ์๋ค.
8๏ธโฃ ์ ์ฉํ ํด๋์ค - ์ ๊ท์๊ณผ java.util.regex ํจํค์ง
์ ๊ท์์ด๋ ํ ์คํธ ๋ฐ์ดํฐ ์ค์์ ์ํ๋ ์กฐ๊ฑด(ํจํด)๊ณผ ์ผ์นํ๋ ๋ฌธ์์ด์ ์ฐพ์ ๋ด๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก ๋ฏธ๋ฆฌ ์ ์๋ ๊ธฐํธ์ ๋ฌธ์๋ฅผ ์ด์ฉํด์ ์์ฑํ ๋ฌธ์์ด์ ๋งํ๋ค.
์ ๊ท์์ ์ฌ์ฉํ๋ฉด ๋ง์ ์์ ํ ์คํธ ํ์ผ ์ค์์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์์ฝ๊ฒ ๋ฝ์๋ผ ์๋ ์๊ณ , ์ ๋ ฅ๋ ๋ฐ์ดํฐ๊ฐ ํ์์ ๋ง๋์ง ์ฒดํฌํ ์๋ ์๋ค.
Pattern ์ ์ ๊ท์์ ์ ์ํ๋๋ฐ ์ฌ์ฉ๋๊ณ Matcher ๋ ์ ๊ท์์ ๋ฐ์ดํฐ์ ๋น๊ตํ๋ ์ญํ ์ ํ๋ค.
9๏ธโฃ ์ ์ฉํ ํด๋์ค - java.util.Scanner ํด๋์ค
Scanner๋ ํ๋ฉด ํ์ผ, ๋ฌธ์์ด๊ณผ ๊ฐ์ ์ ๋ ฅ์์ค๋ก๋ถํฐ ๋ฌธ์๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ค๋๋ฐ ๋์์ ์ค ๋ชฉ์ ์ผ๋ก jdk1.5๋ถํฐ ์ถ๊ฐ๋์๋ค.
Scanner sc = new Scanner(System.in);
String input = s.nextLine();
๐ ์ ์ฉํ ํด๋์ค - java.util.StringTokenizer ํด๋์ค
StringTokenizer๋ ๊ธด ๋ฌธ์์ด์ ์ง์ ๋ ๊ตฌ๋ถ์๋ฅผ ๊ธฐ์ค์ผ๋ก ํ ํฐ์ด๋ผ๋ ์ฌ๋ฌ๊ฐ์ ๋ฌธ์์ด๋ก ์๋ผ๋ด๋๋ฐ ์ฌ์ฉํ๋ค.
StringTokenizer ์ด ๋ฐฉ๋ฒ ์ธ์๋ String์ split ์ด๋ Scanner ์ useDelimiter๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง ์ด ๋๊ฐ์ง ๋ฐฉ๋ฒ์ ์ ๊ท์ ํํ์ ์ฌ์ฉํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ ๊ท์ ํํ์ ์ต์ํ์ง ์์ ๊ฒฝ์ฐ์๋ StringTokenizer ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ๋จํ๋ค.
'JAVA > ์๋ฐ์ ์ ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] 17. ์ปฌ๋ ์ ํ๋ ์์ํฌ(List, Set, Map) , ArrayList, LinkedList, Stack&Queue (0) | 2022.05.08 |
---|---|
[JAVA] 16. ๋ ์ง์ ์๊ฐ & ํ์ํ (0) | 2022.05.07 |
[JAVA] 14. Object ํด๋์ค, String ํด๋์ค (0) | 2022.05.03 |
[JAVA] 13. ์์ธ ๋ฐ์, finally, ์ฌ์ฉ์ ์ ์ ์์ธ, ์์ธ ๋๋์ง๊ธฐ, ์ฐ๊ฒฐ๋ ์์ธ (0) | 2022.05.01 |
[JAVA] 12. ์์ธ์ฒ๋ฆฌ Exception handling (0) | 2022.04.30 |