java ์ž๋ฃŒ๊ตฌ์กฐ
ยท
TIL/Java
์ž๋ฃŒ๊ตฌ์กฐ(Collection) ์‹œ์Šคํ…œ์— ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์กฐ์ž‘, ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์—ฐ๊ตฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์ ˆ์ฐจ๋‚˜ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์—ฐ๊ตฌ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ(Collection Framework) Set HashSet TreeSet ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ์ด๋‹ค ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค ์ž์ฒด์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊บผ๋‚ผ ๋ฐฉ๋ฒ•์ด ์—†๋‹ค (→ Iterator ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊บผ๋‚ผ ์ˆ˜ ์žˆ๋‹ค) List Vector ArrayList LinkedList Stack Queue ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต ํ—ˆ์šฉ ์ž์ฒด์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊บผ๋‚ผ ์ˆ˜ ์žˆ๋Š” get์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค Map HashMap TreeMap HashTable Properties ํ‚ค(key)์™€ ๊ฐ’(value)์˜ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ์ด๋‹ค ์ˆœ์„œ๋Š” ์œ ์ง€..
java dip ์œ„๋ฐ˜์ด ๋ฌด์Šจ ๋ง์ผ๊นŒ
ยท
TIL/Java
DIP DIP(Dependency Inversion Principle)๋Š” SOLID ์›์น™ ์ค‘ ํ•˜๋‚˜๋กœ, ์˜์กด ๊ด€๊ณ„๋ฅผ ์—ญ์ „์‹œํ‚ค๋Š” ์›์น™ ์ด ์›์น™์€ ๊ณ ์ˆ˜์ค€ ๋ชจ๋“ˆ์€ ์ €์ˆ˜์ค€ ๋ชจ๋“ˆ์— ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋˜๋ฉฐ, ๋‘˜ ๋ชจ๋‘ ์ถ”์ƒํ™”์— ์˜์กดํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ถ”์ƒํ™”๋Š” ๊ตฌ์ฒด์ ์ธ ๊ตฌํ˜„์— ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ์ด ์œ ์—ฐํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ–์ถœ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ œ ```java public class LightBulb { public void turnOn() { // ์ „๊ตฌ๋ฅผ ์ผœ๋Š” ๋™์ž‘ } } public class Switch { private LightBulb bulb; public Switch() { this.bulb = new LightBulb(); } public void operate() { bu..
java ๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ ํƒ€์ž…, ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ ํƒ€์ž…
ยท
TIL/Java
๊ธฐ๋ณธํ˜• ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘๋œ๋‹ค ๋น„๊ฐ์ฒด ํƒ€์ž…์ด๋ฏ€๋กœ null ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค. (๊ธฐ๋ณธ๊ฐ’์ด ์ •ํ•ด์ ธ ์žˆ์Œ) ๋ณ€์ˆ˜์˜ ์„ ์–ธ๊ณผ ๋™์‹œ์— ๋ฉ”๋ชจ๋ฆฌ ์ƒ์„ฑ ๋ชจ๋“  ๊ฐ’ ํƒ€์ž…์€ ๋ฉ”๋ชจ๋ฆฌ์˜ ์Šคํƒ(stack)์— ์ €์žฅ๋จ ์ €์žฅ๊ณต๊ฐ„์— ์‹ค์ œ ์ž๋ฃŒ ๊ฐ’์„ ๊ฐ€์ง„๋‹ค ํƒ€์ž… ๋ฉ”๋ชจ๋ฆฌํฌ๊ธฐ ๋ฐ์ดํ„ฐ ํ‘œํ˜„ ๋ฒ”์œ„ boolean ๋…ผ๋ฆฌ 1 byte true, false char ๋ฌธ์ž 1 byte 0 ~ 65,535 ๋ชจ๋“  ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž(์œ ๋‹ˆ์ฝ”๋“œ๋ผ 2๋ฐ”์ดํŠธ) byte ์ •์ˆ˜ 1 byte -128 ~ 127 short ์ •์ˆ˜ 2 byte -32,768 ~ 32,767 int ์ •์ˆ˜ 4 byte -2,147,483,648 ~ 2,147,483,647 long ์ •์ˆ˜ 8 byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 f..
java BufferedReader๋ฅผ ์ด์šฉํ•œ ์‚ฌ์น™์—ฐ์‚ฐ ๋งŒ๋“ค๊ธฐ
ยท
TIL/Java
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class ex01 { public static void main(String[] args) throws IOException { // 2๊ฐœ ์ •์ˆ˜ ์ž…๋ ฅ ๋ฐ›๊ณ , 1๊ฐœ์˜ ์—ฐ์‚ฐ์ž ์ž…๋ ฅ ๋ฐ›์•„์„œ ์‚ฌ์น™์—ฐ์‚ฐ ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑํ•˜๊ธฐ System.out.println("์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int x = Integer.parseInt(br.readLine()); int y = Integer.parseInt(br.rea..
java StringTokenizer ๋ฌธ์ž์—ด ๋ถ„๋ฆฌํ•˜๊ธฐ
ยท
TIL/Java
StringTokenizer Java์—์„œ ๋ฌธ์ž์—ด์„ ํŠน์ • ๊ตฌ๋ถ„์ž(delimiter)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ† ํฐ(token)์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํด๋ž˜์Šค ๋„์–ด์“ฐ๊ธฐ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ๋ถ„๋ฆฌ StringTokenizer st = new StringTokenizer(๋ฌธ์ž์—ด); ๊ตฌ๋ถ„์ž ์žˆ๋Š” ๊ฒฝ์šฐ StringTokenizer st = new StringTokenizer(๋ฌธ์ž์—ด, ๊ตฌ๋ถ„์ž); import java.util.StringTokenizer; public class StringTokenizerExample { public static void main(String[] args) { // ๋ฌธ์ž์—ด ์ƒ์„ฑ String inputString = "Java,Programming,Language"; // StringTokenizer๋ฅผ..
java ์ œ์–ด๋ฌธ
ยท
TIL/Java
์ œ์–ด๋ฌธ ๋น„๊ต๋ฌธ if ~ else ์„ ํƒ๋ฌธ switch case ๋ฐ˜๋ณต๋ฌธ while do while for ๊ธฐํƒ€ ๊ตฌ๋ถ„ break continue if if (์กฐ๊ฑด) { // ์กฐ๊ฑด์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ } if else / else if if (์กฐ๊ฑด) { // ์กฐ๊ฑด์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ } else { // ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ } if (์กฐ๊ฑด1) { // ์กฐ๊ฑด1์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ } else if (์กฐ๊ฑด2) { // ์กฐ๊ฑด2๊ฐ€ ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ } else { // ๋ชจ๋“  ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ } switch case ํŠน์ • ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๋ถ„๊ธฐํ•˜์—ฌ ๊ฐ ๊ฒฝ์šฐ์— ๋งž๋Š” ์ฝ”๋“œ ๋ธ”๋ก์„ ์‹คํ–‰ switch (๋ณ€์ˆ˜) { case ๊ฐ’1: // ๊ฐ’1์— ํ•ด๋‹นํ•˜๋Š” ์ฝ”๋“œ br..
Java ์ž๋ฐ” , scanner ํ™”๋ฉด์—์„œ ์ž…๋ ฅ ๋ฐ›๊ธฐ
ยท
TIL/Java
Scanner ํ™”๋ฉด์œผ๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ํด๋ž˜์Šค Scanner ์ƒ์„ฑ import java.util.Scanner; // java.util์˜ Scanner ํด๋ž˜์Šค import import java.util.*; // java.util์— ์žˆ๋Š” ํด๋ž˜์Šค ๋ชจ๋‘ import java.util์— ๋˜์–ด ์žˆ์–ด import ํ•ด์ค˜์•ผ ํ•จ java.util.Scanner๋งŒ import ๋˜๋Š” * ์„ ํ™œ์šฉํ•˜์—ฌ util์˜ ๋ชจ๋“  ํด๋ž˜์Šค๋ฅผ importํ•˜๊ธฐ Scanner sc = new Scanner(System.in); // Scanner ๊ฐ์ฒด ์ƒ์„ฑ Scanner ๊ฐ์ฒด ์ƒ์„ฑ System.out.print("์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”. >"); int num= sc.nextInt(); ์‚ฌ์šฉ์ž ์ž…๋ ฅ ๋ฐ›๊ธฐ https://docs...
Java ์—ฐ์‚ฐ์ž
ยท
TIL/Java
์—ฐ์‚ฐ์ž ์ตœ์šฐ์„  ์—ฐ์‚ฐ์ž ๋‹จํ•ญ ์—ฐ์‚ฐ์ž ์‚ฐ์ˆ ์—ฐ์‚ฐ์ž ์‰ฌํ”„ํŠธ์—ฐ์‚ฐ์ž ๊ด€๊ณ„์—ฐ์‚ฐ ๋…ผ๋ฆฌ์—ฐ์‚ฐ ์‚ผํ•ญ์—ฐ์‚ฐ์ž ์ฝค๋งˆ(์ˆœ์ฐจ) ์—ฐ์‚ฐ์ž ์ตœ์šฐ์„ ์—ฐ์‚ฐ์ž int result = (5 + 3) * 2; // 16 ๋‹จํ•ญ์—ฐ์‚ฐ์ž // ๋‹จํ•ญ์—ฐ์‚ฐ์ž : ์ฆ๊ฐ => ++, --, ~ ... int x = 10, y; y = x++; // ํ›„์œ„์—ฐ์‚ฐ : ๋Œ€์ž…๋จผ์ €, ์—ฐ์‚ฐ ๋‚˜์ค‘ x = 11 , y = 10 y = ++x; // ์ „์œ„์—ฐ์‚ฐ : ์—ฐ์‚ฐ๋จผ์ €, ๋Œ€์ž… ๋‚˜์ค‘ x = 11, y = 11 System.out.println("x =" + x +", y =" + y); ๋น„ํŠธ์—ฐ์‚ฐ์ž // ๋‹จํ•ญ์—ฐ์‚ฐ์ž : ์ฆ๊ฐ => ++, --, ~ ... int x = 10, y; y = ~x; // ๋น„ํŠธ๋ถ€์ •-(์›๋ž˜๊ฐ’ + 1) => ๊ฒฐ๊ณผ System.out.println("x =" + ..
๋ž˜๋‹ˆ
'TIL/Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)