[Java] 100제 (part1)

μ •λ³΄κ΅¬λ‹ˆΒ·2022λ…„ 1μ›” 6일
0

Java

λͺ©λ‘ 보기
38/39

λ³€μˆ˜

001


// μ—λŸ¬λ₯Ό λͺ¨λ‘ μ°Ύμ•„μ„œ μˆ˜μ •ν•˜μ‹œμ˜€.

public class java002_variable {
	public static void main(string[] args) {
		system.out.println('Hello World~')
	}


public class Java100_variable_001 {  
	public static void main(String[] args) {
		System.out.println("Hello Word~");
	}
}

  • μžλ°”μ˜ 기본적인 μ½”λ“œ μž‘μ„± κ·œμΉ™
    • 파일λͺ…κ³Ό 클래슀λͺ…이 λ™μΌν•΄μ•Όν•œλ‹€.
    • string이 μ•„λ‹Œ String
    • system이 μ•„λ‹Œ System
    • λ¬Έμžμ—΄μ„ κ°μ‹Έμ€„λ•Œ ν°λ”°μ˜΄ν‘œ("")λ₯Ό μ‚¬μš©ν•œλ‹€.
    • λ¬Έμž₯이 λλ‚ λ•ŒλŠ” 항상 μ„Έλ―Έμ½œλ‘ (;)을 μ μ–΄μ€˜μ•Ό ν•œλ‹€.





002


// μžλ°”μ˜ 기본적인 μ½”λ“œ κ΅¬μ„±μ—μ„œ 각 ν‚€μ›Œλ“œλ₯Ό κ°„λž΅νžˆ μ„€λͺ…ν•΄λ³΄μ‹œμ˜€.

class Java002_variable {
	public static void main(String[] args) {
		System.out.println("Hello word~");
	}
}

μ ‘κ·Όμ œμ–΄μž ν΄λž˜μŠ€μ„ μ–Έ 클래슀 이름 {
	μ ‘κ·Όμ œμ–΄μž static λ°˜ν™˜νƒ€μž… λ©”μ†Œλ“œμ΄λ¦„(νŒŒλΌλ―Έν„°) {
    		// κ΅¬ν˜„ν•  μ½”λ“œ μž‘μ„±  
        }
}

  • 1) μ ‘κ·Όμ œμ–΄μž
    • public, protected, default, private
    • ν΄λž˜μŠ€λ‚˜ λ©”μ†Œλ“œμ— μ ‘κ·Όν•  수 μžˆλŠ” λ²”μœ„λ₯Ό μ§€μ •
  • 2) ν΄λž˜μŠ€μ„ μ–Έ
    • class둜 μ„ μ–Έ
    • 객체λ₯Ό μƒμ„±ν•˜λŠ” ν‹€, 곡μž₯
  • 3) ν΄λž˜μŠ€μ΄λ¦„
    • μΉ΄λ©œμΌ€μ΄μŠ€ (단어와 단어 μ‚¬μ΄μ˜ ꡬ뢄 ➑ λŒ€λ¬Έμž)
  • 4) λ©”μ†Œλ“œμ΄λ¦„
    • λ©”μ†Œλ“œ = ν•¨μˆ˜
    • μ–΄λ–€ νŠΉμ •ν•œ λ™μž‘μ΄λ‚˜ μž‘μ—…, ν–‰μœ„ 등을 μˆ˜ν–‰ν•˜λŠ” 것





003


// μžλ°”μ˜ λ©”μΈλ©”μ†Œλ“œλ₯Ό μž‘μ„±ν•œ μ½”λ“œμ—μ„œ ν‹€λ¦° 곳을 μ°Ύμ•„ μˆ˜μ •ν•˜μ‹œμ˜€.

public class Java003_variable {
	public void main_method(String[] gaddonge) {
		System.out.println( "Hello World~" );
	}
}

public class Java100_variable_003 {
	public static void main(String[] gaddonge) {
            System.out.println( "Hello World~" );
    }
}

  • λ©”μΈλ©”μ†Œλ“œ
    • λ©”μ†Œλ“œμ΄λ¦„μ„ main으둜 μž‘μ„±ν•΄μ•Όν•¨
    • λ§Œμ•½ λ‹€λ₯΄κ²Œ μž‘μ„±ν•˜λ©΄ κΈ°λ³Έ λ©”μ†Œλ“œλ₯Ό 찾을 수 μ—†λ‹€κ³  μ—λŸ¬κ°€ λ°œμƒ
    • μžλ°” ν”„λ‘œκ·Έλž¨μ΄ μ‹€ν–‰λ˜λ©΄ 제일 λ¨Όμ € λ©”μΈλ©”μ†Œλ“œλ₯Ό μ°Ύμ•„μ„œ μ‹€ν–‰
    • 길게 μž‘μ„±λœ μ†ŒμŠ€μ—μ„œ κ·Έ ν”„λ‘œκ·Έλž¨μ˜ μ‹œμž‘μ΄ μ–΄λ”˜μ§€ μ•Œ 수 μ—†μœΌλ©΄ μ•ˆλ˜λ―€λ‘œ μ‹€ν–‰μ˜ μ‹œμž‘μ μ„ μ•Œλ €μ£ΌλŠ” μš©λ„ (entry point)
  • νŒŒλΌλ―Έν„°
    • λ©”μ†Œλ“œ ν˜ΈμΆœμ‹œ ν•˜λ‚˜ or λ‘˜ μ΄μƒμ˜ νŒŒλΌλ―Έν„° 값을 λ„£μ–΄μ„œ ν˜ΈμΆœν•  수 있음
    • κ·ΈλŸ¬ν•œ νŒŒλΌλ―Έν„°(인자)λ“€μ˜ 값을 μ €μž₯ν•  λ³€μˆ˜(λ°”κ΅¬λ‹ˆ)듀을 λͺ…μ‹œν•΄μ€˜μ•Όν•¨
    • String[] ➑ λ¬Έμžμ—΄ λ°°μ—΄
    • args ➑ arguments(인수, λ…λ¦½λ³€μˆ˜μ˜ 의미)
      • argsλŠ” ν•˜λ‚˜μ˜ λ³€μˆ˜λͺ…일 λΏμ΄λ―€λ‘œ μž„μ˜μ˜ 이름을 지정해도 무방
  • λ°˜ν™˜νƒ€μž…
    • return type ➑ λ°˜ν™˜ν•  값이 μžˆλ‚˜? μ—†λ‚˜? ➑ μ—†μœΌλ©΄ void
    • λ©”μ†Œλ“œλ₯Ό ν˜ΈμΆœν–ˆμ„ λ•Œ 결과둜써 νŠΉλ³„νžˆ λ°˜ν™˜λ˜λŠ” 값은 없이 μˆ˜ν–‰λ˜λŠ” λ©”μ†Œλ“œ





004


// 메인 λ©”μ„œλ“œμ—μ„œ static ν‚€μ›Œλ“œμ˜ 역할에 λŒ€ν•΄μ„œ μ„€λͺ…ν•΄λ³΄μ‹œμ˜€. (β˜…β˜…β˜…)
// μž‘μ„±ν•œ μžλ°” μ½”λ“œλ₯Ό μ‹€ν–‰μ‹œ static을 μ•ˆμ“°λ©΄ μ—λŸ¬κ°€ λ‚˜λŠ”λ° κ·Έ μ΄μœ κ°€ 무엇인지도 같이 μ„€λͺ…ν•΄λ³΄μ‹œμ˜€.

public class Java100_variable_HelloWorld {
	public static void main(String[] args) {
		System.out.println( "Hello World~" );
	}
}

  • static으둜 μ„ μ–Έλœ λ©”μ†Œλ“œλ‚˜ λ³€μˆ˜λŠ” JVM(μžλ°” 가상머신)μ—μ„œ μΈμŠ€ν„΄μŠ€(객체)의 생성 없이 ν˜ΈμΆœμ„ ν•  수 μžˆλ‹€.
    • μ‰½κ²Œ 말해, μΈμŠ€ν„΄μŠ€(객체) 생성없이 ν•΄λ‹Ή λ©”μ†Œλ“œλ‚˜ λ³€μˆ˜λ₯Ό ν˜ΈμΆœν•΄μ„œ μ‚¬μš©ν•  수 μžˆλ‹€λŠ” 것
  • λ©”μΈλ©”μ†Œλ“œλŠ” ν”„λ‘œκ·Έλž¨ ꡬ동과 λ™μ‹œμ— ν˜ΈμΆœλ˜μ–΄μ•Ό ν•˜λŠ” λ©”μ†Œλ“œμ΄κΈ° λ•Œλ¬Έμ— static선언을 ν•΄μ€˜μ•Ό ν•œλ‹€.
  • μžλ°” ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•˜λ©΄ static으둜 μ§€μ •λœ λ©”μ†Œλ“œλ₯Ό μ°Ύμ•„ λ¨Όμ € λ©”λͺ¨λ¦¬μ— ν• λ‹Ήμ‹œν‚¨λ‹€.
  • static으둜 μ§€μ •λœ λ©”μ†Œλ“œκ°€ μ—¬λŸ¬κ°œμΈ κ²½μš°μ—λŠ” μΈμŠ€ν„΄μŠ€(객체)λ₯Ό μƒμ„±ν•˜λŠ” 것과 상관없이 λͺ¨λ‘ λ©”λͺ¨λ¦¬μ— ν• λ‹Ήμ‹œν‚¨λ‹€.
  • κ·Έ 후에, λ©”μΈλ©”μ†Œλ“œκ°€ μžˆλŠ”μ§€λ₯Ό μ°Ύμ•„ κ°€μž₯ λ¨Όμ € μ‹œμž‘μ μ˜ λ©”μ†Œλ“œλ‘œμ¨ ν˜ΈμΆœμ„ ν•˜κ²Œ λ˜λŠ” 것이닀.





005


// λ³€μˆ˜μ™€ λ³€μˆ˜ μ„ μ–Έμ΄λž€ 무엇이고, λ³€μˆ˜μ˜ μš©λ„μ™€ μ™œ ν•„μš”ν•œμ§€ μ„€λͺ…ν•΄λ³΄μ‹œμ˜€.

// 1. λ³€μˆ˜λž€ 무엇인가?
// 2. λ³€μˆ˜ μ„ μ–Έμ΄λž€ 무엇인가?
// 3. λ³€μˆ˜μ˜ μš©λ„λŠ” 무엇이고 μ™œ ν•„μš”ν•œκ°€?

  • 1) λ³€μˆ˜
    • 데이터λ₯Ό μ €μž₯ν•˜λŠ” λ©”λͺ¨λ¦¬ 곡간 (λ°”κ΅¬λ‹ˆ)
    • λ³€ν•˜λŠ” 수
  • 2) λ³€μˆ˜ μ„ μ–Έ
    • λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” λ¨Όμ € λ³€μˆ˜μ˜ νƒ€μž…μ— λ§žλŠ” 선언을 ν•΄μ€˜μ•Ό ν•œλ‹€.
    • μ •μˆ˜ν˜• λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜κ³ μž ν•œλ‹€λ©΄ ➑ μ •μˆ˜ν˜• νƒ€μž…μ˜ μžλ£Œν˜•μ„ μ„ μ–Έν•΄μ£Όκ³  μ‚¬μš©ν•΄μ•Ό ν•œλ‹€.
  • 3) λ³€μˆ˜μ˜ μš©λ„
    • μ €μž₯ ➑ μ–΄λ–€ 연산을 μˆ˜ν–‰ν•  λ•Œ 값을을 μ €μž₯해놓아야 ν•˜λŠ”λ° κ·Έλ•Œ λ³€μˆ˜λ₯Ό ν™œμš©ν•œλ‹€.











μžλ£Œν˜•, μ—°μ‚°μž

006


// μžλ°”μ˜ λ°μ΄ν„°νƒ€μž…(μžλ£Œν˜•)에 λŒ€ν•΄μ„œ 각 νƒ€μž…μ˜ μ‚¬μ΄μ¦ˆμ™€ ν•¨κ»˜ μ„€λͺ…ν•΄λ³΄μ‹œμ˜€.
// μ •μˆ˜ν˜•μ˜ 경우 μ‚¬μ΄μ¦ˆμ™€ λ²”μœ„λ„ λ§ν•΄λ³΄μ‹œμ˜€.

  • κΈ°λ³Έ μžλ£Œν˜• ( Primitive Data Type )
    • 1) μ •μˆ˜ν˜•
      • byte(1byte) / short(2byte) / int(4byte) / long(8byte)
    • 2) μ‹€μˆ˜ν˜•
      • float(4byte) / double(8byte)
    • 3) λ¬Έμžν˜•
      • char(2byte)
      • 문자 ν•œκ°œ (λ¬Έμžμ—΄μ„ λ‹€λ£¨λŠ” νƒ€μž…μ€ μ—†μŒ)
    • 4) λΆ€μšΈν˜•(λ…Όλ¦¬ν˜•)
      • boolean(1byte)
      • true, false

  • μ°Έμ‘° μžλ£Œν˜• ( Reference Data Type )
    • μœ„ κΈ°λ³Έν˜•μ— μ†ν•˜μ§€ μ•ŠλŠ” 데이터 νƒ€μž…λ“€
    • λŒ€ν‘œμ μΈ μ°Έμ‘° μžλ£Œν˜•
      • 클래슀(class) / λ°°μ—΄(array) / μΈν„°νŽ˜μ΄μŠ€(interface) / λ¬Έμžμ—΄(String,immutable)
    • μ°Έμ‘°ν˜• λ³€μˆ˜μ˜ νŠΉμ§•
      • 데이터가 μ €μž₯된 λ©”λͺ¨λ¦¬μ˜ μ£Όμ†Œ 값을 μ €μž₯ν•˜λŠ” λ³€μˆ˜μ΄λ‹€.





007


// μžλ°”μ˜ Primitive Data Type의 λ°”μ΄νŠΈ 크기와 λΉ„νŠΈ 크기λ₯Ό 좜λ ₯ν•˜λŠ” μ½”λ“œλ₯Ό κ΅¬ν˜„ν•˜μ‹œμ˜€.
// μ •μˆ˜ν˜• νƒ€μž…κ³Ό λ¬Έμžν˜• νƒ€μž…μ— λŒ€ν•΄μ„œλ§Œ κ΅¬ν˜„ν•œλ‹€.
// μ΄λ•Œ, 각 νƒ€μž…μ˜ μ΅œλŒ“κ°’κ³Ό μ΅œμ†Ÿκ°’λ„ 같이 κ΅¬ν•˜μ—¬ 좜λ ₯ν•˜μ‹œμ˜€.
// λ¬Έμžν˜•μ˜ μ΅œλŒ“κ°’, μ΅œμ†Ÿκ°’μ΄ μ œλŒ€λ‘œ 좜λ ₯이 μ•ˆλ˜λŠ”λ° κ·Έ 이유λ₯Ό μ„€λͺ…ν•˜κ³  μˆ˜μ •ν•΄λ³΄μ‹œμ˜€.


class Java007_DataType {
	public static void main(String[] args) {		
		// byte, short, int, long, char
		System.out.println("byte \t" + Byte.BYTES + "(λ°”μ΄νŠΈ)" + " --> " + Byte.SIZE + "(λΉ„νŠΈ) \t" + Byte.MIN_VALUE + " ~ " + Byte.MAX_VALUE);		
		System.out.println("short \t" + Short.BYTES + "(λ°”μ΄νŠΈ)" + " --> " + Short.SIZE + "(λΉ„νŠΈ) \t" + Short.MIN_VALUE + " ~ " + Short.MAX_VALUE);		
		System.out.println("int \t" + Integer.BYTES + "(λ°”μ΄νŠΈ)" + " --> " + Integer.SIZE + "(λΉ„νŠΈ) \t" + Integer.MIN_VALUE + " ~ " + Integer.MAX_VALUE);		
		System.out.println("long \t" + Long.BYTES + "(λ°”μ΄νŠΈ)" + " --> " + Long.SIZE + "(λΉ„νŠΈ) \t" + Long.MIN_VALUE + " ~ " + Long.MAX_VALUE);		
		System.out.println("char \t" + Character.BYTES + "(λ°”μ΄νŠΈ)" + " --> " + Character.SIZE + "(λΉ„νŠΈ) \t" + Character.MIN_VALUE + " ~ " + Character.MAX_VALUE);
		System.out.println("char \t" + Character.BYTES + "(λ°”μ΄νŠΈ)" + " --> " + Character.SIZE + "(λΉ„νŠΈ) \t" + (int)Character.MIN_VALUE + " ~ " + (int)Character.MAX_VALUE);
	}
}


// μ‹€ν–‰ κ²°κ³Ό
byte 	1(λ°”μ΄νŠΈ) --> 8(λΉ„νŠΈ) 	-128 ~ 127
short 	2(λ°”μ΄νŠΈ) --> 16(λΉ„νŠΈ) 	-32768 ~ 32767
int 	4(λ°”μ΄νŠΈ) --> 32(λΉ„νŠΈ) 	-2147483648 ~ 2147483647
long 	8(λ°”μ΄νŠΈ) --> 64(λΉ„νŠΈ) 	-9223372036854775808 ~ 9223372036854775807
char 	2(λ°”μ΄νŠΈ) --> 16(λΉ„νŠΈ) 	

  • νƒ€μž….BYTES ➑ λ°”μ΄νŠΈ 크기 계산
  • νƒ€μž….SIZE ➑ λΉ„νŠΈ 크기 계산
  • νƒ€μž….MIN_VALUE ➑ νƒ€μž…μ˜ μ΅œμ†Ÿκ°’ 계산
  • νƒ€μž….MAX_VALUE ➑ νƒ€μž…μ˜ μ΅œλŒ“κ°’ 계산
  • μ΄λ•Œ νƒ€μž…μ˜ μ²«κΈ€μžλ₯Ό λŒ€λ¬Έμžλ‘œ λ„£μ–΄μ€˜μ•Ό 함
    • int, char νƒ€μž…μ€ Integer, character둜 쑰금 λ‹€λ₯΄λ‹€λŠ” 것을 μ°Έκ³  !
  • λ¬Έμžν˜•μ˜ μˆ«μžκ°€ μ•„λ‹ˆκΈ° λ•Œλ¬Έμ— μ΅œμ†Ÿκ°’κ³Ό μ΅œλŒ“κ°’ 좜λ ₯을 μœ„ν•΄ intνƒ€μž…μœΌλ‘œ ν˜•λ³€ν™˜μ„ μ‹œμΌœμ€˜μ•Ό μ œλŒ€λ‘œ 좜λ ₯λœλ‹€.





008


// μ •μˆ˜, μ‹€μˆ˜, λ¬Έμžν˜• νƒ€μž…μ˜ λ³€μˆ˜ μ‚¬μš©μ—μ„œ ν‹€λ¦° 곳을 μ°Ύμ•„μ„œ λͺ¨λ‘ μˆ˜μ •ν•˜μ‹œμ˜€.
// 혹, μ—λŸ¬κ°€ μ•ˆλ‚˜λ”λΌλ„ μ˜¬λ°”λ₯΄κ²Œ μˆ˜μ •ν•΄μ£Όμ‹œμ˜€.

public class Java008_DataType {
	public static void main(String[] args) {
		int a;
		int b; int c = 90;
		double d;
		char e;
        
		a = 10;
		d = 10;
		e = "A";
        
		System.out.println( a );
		System.out.println( b );
		System.out.println( c );
		System.out.println( d );
		System.out.println( e );
	}
}
/* μˆ˜μ • ν›„ */ 
class Java008_DataType {
	public static void main(String[] args) {
		// [1] λ³€μˆ˜ μ„ μ–Έ
		int a;          		// μ •μˆ˜κ°€ μ €μž₯될 λ³€μˆ˜ 이름을 a둜 λ§Œλ“€μ–΄λΌ
		int b; int c = 90;		// λ³€μˆ˜λ₯Ό λ‚˜λž€νžˆ μ„ μ–Έν•˜λŠ” 것이 κ°€λŠ₯
		double d;			// μ‹€μˆ˜κ°€ μ €μž₯될 λ³€μˆ˜ 이름을 d둜 λ§Œλ“€μ–΄λΌ
		char e;				// λ¬Έμžκ°€ μ €μž₯될 λ³€μˆ˜ 이름을 e둜 λ§Œλ“€μ–΄λΌ
		
		// [2] μ„ μ–Έλœ λ³€μˆ˜μ— 값을 λŒ€μž…
		a = 10;
		d = 10;				// μ •μˆ˜ 10을 μž…λ ₯ν•˜λ©΄ μ‹€μˆ˜ 10.0으둜 좜λ ₯
//		e = "A"; 			// 문자λ₯Ό μŒλ”°μ˜΄ν‘œ("")둜 감싸면 μ—λŸ¬
		e = 'A';
		
		// [3] 좜λ ₯
		System.out.println("a: " + a);
//		System.out.println("b: " + b);  // λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜κ³  μ΄ˆκΈ°ν™”λ₯Ό ν•΄μ£Όμ§€ μ•ŠμœΌλ©΄ μ—λŸ¬
		System.out.println("c: " + c);
		System.out.println("d: " + d);
		System.out.println("e: " + e);
        
        	// [4] μ—¬λŸ¬κ°œ λ³€μˆ˜ μ„ μ–Έ 및 μ΄ˆκΈ°ν™”
		// [4-1]
//		int x,y,z = 50;			// z만 μ΄ˆκΈ°ν™” 되고 x,yλŠ” μ΄ˆκΈ°ν™” μ•ˆλ¨
//		System.out.println("x, y, z = " + x + "," + y + "," + z);	// μ—λŸ¬
		
		// [4-2]
		int x,y,z;
		x = 10;
		y = 20;
		z = 30;
		System.out.println("[4-2] : " + x + ", " + y + ", " + z);
		
		// [4-3]
		int x2=30, y2=40, z2=50;
		System.out.println("[4-3] : " + x2 + ", " + y2 + ", " + z2);
		
		// [4-4] 같은 κ°’μœΌλ‘œ μ΄ˆκΈ°ν™”
//		String str1,str2,str3 = "java"; // μ—λŸ¬
		
		String str1,str2,str3;
		str1 = str2 = str3 = "java";
		System.out.println("[4-4] μ—¬λŸ¬ λ¬Έμžμ—΄ λ³€μˆ˜ ν•œλ²ˆμ— μ΄ˆκΈ°ν™”: " + str1 + ", " + str2 + ", " + str3);
		
		int i,j,k;
		i = j = k = 100;
		System.out.println("[4-4] μ—¬λŸ¬ μ •μˆ˜ν˜• λ³€μˆ˜ ν•œλ²ˆμ— μ΄ˆκΈ°ν™”: " + i + ", " + j + ", " + k);
	}
}

// μ‹€ν–‰ κ²°κ³Ό
a: 10
c: 90
d: 10.0
e: A
[4-2] : 10, 20, 30
[4-3] : 30, 40, 50
[4-4] μ—¬λŸ¬ λ¬Έμžμ—΄ λ³€μˆ˜ ν•œλ²ˆμ— μ΄ˆκΈ°ν™”: java, java, java
[4-4] μ—¬λŸ¬ μ •μˆ˜ν˜• λ³€μˆ˜ ν•œλ²ˆμ— μ΄ˆκΈ°ν™”: 100, 100, 100





009


// κΈ°λ³Έν˜• νƒ€μž…μ˜ 값을 μ΄ˆκΈ°ν™”ν•œ μ•„λž˜μ˜ μ½”λ“œμ—μ„œ ν‹€λ¦° 곳을 μ°Ύμ•„ μˆ˜μ •ν•˜μ‹œμ˜€.

class Java009_DataType {
	public static void main(String[] args) {
		// [1] κΈ°λ³Έν˜• νƒ€μž… --> 8개 --> λ³€μˆ˜ μ„ μ–Έκ³Ό λ™μ‹œμ— 값을 μž…λ ₯
		byte b = 100;
		short s = 30000;
		int i = 2100000000;
//		long l = 7000000000;	// long νƒ€μž…μ€ 접미사 L λ˜λŠ” l을 λͺ…μ‹œν•΄μ€˜μ•Ό 함
		long l = 7000000000L;
//		float f = 9.8;			// float νƒ€μž…μ€ 접비사 Fλ₯Ό λ˜λŠ” fλ₯Ό λͺ…μ‹œν•΄μ€˜μ•Ό 함
		float f = 9.8F;
		double d = 3.14;
		char c = 'A';
		boolean bl = false;
	}
}





010


// μ •μˆ˜ν˜• λ³€μˆ˜λ₯Ό λ¬Έμžν˜•μœΌλ‘œ ν˜•(Type) λ³€ν™˜μ‹œμΌœμ„œ 좜λ ₯ν•˜λ©΄ μ–΄λ–€ κ²°κ³Όκ°€ λ‚˜μ˜€λŠ”μ§€ λ§ν•΄λ³΄μ‹œμ˜€.
// μ•„λž˜ μ½”λ“œμ˜ κ²°κ³Όλ₯Ό μ˜ˆμƒν•˜μ—¬ λ§ν•΄λ³΄μ‹œμ˜€.

class Java010_DataType {
	public static void main(String[] args) {
		// [1]
		short a = 'A'; 
		System.out.println( a );	 // 문자 A에 ν•΄λ‹Ήν•˜λŠ” μ•„μŠ€ν‚€μ½”λ“œ κ°’ 65 좜λ ₯
		// [2]
		short b = 90;
		System.out.println( (char)b );	 // μ•„μŠ€ν‚€μ½”λ“œ 90에 ν•΄λ‹Ήν•˜λŠ” 문자 Z 좜λ ₯
		// [3]
		char c = 'C';
		System.out.println( (short)c );	 // 문자 C에 ν•΄λ‹Ήν•˜λŠ” μ•„μŠ€ν‚€μ½”λ“œ κ°’ 67 좜λ ₯
	}
}





011


// System.out.print(), println(), printf() 등에 λŒ€ν•΄μ„œ 예제λ₯Ό 톡해 μ„€λͺ…ν•΄λ³΄μ‹œμ˜€.
// μ΄λ•Œ 10μ§„μˆ˜ 10에 λŒ€ν•΄μ„œ 8μ§„μˆ˜, 16μ§„μˆ˜λ‘œ 각각 좜λ ₯ν•΄λ³΄μ‹œμ˜€.

public class Java011_DataType {
	public static void main(String[] args) {
		// [1] print(), println()
		System.out.print("μ•ˆλ…•ν•˜μ„Έμš”! ");			// λ¬Έμž₯ 뒀에 κ°œν–‰μ΄ μ•ˆλ¨
		System.out.println("날씨가 μ’‹λ„€μš”.");		// λ¬Έμž₯ 뒀에 κ°œν–‰μ΄ 이뀄짐
		System.out.println("쒋은 ν•˜λ£¨ λ³΄λ„€μ„Έμš”.");
		System.out.println();
		
		// [2] printf()
		// %d(μ •μˆ˜), %f(μ†Œμˆ«μ  ν˜•μ‹), %c(문자), %s(λ¬Έμžμ—΄), %b(λΆ€μšΈν˜•), %n(μ€„λ°”κΏˆ)
		int age = 20;
		System.out.printf("μ €λŠ” %dμ‚΄μž…λ‹ˆλ‹€. %n", age);
		System.out.println();
		
		// %e(μ§€μˆ˜), %o(8μ§„μˆ˜), %x(16μ§„μˆ˜)
		int num = 10;
		System.out.printf("10μ§„μˆ˜ %d은 8μ§„μˆ˜λ‘œλŠ” %o이고, 16μ§„μˆ˜λ‘œλŠ” %x이닀.", num,num,num);
	}
}





012


// μ •μˆ˜ν˜•(int)을 λ¬Έμžμ—΄(String)둜 λ³€ν™˜ν•˜μ—¬ μ •μˆ˜μ˜ 자릿수λ₯Ό κ΅¬ν•˜λŠ” μ½”λ“œλ₯Ό κ΅¬ν˜„ν•΄λ³΄μ‹œμ˜€.
// μ •μˆ˜ 12345λ₯Ό μž…λ ₯ν•˜λ©΄"μžλ¦Ώμˆ˜κ°€ "5"둜 좜λ ₯λ˜λ„λ‘ ν•œλ‹€.

public class Java012_DataType {
	public static void main(String[] args) {
		// [1] μ •μˆ˜ μ„ μ–Έ
		int num = 12345;
		String str = "12345";
//		System.out.println(n.length());		// Err
		System.out.println("[1] -> " + str.length());	// ν•΄λ‹Ή λ¬Έμžμ—΄μ˜ 길이
		
		// [2] μ •μˆ˜ -> λ¬Έμžμ—΄λ‘œ λ³€ν™˜ -> 자릿수 κ΅¬ν•˜κΈ°
		String strn = String.valueOf(num);	// μ •μˆ˜ λ¬Έμžμ—΄λ‘œ λ³€ν™˜
		System.out.println("[2] -> " + strn.length());	// ν•΄λ‹Ή λ¬Έμžμ—΄μ˜ 길이
		
		// [3] λ¬Έμžμ—΄ + μ •μˆ˜ν˜• = ?
		System.out.println("[3] -> 1234 + 1 = " + (num + 1));
		System.out.println("[3] -> \"1234\" + 1 = " + str + 1);
		
		// [4] λ¬Έμžμ—΄ -> μ •μˆ˜λ‘œ λ³€ν™˜
		int num2 = Integer.valueOf(str);
		System.out.println("[4] -> " + (num2 + 1));
	}
}


// μ‹€ν–‰ κ²°κ³Ό
[1] -> 5
[2] -> 5
[3] -> 1234 + 1 = 12346
[3] -> "1234" + 1 = 123451
[4] -> 12346

  • μ •μˆ˜ν˜•μ„ λ¬Έμžμ—΄λ‘œ λ°”κΎΈλŠ” 이유
    • μ •μˆ˜ν˜•λΌλ¦¬μ˜ 연산이 μ•„λ‹Œ 경우 λ”ν•˜κΈ° μ—°μ‚° 등을 μˆ˜ν–‰ν–ˆμ„ λ•Œ λ¬Έμžκ°€ ν•©μ³μ§€λŠ” κ²°κ³Όκ°€ λ‚˜μ˜¬ 수 있기 λ•Œλ¬Έ
    • μ—°μ‚° 외에도 λ©”μ†Œλ“œ ν˜ΈμΆœμ‹œ μΈμžκ°’μ„ μ •μˆ˜λ‘œ λ³΄λ‚΄μ„œ λ¬Έμžμ—΄λ‘œ λ°˜ν™˜ν•˜λŠ” κ²½μš°μ— ν•„μš”
    • λ³€ν™˜ν•˜λŠ” 방법은 μ—¬λŸ¬κ°€μ§€κ°€ μžˆλ‹€.
  • λ³€ν™˜ 방법
    • μ •μˆ˜ ➑ λ¬Έμžμ—΄ : String.valueOf( );
    • λ¬Έμžμ—΄ ➑ μ •μˆ˜ : Integer.valueOf( );





013


수치,μ—°μ‚°μž,μΆ•μ•½











μ°Έκ³ 
μΈν”„λŸ° Java λ¬Έμ œν’€μ΄ 100제 Part.1

0개의 λŒ“κΈ€