BackEnd๐Ÿงต

2023.04.19 TIL(JAVA ๋ฐ˜๋ณต๋ฌธ)

hae02y 2023. 4. 20. 01:30
๋ฐ˜์‘ํ˜•

 

๐Ÿ‘€Today...


์ •์ฒ˜๊ธฐ D-3...! ๋ถ€ํŠธ์บ ํ”„์—์„œ ์—ฐ์Šต๋ฌธ์ œ๋‚˜ ํ˜ผ์ž ๊ณต๋ถ€ํ•ด์•ผํ•  ์–‘์ด ๋งŽ์•„์ง€๋ฉด์„œ ๋ฉ๋‹ฌ์•„์„œ ์—„์ฒญ ๋ฐ”๋น ์ง€๊ณ  ์žˆ๋‹ค..ใ…‹ใ…‹ใ…‹ ๊ทธ๋ž˜๋„  ์—ด์‹ฌํžˆ ํ•ด์„œ ํ•œ๋ฒˆ์— ํ•ฉ๊ฒฉํ•˜์ž.

 

 

โ˜•์˜ค๋Š˜์˜ TIL(Today I Learn)


๋ฐ˜๋ณต๋ฌธ

๋ฐ˜๋ณต๋ฌธ์˜ ์ข…๋ฅ˜๋Š” for, while, do-while๋ฌธ์ด ์žˆ๋‹ค. for๋ฌธ์€ ๋ฐ˜๋ณตํšŸ์ˆ˜๋ฅผ ์•Œ๊ณ ์žˆ์„๋Œ€ ์‚ฌ์šฉํ•˜๊ณ  while๋ฌธ์€ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฐ˜๋ณตํ• ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

 

# for๋ฌธ

for๋ฌธ์€ ์•Œ๊ณ ์žˆ์œผ๋‹ˆ๊นŒ ํŒจ์Šคํ•˜๊ณ  ๊ตฌ์กฐ์ •๋„๋งŒ ๊ณต๋ถ€ํ•˜์ž

for(์ดˆ๊ธฐํ™” ; ์กฐ๊ฑด์‹ ; ์ฆ๊ฐ์‹)

์ดˆ๊ธฐํ™”ํ•œ ๋ณ€์ˆ˜๋ฅผ ์กฐ๊ฑด์‹์ด ๋งž์„๋•Œ ์‹คํ–‰ํ•˜๊ณ  ์ฆ๊ฐ์„ ํ•˜๋Š”๋ฐ, ์‹คํ–‰๋ธ”๋ก์„ ๋น ์ ธ๋‚˜์˜ค๊ณ  ์ฆ๊ฐ์„ ํ•˜๋Š” ์‹์ด๋‹ค. 

 

#ํ–ฅ์ƒ๋œ for๋ฌธ(Enhaced for๋ฌธ)

์ž๋ฐ”์—์„œ๋Š” ํ–ฅ์ƒ๋œ for๋ฌธ์„ ์ œ๊ณตํ•œ๋‹ค. ๋ฐ˜๋ณต์‹คํ–‰์„ ํ•˜๊ธฐ์œ„ํ•ด ์นด์šดํ„ฐ๋ณ€์ˆ˜์™€ ์ฆ๊ฐ์‹์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋ฐฐ์—ด ๋ฐ ์ปฌ๋ ‰์…˜ ํ•ญ๋ชฉ์˜ ๊ฐœ์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•˜๊ณ  ์ž๋™์ ์œผ๋กœ for๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐ„๋‹ค.

String[] names = {"hae", "young", "jeong"};

for(String name : names){
System.out.println(name + "์€ ๊ณต๋ถ€์ค‘");

// hae์€ ๊ณต๋ถ€์ค‘
// young์€ ๊ณต๋ถ€์ค‘
// jeoung์€ ๊ณต๋ถ€์ค‘

for๋ฌธ์˜ ๊ด„ํ˜ธ์•ˆ์— ๋ฐฐ์—ด์—์„œ ๊บผ๋‚ธํ•ญ๋ชฉ์„ ์ €์žฅํ•  ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ , ์ฝœ๋ก (:), ์‚ฌ์šฉํ• ๋ฐฐ์—ด ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ๋œ๋‹ค.

 

# while๋ฌธ

while(์กฐ๊ฑด์‹){
}

์œ„์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ์ž‘์„ฑํ•œ๋‹ค. ์กฐ๊ฑด์‹์— ๋งž์œผ๋ฉด ๋ฌธ์žฅ์„ ๋ฐ˜๋ณตํ•ด์„œ ์‹คํ–‰ํ•˜๊ณ  ์กฐ๊ฑด๊ณผ ๋งž์ง€์•Š์œผ๋ฉด ์ข…๋ฃŒ๋œ๋‹ค.

 

# do-while๋ฌธ

do {
  (1)์‹คํ–‰๋ฌธ //์ฒ˜์Œ ํ•œ ๋ฒˆ์€ ๋ฌด์กฐ๊ฑด ์‹คํ–‰
} while((2)์กฐ๊ฑด์‹);

(1)์‹คํ–‰๋ฌธ์„ ์‹คํ–‰ํ•˜๊ณ  (2)์กฐ๊ฑด์‹์„ ํ‰๊ฐ€ํ•˜์—ฌ true์ด๋ฉด (1)์‹คํ–‰๋ฌธ -> (2)์กฐ๊ฑด์‹ ์œผ๋กœ ๋ฐ˜๋ณต์‹คํ–‰ํ•˜๊ณ  false์ด๋ฉด do-while๋ฌธ์„ ์ข…๋ฃŒํ•œ๋‹ค.

 

break / continue

# break ๋ฌธ

break๋ฌธ์€ for, while, do-while, switch ๋“ฑ์„ ์ข…๋ฃŒํ• ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. 

๋งŒ์•ฝ ๋ฐ˜๋ณต๋ฌธ์ด ์ค‘์ฒฉ๋˜์–ด์žˆ์„๊ฒฝ์šฐ break๋ฌธ์€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ฐ˜๋ณต๋ฌธ๋งŒ์„ ์ข…๋ฃŒํ•œ๋‹ค.

์ด๋ฅผ ์ œ์–ดํ•˜๊ธฐ์œ„ํ•ด์„œ ๋ผ๋ฒจ์ด๋ผ๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ• ์ˆ˜์žˆ๋Š”๋ฐ ๋ผ๋ฒจ์˜ ์‚ฌ์šฉ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

public class Main {
    public static void main(String[] args) {
        Outer : for (int i = 3; i < 10; i++) {							//๋ผ๋ฒจ์‚ฌ์šฉ Outer
            for (int j = 5; j > 0; j--) {
                System.out.println("i " + i + " j "+ j);
                if (i == 5) {
                    break Outer;										//๋ผ๋ฒจ Outer break.
                }
            }
        }
    }
}

์˜ˆ์ œ์—์„œ ๋งŒ์•ฝ ๋ผ๋ฒจ์ด ์‚ฌ์šฉ๋˜์ง€์•Š์•˜์œผ๋ฉด ์ œ์ผ๊ฐ€๊นŒ์šด for๋ฌธ, ์ฆ‰ j๊ฐ€ ์ดˆ๊ธฐํ™”๋œ ๋ฐ˜๋ณต๋ฌธ์ด break๋˜๊ฒ ์ง€๋งŒ ์—ฌ๊ธฐ์„œ๋Š” i๊ฐ€ ์ดˆ๊ธฐํ™”๋œ ๋ฐ˜๋ณต๋ฌธ์„ ์ข…๋ฃŒํ•˜๊ฒŒ ๋œ๋‹ค.

 

# continue ๋ฌธ

continue๋ฌธ์ด ์‹คํ–‰๋˜๋ฉด ํ•ด๋‹น ์กฐ๊ฑด์„ ๋„˜์–ด๊ฐ€๊ณ  ๋‹ค์Œ์ฐจ๋ก€์˜ ์กฐ๊ฑด์ด ์ˆ˜ํ–‰๋œ๋‹ค. 

 if (i % 2 == 0) { //๋‚˜๋จธ์ง€๊ฐ€ 0์ผ ๊ฒฝ์šฐ๋Š”
                continue; //๋‹ค์Œ ๋ฐ˜๋ณต์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค.
            }

 

 

์—ฐ์Šต๋ฌธ์ œ ํ’€์ด

ํ•˜๋‹จ์— ํ˜ผ์ž ํ•ด๊ฒฐํ•˜๊ธฐ๋กœ ์ด๋™!

 

 

 


๐Ÿ‘Šํ˜ผ์ž์„œ ํ•ด๊ฒฐํ•˜๊ธฐ


1. ๋ฐ˜๋ณต๋ฌธ ์—ฐ์Šต๋ฌธ์ œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณด๋ฉด์„œ ๋‹ค์‹œํ•œ๋ฒˆ ํ’€์–ด๋ณด๊ธฐ

๋‚ด๊ฐ€ ํ‘ผ ๋ฐฉ์‹์œผ๋กœ๋„ ๊ฒฐ๊ณผ๋Š” ๊ฐ™์ง€๋งŒ ๋ ˆํผ๋Ÿฐ์Šค๋ž‘ ๋น„๊ตํ•ด๋ณผ๋•Œ ์ „~ํ˜€ ์ตœ์ ํ™”๋˜์ง€ ๋ชปํ•œ ๋Š๋‚Œ์ด ๋“ค์—ˆ๋‹ค. ํšจ์œจ์„ฑ์žˆ๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š”๋ฒ•์„ ์ข€๋” ์ตํ˜€์•ผ๊ฒ ๋‹ค. ์ฃผ๋ง์— ๋‹ค์‹œํ•œ๋ฒˆ ํ’€์–ด๋ณด์ž!

 

2. ์†Œ์ˆ˜ ๊ตฌํ•˜๊ธฐ / ์•ฝ์ˆ˜๊ตฌํ•˜๊ธฐ

https://myjamong.tistory.com/139

์†Œ์ˆ˜

https://kbw1101.tistory.com/32

์•ฝ์ˆ˜

 

 

3. Stringbuilder() ์‚ฌ์šฉ ์ดํ•ดํ•˜๊ธฐ

 

 

4. Integer.toString() / String.valueOf()    [ int > String ๋ณ€ํ™˜]

 

- Integer.toString()

๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” int๋ฅผ String์œผ๋กœ ํ˜•๋ณ€ํ™˜ ํ•˜๋Š” ๋ฐฉ๋ฒ•. 

int num = 2023;
String str = Integer.toString(num);

 

- String.valueOf()

Integer.toString()๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ•œ๋‹ค. String api๋ฅผ ํ†ตํ•ด์„œ ํ˜ธ์ถœํ•œ๋‹ค.

int num = 2023;
String str = String.valueOf(num);

 

์ฐจ์ด์ 

๋งŒ์•ฝ ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด์ด Null์ด๋ผ๋ฉด String.valueOf() ๋Š” null์„ ๋ฌธ์ž์—ด๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค. ํ•˜์ง€๋งŒ Integer.toString()๋Š” "Null PointerException"์ด๋ผ๋Š” ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค. ์ฆ‰ Null๋„ ์˜ค๋ฅ˜๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž์—ด๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค๋ฉด valueOf๋กœ, ๊ทธ์™ธ๋ผ๋ฉด toString์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋˜๊ฒ ๋‹ค. ์ •์„์ฒ˜๋Ÿผ ์“ฐ์ด๋Š” ๋ฐฉ์‹์€ ๋ณดํ†ต Integer.toSting()์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

๋ฐ˜์‘ํ˜•