λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
κ°œμΈκ³΅λΆ€/JAVA

[μƒν™œμ½”λ”©] JAVA1 - 6. 데이터 / 숫자 / λ¬Έμžμ—΄

by πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2022. 9. 9.

 

 

μƒν™œμ½”λ”© JAVA1

더보기

-  1. 데이터와 μ—°μ‚° -

-  2. 데이터 νƒ€μž… -

-  3. μˆ«μžμ™€ μ—°μ‚° -

-  4. λ¬Έμžμ—΄μ˜ ν‘œν˜„ -

-  5. λ¬Έμžμ—΄ 닀루기 -

 


 

1. 데이터와 μ—°μ‚°

μ»΄ν“¨ν„°λŠ” 정말 λ‹€μ–‘ν•œ μ’…λ₯˜μ˜ 데이터듀을 λ‹€λ£° 수 μžˆλ‹€.

 

κ·Έμ€‘μ—μ„œ 숫자, 문자, λ™μ˜μƒ, 사진 등도 μš°λ¦¬κ°€ μ•Œκ³ μžˆλŠ” 데이터쀑에 ν•˜λ‚˜μ΄λ‹€.

μ΄λ ‡κ²Œ λ‹€μ–‘ν•œ 데이터 νƒ€μž…μ΄ μ‘΄μž¬ν•˜λ©° μ΄λŸ¬ν•œ 데이터 νƒ€μž…μ„ μ œμ–΄ν•˜λŠ” 것이 μ»΄ν“¨ν„°κ³΅ν•™μ μœΌλ‘œ ν•΄μ•Όν•  일이며, 이 λ˜ν•œ μžλ°”μ—μ„œ κ°€λŠ₯ν•œ 일이닀.

 

μ»΄ν“¨ν„°μ˜ 데이터 νƒ€μž…μ„ κ΅¬λΆ„μ§“λŠ” μ΄μœ λŠ” 각각의 νƒ€μž…λ§ˆλ‹€ λ°μ΄ν„°μ˜ νŠΉμ„±μ— λ§žλŠ” μ²˜λ¦¬λ°©μ‹μ΄ μ‘΄μž¬ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€.

κ·Έλž˜μ„œ μš°λ¦¬λŠ” μžλ°”μ—μ„œλŠ” μ–΄λ–»κ²Œ 데이터듀을 μ •λ¦¬μ •λˆν•˜κ³  있고, 각각의 λ°μ΄ν„°λ“€λ§ˆλ‹€ μ–΄λ–€ μ—°μ‚°μ˜ 방법듀이 μžˆλŠ”μ§€ μ•Œμ•„λ³΄λŠ” μ‹œκ°„μ„ κ°€μ Έλ³Ό μ˜ˆμ •μ΄λ‹€.

 


2. 데이터 νƒ€μž…

μš°λ¦¬κ°€ κ°€μž₯ μ΅μˆ™ν•˜κ²Œ μ•Œκ³ μžˆλŠ” μˆ«μžμ™€ λ¬Έμžκ°€ μžλ°”μ—μ„œλŠ” μ–΄λ–»κ²Œ ν‘œν˜„λ˜λŠ”μ§€ μ•Œμ•„λ³΄λ €κ³  ν•œλ‹€.

 

System.out.println(6); // Number 6
System.out.println("six"); // String six

μžλ°”μ—μ„œ μˆ«μžν˜•μ€ λ‹¨μˆœνžˆ κ΄„ν˜Έμ•ˆμ— 숫자만 적어주면 λ˜μ§€λ§Œ, λ¬Έμžν˜•μ€ ν°λ”°μ˜΄ν‘œ μ•ˆμ— λ‚΄μš©μ„ λ„£μ–΄μ„œ ν‘œν˜„ν•œλ‹€.

 

System.out.println("6"); // String 6

κ·Έλ ‡κΈ° λ•Œλ¬Έμ— λ§Œμ•½ ν°λ”°μ˜΄ν‘œμ•ˆμ— 숫자λ₯Ό λ„£μ—ˆμ„ 경우 λ°μ΄ν„°νƒ€μž…μ΄ μˆ«μžν˜•μ΄ λ˜λŠ” 것이 μ•„λ‹ˆλΌ λ¬Έμžν˜•μ΄ λ˜λŠ” 것이닀.

 

μ΄λŸ¬ν•œ ꡬ뢄이 μ€‘μš”ν•œ μ΄μœ λŠ” 각각의 λ°μ΄ν„°νƒ€μž…λ³„λ‘œ 데이터 νƒ€μž…μ— ν•„μš”λ‘œν•˜λŠ” 연산이 λ‹€λ₯΄κΈ° λ•Œλ¬Έμ— μ—„κ²©νžˆ ꡬ뢄할 ν•„μš”κ°€ μžˆλ‹€.

 

System.out.println(6+6); // 12
System.out.println("6" + "6"); // 66

μ΄λŸ°μ‹μœΌλ‘œ μˆ«μžν˜•μ—μ„œ ν”ŒλŸ¬μŠ€(+)λŠ” μˆ«μžμ™€ 숫자λ₯Ό λ”ν•΄μ£ΌλŠ” λ”ν•˜κΈ° μ—°μ‚°μœΌλ‘œ μ“°μ΄μ§€λ§Œ, λ¬Έμžν˜•μ—μ„œ ν”ŒλŸ¬μŠ€(+)λŠ” λ¬Έμžμ—΄μ„ κ²°ν•©ν•΄μ£ΌλŠ” κ²°ν•©μ—°μ‚°μžλ‘œ μ‚¬μš©λœλ‹€.

 

System.out.println(6*6); // 36
System.out.println("1111".length()); //4

이외에도 νƒ€μž…λ³„λ‘œ μ‚¬μš©λ˜μ–΄μ§€λŠ” μ—°μ‚°μžλŠ” 많기 λ•Œλ¬Έμ— 잘 ꡬ뢄지어야 ν•œλ‹€.

 


3. μˆ«μžμ™€ μ—°μ‚°

// Operator(μ—°μ‚°μž)
System.out.println(6 + 2); // 8
System.out.println(6 - 2); // 4
System.out.println(6 * 2); // 12
System.out.println(6 / 2); // 3

μš°λ¦¬λŠ” 이런 λ§μ…ˆ, λΊΌμ…ˆ, κ³±ν•˜κΈ°, λ‚˜λˆ„κΈ° 같은 것듀을 Operator(μ—°μ‚°μž)라고 ν•œλ‹€.

 

// νŒŒμ΄κ°’μ„ μ•Œλ €μ€˜.
System.out.println(Math.PI); // 3.141592653589793

// νŒŒμ΄κ°’μ˜ 버림값을 μ•Œλ €μ€˜.
System.out.println(Math.floor(Math.PI)); // 3.0

// νŒŒμ΄κ°’μ˜ μ˜¬λ¦Όκ°’μ„ μ•Œλ €μ€˜.
System.out.println(Math.ceil(Math.PI)); // 4.0

λ˜ν•œ μš°λ¦¬λŠ” 컴퓨터λ₯Ό ν†΅ν•΄μ„œ κ°„λ‹¨ν•œ μ‚¬μΉ™μ—°μ‚°λΏλ§Œ μ•„λ‹ˆλΌ μ•„μ£Ό 볡합적이고 λ³΅μž‘ν•œ μ—°μ‚°κΉŒμ§€λ„ ν‘œν˜„ν•  수 μžˆλŠ”λ° κ·Έμ€‘μ—μ„œ λŒ€ν‘œμ μΈλ° Math이닀.

 

MathλŠ” μˆ˜ν•™κ³Ό κ΄€λ ¨λœ 자주 μ‚¬μš©λ˜μ–΄μ§€λŠ” λͺ…령어듀을 그룹핑해놓은 μΌμ’…μ˜ μˆ˜ν•™μ°½κ³ λΌκ³  μƒκ°ν•˜λ©΄ λœλ‹€.

μ΄ν΄λ¦½μŠ€μ— Math. 이라고 μž…λ ₯ν•˜λ©΄ μˆ˜ν•™κ³Ό κ΄€λ ¨λœ μ—¬λŸ¬ λͺ…령어듀이 μ„€λͺ…κ³Ό ν•¨κ»˜ λ‚˜νƒ€λ‚˜λŠ” 것을 확인할 수 μžˆλ‹€.

 

μ΄λŸ¬ν•œ λͺ…령어듀을 μ‚¬μš©ν•΄μ„œ μš°λ¦¬λŠ” 계산기λ₯Ό μ‚¬μš©ν•˜λŠ” 것보닀 더 ꡬ체적이고 λ‹€μ–‘ν•œ 값듀을 μ–»μ–΄λ‚Ό 수 μžˆλ‹€.

 


4. λ¬Έμžμ—΄μ˜ ν‘œν˜„

 

// Character VS String
System.out.println("Hello World"); // String (λ¬Έμžμ—΄)
System.out.println('H'); // Character (문자)
System.out.println("H"); // String (λ¬Έμžμ—΄)

μš°λ¦¬κ°€ μžλ°”μ—μ„œ λ¬Έμžλ“€μ„ μž‘μ„±ν•  λ•Œ ν°λ”°μ˜΄ν‘œμ•ˆμ— μž‘μ„±ν•΄μ„œ λ¬Έμžμ—΄μ„ ν‘œν˜„ν•΄ μ£ΌλŠ”λ° 이λ₯Ό String(λ¬Έμžμ—΄)이라고 ν•œλ‹€.

그런데 λ§Œμ•½ μž‘μ€λ”°μ˜΄ν‘œμ•ˆμ— λ¬Έμžλ“€μ„ μž‘μ„± ν›„ μ‹€ν–‰ν•  경우 μ—λŸ¬κ°€ λ°œμƒν•˜λŠ”λ° μ΄λŠ” μž‘μ€ λ”°μ˜΄ν‘œλŠ” Character(문자)λ₯Ό μ˜λ―Έν•˜μ—¬ 문자 ν•œ 개λ₯Ό μž‘μ„±ν•  λ•Œ μ‚¬μš©λ˜μ–΄μ§€κΈ° λ•Œλ¬Έμ— λ§Œμ•½ μž‘μ€ λ”°μ˜΄ν‘œ μ•ˆμ— μ—¬λŸ¬ 문자λ₯Ό μž‘μ„±ν•˜κ²Œ 되면 μ—λŸ¬κ°€ λ°œμƒλ˜λŠ” 것이닀.

λ˜ν•œ 문자 1κ°œλΌλ„ ν°λ”°μ˜΄ν‘œ μ•ˆμ— λ„£μ—ˆμ„ 경우 Characterκ°€ μ•„λ‹Œ String으둜 μΈμ‹λ˜λ―€λ‘œ 잘 κΈ°μ–΅ν•˜λ„λ‘ ν•˜μž.

 

System.out.println("Hello "
				+ "World"); // λ¬Έμžμ—΄ 쀑간에 Enterν‚€λ₯Ό λˆŒλ €μ„ 경우 μ΄ν΄λ¦½μŠ€κ°€ μ•Œμ•„μ„œ 처리

λ§Œμ•½ μš°λ¦¬κ°€ Hello Worldλ₯Ό μ€„λ°”κΏˆμ„ ν†΅ν•΄μ„œ 결과값을 ν™•μΈν•˜κ³  μ‹Άλ‹€κ³  ν•΄μ„œ 문자 사이에 Enterν‚€λ₯Ό μž…λ ₯ν•  경우, 이클립슀 μžμ²΄μ—μ„œ ν•΄λ‹Ή μ½”λ“œλ‘œ μž‘μ„±ν•΄ μ£Όμ§€λ§Œ μ€„λ°”κΏˆμœΌλ‘œ 결과값이 μ²˜λ¦¬λ˜μ§€λŠ” μ•ŠλŠ”λ‹€.

 

//new line
System.out.println("Hello \nWorld");

λ§Œμ•½ μ€„λ°”κΏˆμ„ ν•˜κ³  μ‹Άλ‹€λ©΄ \n을 μž…λ ₯ν•΄μ£Όλ©΄ λœλ‹€.

참고둜, \nμ—μ„œ n은 new line을 μ˜λ―Έν•œλ‹€.

 

ν™”λ©΄μ—μ„œ λ§Œμ•½ Hello Worldλ₯Ό Hello "World"둜 ν‘œν˜„ν•˜κ³  μ‹Άμ–΄μ„œ κ·ΈλŒ€λ‘œ μž…λ ₯ν–ˆλ‹€λ©΄ μ—λŸ¬κ°€ λ°œμƒλ˜μ—ˆμ„ 것이닀.

μ΄λŠ” Worldμ—μ„œ μ”ŒμΈ ν°λ”°μ˜΄ν‘œκ°€ μ›λž˜λŠ” λ¬Έμžμ—΄μ„ ν‘œν˜„ν•  λ•Œ 쓰이기 λ•Œλ¬Έμ— ν°λ”°μ˜΄ν‘œμ•ˆμ— 또 ν°λ”°μ˜΄ν‘œλΌκ³  잘λͺ» μ‚¬μš©λ˜μ–΄ 진 것이라고 μΈμ‹λ˜μ–΄ μ—λŸ¬λ₯Ό λ°œμƒμ‹œν‚¨ 것이닀.

 

//escape
System.out.println("Hello \"World\""); // Hello "World"

이λ₯Ό ν•΄κ²°ν•΄μ£ΌκΈ° μœ„ν•΄μ„œλŠ” λ¬Έμžμ—΄ μ•ˆμ— μžˆλŠ” World에 μ”Œμ›Œμ§„ ν°λ”°μ˜΄ν‘œλ₯Ό 기쑴의 역할이 μ•„λ‹Œ 문자자체둜 μ½νžˆλ„λ‘ ν°λ”°μ˜΄ν‘œ μ•ˆμ— μ—­μŠ¬λ ˆμ‰¬(\)λ₯Ό μ‚¬μš©ν•΄ 주도둝 ν•œλ‹€.

μš°λ¦¬λŠ” 이λ₯Ό κΈ°μ‘΄ 역할을 μΌμ‹œμ μœΌλ‘œ νƒˆμΆœ μ‹œμΌ°λ‹€κ³  ν•΄μ„œ escape라고 ν•œλ‹€.

 


5. λ¬Έμžμ—΄ 닀루기

 

// Hello World의 문자 길이λ₯Ό μ•Œλ €μ€˜.
System.out.println("Hello World".length()); // 11

// μž…λ ₯ν•œ λ¬Έμžμ—΄μ—μ„œ [[name]]μ΄λΌλŠ” 뢀뢄에 suhyeon이라고 λŒ€μ²΄ν•΄μ€˜.
System.out.println("Hello, [[name]] ... bye. ".replace("[[name]]", "suhyeon")); // "Hello, suhyeon ... bye. "

λ¬Έμžμ—΄μ΄λΌλŠ” 데이터 νƒ€μž…μ„ ν‘œν˜„ν•  수 있게 되면, λ¬Έμžμ—΄κ³Ό κ΄€λ ¨λœ μžλ°”μ˜ λ‚΄μž₯λ˜μ–΄ μžˆλŠ” μ—¬λŸ¬κ°€μ§€ λ¬Έμžμ—΄μ„ μ²˜λ¦¬ν•˜λŠ” 것듀을 μ‚¬μš©ν•˜μ—¬ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλ‹€.

 

 

λ°˜μ‘ν˜•

λŒ“κΈ€