#3. Java - 1 ๊ธฐ์ด๋ฌธ๋ฒ
by JiwonDev# IntelliJ
introduce value, reformat file, line duplicate, line delete
javadocs plugins
# ๋ชจ๋ ์๋ฐ, Java 8~
2014๋ , Java8 (1.8)์ด ๋์ค๊ธฐ ์ ๊น์ง๋ ์๋ฐ๋ ์ ๋ฐ์ดํธ๋ฅผ ์์ฃผํ์ง ์์๋ค. ํ๋๋ผ๋ ํฌ๊ฒ ์๋ก์ด ๊ฐ๋ ๋ ์์๋ค. ํ์ง๋ง Java 8 ์์ ์๋์ ๊ฐ์ ๋ชจ๋ํ ์ธ์ด๋ค์ ๊ธฐ๋ฅ๋ค์ด ๋ง์ด ์ถ๊ฐ๋์๋๋ฐ ์ด ๊ธฐ์ ์ ์์์ผ๋ก ๋งค๋ 3์, 9์๋ง๋ค ๊พธ์คํ ์ ๋ฐ์ดํธ๋ฅผ ํด์ฃผ๊ณ ์๋ค.
- ๋๋ค ํํ์
- ๋ฉ์๋ ๋ ํผ๋ฐ์ค
- ์คํธ๋ฆผ API
- Optional
์ง๊ธ ํ์ ์์ ์ฌ์ฉํ๋ ๋ชจ๋ ์๋ฐ๋ Java 8์์ ๋์จ ์๋ก์ด ๊ฐ๋ ์ ํฌํจํ์ฌ ์ฌ์ฉํ๊ณ ์๋ค. ์ฐธ๊ณ ๋ก ์ง๊ธ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ LTS(Long-Term-Service)๋ฒ์ ์ Java11์ด๊ณ ํ์ฌ Java17๋ฒ์ ์ LTS๋ก ์ ๋ฐ์ดํธ ํ ์์ ์ด๋ผ๊ณ ํ๋ค.
ํด๋น ๊ธ์์๋ ์๋ฐ์ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๋ค๋ฃจ๊ณ , ๋ชจ๋ Java์ ๊ธฐ๋ฅ๋ค์ ๋ค์ ๊ธ์ ๋ฐ๋ก ๋ค๋ฃจ๊ฒ ๋ค.
# Hello World
์๋ฐ์์๋ ๋ชจ๋ ๊ฒ์ด ํด๋์ค์ด๋ค. ํ๋์ ์๋ฐ App์์๋ ์ต์ ํ๋์ Main Method ๊ฐ ํ์ํ๋ค.
์ฐธ๊ณ ๋ก ๋์ค์ ๋ฐฐ์ธ ์คํ๋ง ํ๋ ์์ํฌ ๋ฑ์์๋ Main Method ๊ฐ ์์์ง์ ์ด ์๋๋ฐ ์ด๋ ๋์ค์ ๋ฐฐ์ฐ๋๋ก ํ์.
package com.company;
public class Main {
public static void main(String[] args) {
// write your code here
System.out.println("์๋
ํ์ธ์");
}
}
์ฐธ๊ณ ๋ก ์๋ฐ ๊ธฐ๋ณธ ํจํค์ง (java.lang)๋ ๊ธฐ๋ณธ์ผ๋ก import ๋๋ค. ๊ทธ๋์ String, System ๊ณผ ๊ฐ์ ํด๋์ค๋ค์ ๋ฐ๋ก import ๋ฌธ์ ์ ์ง ์์๋ ๋ฐ๋ก ์ฌ์ฉ ํ ์ ์๋ค.
# ๋ฐ์ดํฐ ํ์
# ๊ธฐ๋ณธ ์๋ฃํ(Primitive)
๋ณ์ ์ด๋ฆ ์ง๋ ๋ฐฉ๋ฒ์ ์๋ฐ ๋ค์ด๋ฐ ์ปจ๋ฒค์ ์ ํ๋ฒ ์ฐธ๊ณ ํ์. ์๋ฃํ ๋ฉ๋ชจ๋ฆฌํฌ๊ธฐ ํํ ๊ฐ๋ฅ ๋ฒ์๋ ๋ค์๊ณผ ๊ฐ๋ค. ์ฐธ๊ณ ๋ก ๋ชจ๋ ์ด์์ฒด์ ์ ๋์ผํ๊ฒ ์ ์ฉ๋๋ค.
์๋ฃํ | ํฌ๊ธฐ (๊ณ ์ ) | ๋ฒ์ |
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) |
char | 2 Byte | ์ ๋์ฝ๋ (#u0000~ #uFFFF) |
float | 4 Byte | ์ค์ (1.4E-45 ~ 3.4028235E38) |
double | 8 Byte | ์ค์ (4.9E-324 ~ 1.7976931348623157E308) |
boolean | 1 Byte | ๋ ผ๋ฆฌ (true, false) |
์ฐธ๊ณ ๋ก float ๊ณผ double์ ๋ถ๋์์์ ๋ฐฉ์์ด๋ผ 0์ ์ ํํ๊ฒ ํํํ์ง ๋ชปํ๋ค๋๊ฑธ ๊ธฐ์ตํ์.
float | 4 Byte | ๋ถํธ(1bit) + ์ง์(8bit) + ๊ฐ์(23bit) = 32 bit = 4 Byte |
double | 8 Byte | ๋ถํธ(1bit) + ์ง์(11bit) + ๊ฐ์(52bit) = 64 bit = 8 Byte |
// ๋ณ์์ ์ด๋ฆ์ ์๋ฏธ๋ฅผ ๋ช
ํํ๊ฒ ์ง์.
int accountDoumentCount = 10;
int humonResourceDoumentCount = 20;
for (int i = 0; i < 10; i++){
// ๋ฌผ๋ก ์ ๊น ์ฌ์ฉํ๋ ์ง์ญ๋ณ์(i,j,k)๊น์ง ์๋ฏธ๋ฅผ ๋ถ์ฌ ํ ํ์๋ ์๋ค.
}
#์์์ ๋ฆฌํฐ๋(literal)
์์์ ๋ฆฌํฐ๋์ ํท๊ฐ๋ฆด ์ ์๋๋ฐ, ์์๋ '์ด๊ธฐํ ์ดํ ๊ฐ์ด ๋ณํ์ง ์๋ ์' ์ด๋ค. ๋ณ์๋ฅผ ์ ์ธ ํ ๋ final ํค์๋๋ฅผ ์ด์ฉํด ์์๋ก ๋ง๋ค ์ ์๋ค.
final int DAY_OF_WEEK = 7; // ์ฐธ๊ณ ) ๊ฐ๋ฅํ๋ฉด ์์๊ฐ์ get ๋ฉ์๋๋ก ์ ๊ณตํ๋๊ฒ ์ข์ต๋๋ค.
๋ฆฌํฐ๋์ ๋ง ๊ทธ๋๋ก ์ ์ธ์์ด ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋, ๋ฌธ์ ๊ทธ๋๋ก์(=๋ฆฌํฐ๋ํ) ์์๋ฅผ ์๋ฏธํ๋ค. immediate value ๋ผ๊ณ ํ๊ธฐ๋ ํ๋ค.
3
"HEllO"
3.213
'H'
๋ณ์๋ก ์ ์ธํ์ง ์๊ณ ๋ฐ๋ก ์์๋ก ์ฌ์ฉํ๋ ๊ฐ๋ค๋ ๊ณ ์ ์ ๋ฐ์ดํฐ ํ์ ์ ๊ฐ์ง๋ค.
์ฐธ๊ณ ๋ก ๋ฆฌํฐ๋ ๋ค์ (L, F, D)๊ฐ์ ํค์๋๋ฅผ ๋ถ์ฌ ๋ช ์์ ์ผ๋ก ํด๋น ๋ฆฌํฐ๋์ ํ์ ์ ์ง์ ํด์ค ์ ์๋ค.
object.setNumber(3) // ๋ฆฌํฐ๋ '3'์ ์๋ฃํ์ int์ด๋ค.
object.setName("Hello") // ๋ฆฌํฐ๋ "Hello"์ ํด๋์ค๋ String์ด๋ค.
object.setNumber(3.0) // ๋ฆฌํฐ๋ '3.0'์ ์๋ฃํ์ int..? float..? double..?
object.setNumber(3.0F) // ์ด๋ ๊ฒ ๋ช
์์ ์ผ๋ก Floatํ ์ด๋ผ๊ณ ์ ํด ์ค ์ ์๋ค.
int a = 1 // ์์์ ์ด ์์ผ๋ฉด intํ ๋ฆฌํฐ๋์ด๋ค. ๋ฐ๋ก ๋ฆฌํฐ๋ ํ์๋ฅผ ํ์ง ์์๋ ๋๋ค.
boolean b = true // boolean์ ๊ฐ์ด true, false 2๊ฐ๋ฐ์ ์์ด ๋ฐ๋ก ๋ฆฌํฐ๋ ํ์๋ฅผ ์ํด๋ ๋๋ค.
// ์ค์ ๋ฆฌํฐ๋์ ์ฌ์ฉํ ๋๋ ๋ฐ๋์ ๋ช
์์ ์ผ๋ก ํ์ํด์ฃผ์.
long count = 10000L;
float f1 = 2.3F;
double d1 = 5.6D;
# ์ฐธ์กฐํ(Reference)
ํด๋์ค๋ฅผ ์ ์ํ๊ณ new ํค์๋๋ฅผ ํตํด ๊ฐ์ฒด๋ฅผ ์์ฑ ํ ์ ์๋ค.
์๋ฐ์์๋ ๊ธฐ๋ณธ ์๋ฃํ์ ์ ์ธํ ๋ชจ๋ ๊ฒ์ ์ฐธ์กฐํ์ผ๋ก ์ฌ์ฉํ๋ค. ์ฝ๊ฒ๋งํด ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์ง ์๊ณ , ์ฌ๋ณผ(=์ด๋ฆ)๋ง ๊ฐ์ง๊ณ ์๋ค ์คํํ๋ ์์ ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๋ค๋ ๋ง.
//ํด๋์ค์ด๋ฆ ๋ ํผ๋ฐ์ค๋ช
= new ํด๋์ค์ด๋ฆ();
MadPlay instance = new MadPlay();
# String ํด๋์ค
์๋ฐ์์๋ ๋ฌธ์์ด์ด ํด๋์ค๋ก ์ ๊ณต๋์ด์ง๋ค. ํ์ง๋ง String์ ๊ฒฝ์ฐ ์์ธ์ ์ผ๋ก ๊ธฐ๋ณธ์๋ฃํ ์ฒ๋ผ new ํค์๋ ์์ด ์์ฑํ ์ ๋ ์๋๋ฐ, ์ด๋ฅผ ๋ฌธ์์ด ๋ฆฌํฐ๋ ์์ฑ ๋ฐฉ์์ด๋ผ๊ณ ํ๊ณ new ํค์๋๋ฅผ ์ฌ์ฉํ ๊ฒ๊ณผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ ์ฅ์๊ฐ ๋ฌ๋ผ์ง๋ค.
// ๋ค๋ฅธ ๊ฐ์ฒด์ ๋ง์ฐฌ๊ฐ์ง๋ก Heap ์์ญ์ ํ ๋น๋๋ค.
String str1 = new String("madplay");
// ์คํธ๋ง ์์๊ฐ์ผ๋ก ๊ด๋ฆฌ๋๋ค. String Constant Pool ์ด๋ผ๋ ์์ญ์ ์ ์ฅ๋๋ค.
String str2 = "madplay";
String str3 = "madplay"; // ๊ธฐ์กด "madplay" ์์ ์ฌํ์ฉ. str 2์ด๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฐธ์กฐ
String str4 = new String("madplay"); // ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์์ฑ. str1์ด๋ ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์ฐธ์กฐ
์ฐธ๊ณ ๋ก String Constant Pool์ ๊ธฐ์กด์๋ ์์๊ฐ ์ ์ฉ ๋ฉ๋ชจ๋ฆฌ์ (Perm ์์ญ) ๋ฐ๋ก ์ ์ฅ๋์ด์ก๋๋ฐ, ๋ฐํ์์ค ๋ฉ๋ชจ๋ฆฌ ์ฆ๊ฐ๋ก ์ธํ OutOfMemory ์์ธ๋ฅผ ๋ฐ์์ํฌ ์ ์์ด Java6 ์ดํ๋ก๋ ๊ฐ์ฒด์ ํจ๊ป Heap ๋ฉ๋ชจ๋ฆฌ์์ญ์์ ๊ด๋ฆฌํ๊ณ ์๋ค.
# == ๊ณผ equal
String์ ๊ฐ์ด ์๋ ๊ฐ์ฒด์ด๋ค. ๊ฐ์ฒด์ ์์ด (==) ์ฐ์ฐ์ ๊ฐ์ด ์๋ ์ฃผ์๊ฐ์ ๋น๊ตํ๋ ์ฐ์ฐ์ด๋ค.
๋ง์ฝ ๋ฌธ์์ด ๋ฆฌํฐ๋๋ก ์ ์ธํ๋ค๋ฉด ๊ฐ์ ์์ ๊ฐ ์ฃผ์๋ฅผ ๊ฐ๋ฅดํค๊ธฐ์ ๊ฐ์ ๋น๊ตํ ์ ์์ง๋ง, ๊ฐ์ฒด (new String)๋ก ๋ง๋ค์๋ค๋ฉด ์ ์ ์๋ํ์ง ์๋๋ค. ์ด ๊ฒฝ์ฐ String ๊ฐ์ฒด ๋ฉ์๋ equal์ ์ด์ฉํ์ฌ ๋ฌธ์์ด ๊ฐ์ ๋น๊ตํ๋ค.
public class MadPlay {
public static void main(String[] args) {
String someLiteral = "kimtaeng";
String someObject = new String("kimtaeng");
System.out.println(someLiteral.equals(someObject)); // print 'true'
System.out.println(someLiteral == someObject); // print 'false'
System.out.println("kimtaeng" == someLiteral); // print 'true'
System.out.println("kimtaeng" == someObject); // print 'false'
}
}
# Array์ java.util.ArrayList
์๋ฐ์๋ ๊ธฐ๋ณธ ๋ฐฐ์ด ๊ฐ์ฒด (Array)๊ฐ ์กด์ฌํ๋, ๋๋ถ๋ถ์ ๊ฒฝ์ฐ Collection Framework์ ์๋ (ArrayList)๋ฅผ ์ฌ์ฉํ๋ค. ๋ฌผ๋ก ์ ์ฌ์ฉํ์ง๋ ์๋๋ผ๋ ๋ฐฐ์ด์ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ์ ๋๋ ์์๋์.
// ์๋ 3์ฝ๋์ ๋์์ ๋์ผํ๋ค.
String[] myStringArray = new String[3]; // { "", "", "" } ๋น ์คํธ๋ง ์์ฑ
String[] myStringArray = new String[]{"a", "b", "c"}; // ์คํธ๋ง ์ด๊ธฐํ
String[] myStringArray = {"a", "b", "c"}; // ์๋ฐ์์ ์ ๊ณตํ๋ ์ด๊ธฐํ ๊ธฐ๋ฅ.
// = { "a" ... } ๋ผ๊ณ ์ ์๋ค๊ณ ํด์ {} ๋ถ๋ถ์ด ์์, ๋ฆฌํฐ๋์ธ๊ฑด ์๋๋ค. ์๋ฐ์์ ์ ๊ณตํ๋ ํธ์๊ธฐ๋ฅ์ผ ๋ฟ.
String[] myStrings;
myStrings = {"a", "b", "c"}; // ์ปดํ์ผ ์๋ฌ! ๋ถ๊ฐ๋ฅํ ์ฝ๋.
// ์ด 2๊ฐ๋ ๊ฐ์ ์ฝ๋์ด๋ค. ๋ค๋ง ํ์
์ ๊ตฌ๋ถ ์ง๋ int[] a1 ๊ฐ ์ผ๋ฐ์ ์ด๋ค.
int[] a1; int a2[];
int[] intArr = {1,2,3};
int[] doubleArr = new double[4];
String[] objArr = new String[5]; //object type
int[] myIntArray = new int[3]; // {0,0,0}์ด ํ ๋น๋๋ค.
int[] myIntArray = {1, 2, 3}; // ์๋์ ๊ฐ์ ์ฝ๋์ด๋ค. ์๋ฐ์ ์ด๊ธฐํ ํธ์๊ธฐ๋ฅ.
int[] myIntArray = new int[]{1, 2, 3}; // new int[]๋ก ํ์
์ ๋ช
ํํ๊ฒ ๋ํ๋ด์ฃผ์๋ค.
// ํด๋น ์ฝ๋๋ ์ปดํ์ผ ์๋ฌ๋ฅผ ๋ฐ์์ํจ๋ค. ์์ฑํ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๋ฅผ ์ ์ ์๋ค.
int badArray[] = new int[];
// ํด๋น ์ฝ๋๋ ์ปดํ์ผ ์๋ฌ๋ฅผ ๋ฐ์์ํจ๋ค.
// ์์ ์ ํ์๋ new int[]๋ ์๋ฃํ์ ์ง์ ํ ๊ฒ์ด์ง, ๊ฐ์ฒด์ ํฌ๊ธฐ๋ฅผ ์ ๋ ๊ณณ์ด ์๋๋ค.
int badArray[] = new int[3] {1, 2, 3} ;
// Since Java 8. Doc of IntStream: https://docs.oracle.com/javase/8/docs/api/java/util/stream/IntStream.html
int [] myIntArray = IntStream.range(0, 100).toArray(); // From 0 to 99
int [] myIntArray = IntStream.rangeClosed(0, 100).toArray(); // From 0 to 100
int [] myIntArray = IntStream.of(12,25,36,85,28,96,47).toArray(); // The order is preserved(๋ณด์กด).
int [] myIntArray = IntStream.of(12,25,36,85,28,96,47).sorted().toArray(); // Sort
// Array๋ ๊ฐ์ฒด์ด๊ธฐ์ ๋ด๋ถ ๋ฉ์๋๊ฐ ์กด์ฌํ๋ค.
int arr[] = new int[3];
for (int i = 0; i < arr.length; i++) { ... } // length ๋ก ์ ๊ทผ
for (int a : arr) { ... } // iter๋ก ์ ๊ทผ
๋์ค์ ์ปฌ๋ ์ ๊ณผ ์๋ฐ API ํด๋์ค๋ฅผ ๋ค์ ๋ค๋ฃจ๊ฒ ์ง๋ง, ์ปฌ๋ ์ ํ๋ ์์ํฌ์ ์๋ ArrayList๋ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ๋ค.
์ฐธ๊ณ ๋ก java.util ์์๋ Arrays, Calendar, Date, StringTokenizer, Random ๋ฑ ๋ง์ ํด๋์ค๋ค์ด ์กด์ฌํ๋ค.
import java.util.ArrayList; // ArrayList๋ฅผ Importํด์จ๋ค.
public class Main {
public static void main(String[] args) {
ArrayList<Integer> integers1 = new ArrayList<Integer>(); // ํ์
์ง์
ArrayList<Integer> integers2 = new ArrayList<>(); // ํ์
์๋ต ๊ฐ๋ฅ
ArrayList<Integer> integers3 = new ArrayList<>(10); // ์ด๊ธฐ ์ฉ๋(Capacity) ์ค์
ArrayList<Integer> integers4 = new ArrayList<>(integers1); // ๋ค๋ฅธ Collection๊ฐ์ผ๋ก ์ด๊ธฐํ
// Arrays.asList๋ฅผ ํตํด ์์๊ฐ์ ์ด์ฉํ ์ด๊ธฐํ
// Arrays๋ java.util์ ์๋ ์๋ฐ API ๊ฐ์ฒด์ด๋ฉฐ ๋ฐฐ์ด์ ์ฝ๊ฒ ์กฐ์ํ๊ธฐ ์ํ ๋ฉ์๋๋ค์ด ํฌํจ๋์ด์๋ค.
ArrayList<Integer> integers5 = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
// ArrayList -> Array
String[] array = arrayList.toArray(new String[arrayList.size()]);
// Array -> ArrayList, ๋ฌผ๋ก ๊ทธ๋ฅ for ๋
ธ๊ฐ๋ค๋ก ๋ณํํด๋ ๋๋ค.
ArrayList<String> arrayList = new ArrayList<>(Arrays.asList(array));
// ArrayList๋ ์ฑ๋ฅ์ด ์ต์ ํ๋์ด์๊ณ , ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
ArrayList<String> colors = new ArrayList<>();
// add() method
colors.add("Black");
colors.add("White");
colors.add(0, "0๋ฒ์ฝ์
");
colors.add(2, "2๋ฒ์ฝ์
");
colors.add("Red");
// set() method
colors.set(3, "Blue");
// [0๋ฒ์ฝ์
, Black, 2๋ฒ์ฝ์
, Blue, Red]
System.out.println(colors);
}
}
# ์กฐ๊ฑด (if)
if - if else - else
๋ ผ๋ฆฌ์ฐ์ฐ์ ํ ๋๋ ๋ค๋ฅธ์ธ์ด์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด๋ฏธ ๋ต์ด ๊ฒฐ์ ๋ฌ์ผ๋ฉด ๋์ด์ ์กฐ๊ฑด์ ํ๊ฐํ์ง ์๋๋ค. ์๋ฐ์์๋ if๋ฌธ์์ boolean ํ์ ์ด ์๋ ๋ค๋ฅธํ์ ์ ์ปดํ์ผ ๋์ง ์๋๋ค.
public class Hello {
public static void main(String[] args) {
System.out.println("start");
// isDone() ์ ์คํ๋์ง ์๋๋ค. ์ด๋ฏธ ์์์ false๋ก ๋ต์ด ๊ฒฐ์ ๋ฌ๊ธฐ ๋๋ฌธ.
if (isNagive() && isDone()){
System.out.println("it doesn't print(false)");
}
// :: start
// :: IsNagive
}
public static boolean isDone(){
System.out.println("IsDone");
return true;
}
public static boolean isNagive(){
System.out.println("IsNagive");
return false;
}
}
# ์กฐ๊ฑด(switch)
break; ๊ฐ ์์ผ๋ฉด ์๋ ์ฝ๋๋ ์คํ๋จ์ ์ ์ํ์. ์๋ฐ๋ ์กฐ๊ฑด์ผ๋ก String ์ ์ง์ํ๋ค.
package Hello;
public class Hello {
public static void main(String[] args) {
int month = 8;
String monthString = "1์";
switch (monthString) {
case "1์":
monthString = "January";
break;
case "2์":
monthString = "February";
break;
default:
monthString = "May";
break;
}
System.out.println(monthString);
}
}
2020๋ Java14 ๋ถํฐ Switch๋ฌธ์ ๊ฐ์ ๋ ๋ฌธ๋ฒ์ ์ง์ํ๋ค. ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ํจํด๋งค์นญ์ฒ๋ผ, break ์์ด ๊ฐ๊ฒฐํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
public class Hello {
public static void main(String[] args) {
// 2020๋
java14๋ถํฐ ์ง์ํ๋ ๊ธฐ๋ฅ์ด๋ผ ์์ง ์ ์ฐ์ด์ง๋ ์๋๋ค.
String monthString = "1์";
monthString = switch (monthString) {
case "1์" -> "January";
case "2์" -> "February";
case "3์" -> "March";
case "4์","5์" -> "4,5์";
default -> "May";
};
// ์ด๊ฑฐํ์ ์ฌ์ฉํ๋ฉด default ์์ด switch๋ฌธ์ ์์ ํ๊ฒ ์ฌ์ฉ ํ ์ ์๋ค.
enum Month { January, February, March, April }
Month value = Month.January;
monthString = switch (value) {
case January -> "January";
case February -> "February";
case March -> "March";
case April -> "4,5์";
};
System.out.println(monthString);
}
}
# ๋ฐ๋ณต๋ฌธ (for, while, for-each)
ํน๋ณํ ์ ์ ์๋ค. continue์ break๋ฅผ ์ง์ํ๋ฉฐ for-each๋ ์ดํฐ๋ ์ดํฐ์ฒ๋ผ ์ํํ๋ค.
String[] numbers = {"one", "two", "three"};
// ๊ณ ์ ์ ์ธ for๋ฌธ
for(int i=0; i<numbers.length; i++) {
System.out.println(numbers[i]);
}
// ์์ ๊ฐ์ ์ฝ๋์ด๋ค.
for(String number: numbers) {
System.out.println(number);
}
'๐ฑBackend > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
#7 Exception (์์ธ์ฒ๋ฆฌ) (0) | 2021.07.07 |
---|---|
#6. Java - 2 ํด๋์ค (์์ฑ์์ ) (0) | 2021.07.07 |
#5. ์๋ฐ์ Interface (2) | 2021.07.01 |
#4. ์๋ฐ ํจ์ํ ์ธํฐํ์ด์ค (0) | 2021.07.01 |
# 2. Java Naming Conventions (2) | 2021.06.30 |
๋ธ๋ก๊ทธ์ ์ ๋ณด
JiwonDev
JiwonDev