πŸ”Ή λ³€μˆ˜

1. λ³€μˆ˜λž€?

  • λ‹€μ–‘ν•œ μ’…λ₯˜μ˜ 자료λ₯Ό ν‘œν˜„ν•  수 μžˆλŠ” 값을 λ³€μˆ˜λΌκ³  λΆ€λ₯΄λ©°,
    일반적으둜 μ›Ή νŽ˜μ΄μ§€μ—μ„œ μ²˜λ¦¬ν•˜κ³ μž ν•˜λŠ” "데이터"에 ν•΄λ‹Ήν•œλ‹€.
    (그릇이라고 μƒκ°ν•˜λ©΄ νŽΈν•˜λ‹€)

2. μžλ£Œν˜•(data type)

  • ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ—μ„œ λ³€μˆ˜μ˜ μ’…λ₯˜λ₯Ό κ΅¬λ³„ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” ν‚€μ›Œλ“œ
  • μžλ°”μ—μ„œ μ œλ„κ³΅λ˜λŠ” μžλ£Œν˜•μ˜ μ’…λ₯˜μ—λŠ” 8가지 μžˆλ‹€.
    이λ₯Ό κΈ°λ³Έ μžλ£Œν˜•(Primtive Data Type)이라 ν•œλ‹€.

3. μžλ£Œν˜•μ΄ κ°€μ§€λŠ” 의미

  • λͺ¨λ“  λ³€μˆ˜λŠ” μ»΄ν“¨ν„°μ˜ λ©”λͺ¨λ¦¬μ˜μ—­μ— μƒμ„±λœλ‹€.
  • 일반적으둜 λ©”λͺ¨λ¦¬λž€, PC에 μ„€μΉ˜ν•˜λŠ” RAM을 μ˜λ―Έν•œλ‹€.
  • 4byte의 크기λ₯Ό κ°–λŠ” λ³€μˆ˜ κ°’ ν•˜λ‚˜λ₯Ό 생성할 경우,
    PC의 RAMμ—μ„œ ν•΄λ‹Ή μš©λŸ‰λ§ŒνΌμ„ μ‚¬μš©ν•˜κ²Œ λœλ‹€.
  • λ³€μˆ˜λŠ” RAM의 크기λ₯Ό λ„˜μ§€ μ•ŠλŠ” λ²”μœ„ μ•ˆμ—μ„œλ§Œ 생성할 수 μžˆλ‹€.
    (μš©λŸ‰μ„ λ„˜μ–΄μ„œλŠ” 경우 OutOfMemory μ—λŸ¬λ₯Ό λ°œμƒ)

4. λ¬Έμžμ—΄ 데이터 (String)

  • ν”„λ‘œκ·Έλž¨ μ½”λ“œμ—μ„œ λ¬Έμž₯을 ν‘œν˜„ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” 데이터 κ°’
  • String (μ²«κΈ€μžλŠ” λŒ€λ¬Έμž)
  • λ¬Έμžμ—΄μ„ ν‘œν˜„ν•˜κΈ° μœ„ν•œ μžλ£Œν˜•μ΄λ‹€.
  • κΈ€μžμˆ˜μ— 상관 없이 μŒλ”°μ˜΄ν‘œ("")둜 묢인 λ‚΄μš©μ„ ν• λ‹Ήν•  수 μžˆλ‹€.
  • κΈ€μžκ°’μ˜ 경우 μŒλ”°μ˜΄ν‘œλ‘œ 묢이게 되면 λ¬Έμžμ—΄λ‘œ μ·¨κΈ‰λ˜λ―€λ‘œ,
    μˆ«μžμ™€ λ¬Έμžμ—΄μ„ λΆ„λͺ…ν•˜κ²Œ κ΅¬λΆ„ν•œλ‹€.

5. λ³€μˆ˜μ˜ μ‚¬μš© 방법

  • λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” 방법은"μ„ μ–Έ"κ³Ό"ν• λ‹Ή"의 두 μ˜μ—­μœΌλ‘œ κ΅¬λΆ„λœλ‹€.
  • λ³€μˆ˜μ˜ μ„ μ–Έ
    ➑ 선언은 λ°μ΄ν„°ν˜•κ³Ό μ‚¬μš©ν•˜κ³ μž ν•˜λŠ” λ³€μˆ˜μ˜ 이름을 μ •ν•œ 수,
    μ„Έλ―Έμ½œλ‘ (;)으둜 ν•œ 라인을 μ’…λ£Œ
       λ°μ΄ν…¨ν˜• λ³€μˆ˜μ΄λ¦„;         ->         int num;
       (numμ΄λΌλŠ” 그릇에 intν˜•μ‹μ˜ κ°’λ§Œ λ“€μ–΄κ°ˆμˆ˜μžˆκ²Œ μ„€μ •)
  • λ³€μˆ˜μ˜ ν• λ‹Ή
    ➑ μ„ μ–Έλœ λ³€μˆ˜μ— μ›ν•˜λŠ” 값을 λ°μž…ν•˜λŠ” κ³Όμ •
    ➑ κ°’μ˜ λŒ€μž…μ€ λŒ€μž…μ—°μ‚°μž(=)λ₯Ό μ‚¬μš©ν•˜μ—¬ μš°λ³€μ—μ„œ μ’Œλ³€μœΌλ‘œ λŒ€μž…λœλ‹€.
       λ³€μˆ˜μ΄λ¦„ = κ°’;       ->        num = 100;
       (numμ΄λΌλŠ” 그릇에 100μ΄λΌλŠ” 값을 λ„£λŠ” λ‹€κ³  생각)
  • μ„ μ–Έκ³Ό ν• λ‹Ήμ˜ 톡합
		λ°μ΄ν„°ν˜• λ³€μˆ˜μ΄λ¦„ = κ°’;      ->      int num2 = 200;
  • λ¬Έμžμ—΄ 데이터
    ➑ Stringν˜•μ˜ λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜κ³ , μŒλ”°μ˜΄ν‘œλ‘œ 묢인 값을 λŒ€μž…ν•œλ‹€.
    ➑ 빈 λ¬Έμžμ—΄μ΄λ‚˜ 곡백도 λ¬Έμžμ—΄ 데이터이닀.
     String msg = "μ•ˆλ…•ν•˜μ„Έμš”.       μžλ°”";
	➑ λ¬Έμž₯을 ν‘œν˜„(곡백 포함)
     String blank = "";
	➑ 빈 λ¬Έμžμ—΄ κ°’
     String age = "20";
	➑ μˆ«μžκ°’μ΄ μŒλ”°μ˜΄ν‘œλ‘œ λ¬Άμ˜€λ‹€λ©΄ λ¬Έμžμ—΄μ΄λ‹€.
  • λ¬Έμžμ—΄ λ°μ΄ν„°μ˜ λ§μƒ˜
    ➑ λ¬Έμžμ—΄ + λ¬Έμžμ—΄ : 두 λ¬Έμž₯을 ν•˜λ‚˜λ‘œ 합쳐쀀닀.
	String language = "JA" + "VA"
  	➑JAVA
  • λ¬Έμžμ—΄ + κΈ°λ³Έμžλ£Œν˜•
    ➑ κΈ°λ³Έ μžλ£Œν˜•μ˜ 데이터가 λ¬Έμžμ—΄λ‘œ λ³€ν™˜λ˜κ³ , 두 λ¬Έμž₯이 합쳐진닀.
       int age = 20;
       String name = "μžλ°”ν•™μƒ";
       String result = name + age;
	➑ "μžλ°”ν•™μƒ" + 20
	➑ "μžλ°”ν•™μƒ20"
  • λ³€μˆ˜ μ΄λ¦„μ˜ λͺ…λͺ… κ·œμΉ™
    ➑ λ³€μˆ˜ 이름은 영문, 숫자, "_", "$" 만 μ‚¬μš©κ°€λŠ₯
    ➑ λ³€μˆ˜ μ΄λ¦„μ˜ 첫 κΈ€μžλŠ” 숫자둜 μ‹œμž‘λ  수 μ—†λ‹€.
    ➑ λŒ€/μ†Œλ¬Έμžλ₯Ό μ—„κ²©ν•˜κ²Œ ꡬ뢄, μ˜€νƒ€μ— 주의
    ➑ μžλ°”μ—μ„œ μ‚¬μš©ν•˜λŠ” μ˜ˆμ•½μ–΄ (ν‚€μ›Œλ“œ)λ₯Ό μ‚¬μš©ν•  수 μ—†λ‹€. (public, static, voidμ΄λŸ°κ²ƒλ“€)
    ➑ 클래슀 μ΄λ¦„μ˜ λͺ…λͺ… κ·œμΉ™λ„ λ³€μˆ˜ μ΄λ¦„μ˜ κ·œμΉ™κ³Ό λ™μΌν•˜λ‹€.

6. λ³€μˆ˜μ˜ ν• λ‹Ή

  • long, float, double은 λ‹€λ₯Έ 데이터 ν˜•κ³Όμ˜ ꡬ별을 μœ„ν•΄
    κ°’ 뒀에 데이터 ν˜•μ˜ 첫 κΈ€μžλ₯Ό μ ‘λ―Έμ‚¬λ‘œ κ°€μ§ˆ 수 μžˆλ‹€.
    μ ‘λ―Έμ‚¬λŠ” λŒ€/μ†Œλ¬Έμžλ₯Ό 가리지 μ•Šμ§€λ§Œ 가급적 λŒ€λ¬Έμžλ‘œ μ‚¬μš©ν•˜λŠ” 것이 μ’‹λ‹€.
   long money =  500000000L;(가독성을 μœ„ν•΄ 보톡 λŒ€λ¬Έμžλ‘œν•¨)
   float Pi = 2.14F;
   double lat - 128.32452D;
  • boolean은 true(μ°Έ), fales(거짓) μ€‘μ˜ ν•œ κ°€μ§€λ§Œ κ°–λŠ”λ‹€.
   boolean user = true;
   boolean isJapanese = false;
  • charλŠ” ν™‘λ”°μ˜΄ν‘œ('')둜 감싸진 ν•œ κΈ€μžλ§Œ λŒ€μž…ν•  수 μžˆλ‹€.
	char first = '졜';

7. κ°’μ˜ ν• λ‹Ή 방법

  • μƒμ„±λœ λ³€μˆ˜λŠ” λ‹€λ₯Έ λ³€μˆ˜μ— λŒ€μž…λ  수 μžˆλ‹€.
   int num1 = 100;
   int num2 = num1;
  • λ°˜λ³΅ν•˜μ—¬ λ‹€λ₯Έ 값이 할당될 수 μžˆμ§€λ§Œ, 선언은 쀑볡 λΆˆκ°€
   int num1 = 100;
   num1 = 200;		// 100없어지고 200이 듀어감
   int num1 = 300;		//μ—λŸ¬ -> λ˜‘κ°™μ€ μ΄λ¦„μœΌλ‘œ λ§Œλ“œλŠ” κ±°λ‚˜ λ‹€λ¦„μ—†μŒ
  • μ„ μ–Έλ˜μ§€ μ•Šμ€ λ³€μˆ˜λŠ” μ‚¬μš©ν•  수 μ—†λ‹€.
   int num1 = 100;
   num1 = 200;
   num2 = 300;		//μ—λŸ¬ -> num2λŠ” μ„ μ–Έ λ˜μ§€ μ•ŠμŒ
  • 값이 λŒ€μž…λ˜μ§€ μ•Šμ€ λ³€μˆ˜λŠ” λ‹€λ₯Έ λ³€μˆ˜μ— λŒ€μž…ν•˜κ±°λ‚˜ 좜λ ₯ν•  수 μ—†λ‹€.
   int num1;
   int num2 = num1;	//μ—λŸ¬ -> num1의 값이 ν• λ‹Ήλ˜μ§€ μ•ŠμŒ
   System.out.println(num1);	//μ—λŸ¬ -> num1의 값이 ν• λ‹Ήλ˜μ§€ μ•ŠμŒ

8. μƒμˆ˜ = λ³€ν•˜μ§€ μ•ŠλŠ” 수

  • λ³€μˆ˜μ™€ λ§ˆμ°¬κ°€μ§€λ‘œ λ©”λͺ¨λ¦¬μƒμ— μ‘΄μž¬ν•˜μ§€λ§Œ, 값이 변경될 수 μ—†λŠ” 데이터
  • final ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ μ„ μ–Έλœ λ³€μˆ˜λŠ” μƒμˆ˜λ‘œ μƒμ„±λœλ‹€.
   final int AGE = 20;
   final long MONEY = 1200000000L;
   final float PI = 3.14F;
  • λ©”λͺ¨λ¦¬μƒμ— 이름이 μƒμ„±λ˜λ―€λ‘œ 접근은 κ°€λŠ₯ν•˜μ§€λ§Œ, ν• λ‹Ήν•œ 값을 λ³€κ²½ν•  μˆ˜λŠ” μ—†λ‹€(읽기 μ „μš©)
   final int AGE = 20;
   AGE = 21;		//μ—λŸ¬ ->μƒμˆ˜λ³€κ²½ λΆˆκ°€

암묡적인 λ£° - μƒμˆ˜λ‘œ μ„ μ–Έλœ λ³€μˆ˜λŠ” λŒ€λ¬Έμžλ‘œ μ„ μ–Έν•œλ‹€.

------2023. 01. 26. λ‚΄μš© μΆ”κ°€

9.λ³€μˆ˜μ˜ λ²”μœ„(=λ³€μˆ˜μ˜ μŠ€μ½”ν”„)

  • μžμ‹ λ³΄λ‹€ ν•˜μœ„ λΈ”λ‘μœΌλ‘œλŠ” μΉ¨νˆ¬ν•  수 μžˆλ‹€.

    - μ‚¬μš© κ°€λŠ₯ 예

	int num = 100;
	if ( num == 100){
		System.out.println(num)
	{

- μ‚¬μš© κ°€λŠ₯ 예

	int num = 100;
	for( int i= 0;, i<10; i++){
		System.out.println(num + i);
	}
  • μžμ‹ μ΄ μ„ μ–Έλœ 블둝 λ°–μœΌλ‘œλŠ” λΉ μ Έλ‚˜κ°ˆ 수 μ—†λ‹€.
  • μ‚¬μš© λΆˆκ°€λŠ₯ 예
	int = 100;
	if( num == 100){
		int result = num + 100
	}
	System.out.println(result);  
	//λ³€μˆ˜ resultκ°€ if블둝 μ•ˆμͺ½μ—μ„œ 선언됐기 λ•Œλ¬Έμ— 블둝 λ°–μ—μ„œ μ‚¬μš© λΆˆκ°€

- μ‚¬μš© λ·Έκ°€λŠ₯ 예

	for (int i =0; i<10; i++){
		....
	}
	System.out.println(i);
	//λ§ˆμ°¬κ°€μ§€λ‘œ iκ°€ forλ¬Έ λΈ”λ‘œ μ•ˆμͺ½μ—μ„œ 선언됐기 λ•Œλ¬Έμ— 블둝 λ°–μ—μ„œ μ‚¬μš© λΆˆκ°€
  • 블둝 μ•ˆμ—μ„œ μ„ μ–Έλœ λ³€μˆ˜λŠ” 블둝 λ°–μ—μ„œ μ‘΄μž¬ν•˜λŠ” λ™μΌν•œ μ΄λ¦„μ˜ λ³€μˆ˜μ™€λŠ” μ΄λ¦„λ§Œ 동일할 뿐, λ‹€λ₯Έ κ°’μœΌλ‘œ μΈμ‹λœλ‹€.
	int target = 100;
	if( target == 100 ){			//if 블둝 μ•ˆμ—μ„œμ˜ num
		int num = target + 100;
	} else {				//else 블둝 μ•ˆμ—μ„œμ˜ num
		int num = target - 100;
	}

πŸ”Ή μ†ŒμŠ€νŒŒμΌ ꡬ문 뢄석

  • μ†ŒμŠ€λŠ” λΈ”λ‘κ°„μ˜ μ€‘μ²©μœΌλ‘œ κ΅¬μ„±λœλ‹€.
  • ν•˜λ‚˜μ˜ 블둝 = {...}
  • λΈ”λ‘μ•ˆμ— λͺ…μ‹œλ˜λŠ” λͺ…λ Ήμ–΄λŠ” μ„Έλ―Έμ½œλ‘ (;)으둜 λ¬Έμž₯의 끝을 ν‘œν˜„ν•œλ‹€.

πŸ”Ή 주석문

  1. μ£Όμ„λ¬Έμ΄λž€?
  • ν”„λ‘œκ·Έλž¨ μ†ŒμŠ€μ½”λ“œ μ•ˆμ— 개발자의 ν•„μš”μ— 따라 λͺ…μ‹œν•˜λŠ” μ„€λͺ…λ¬Έ
  • 주석문은 ν”„λ‘œκ·Έλž¨μœΌλ‘œ 컴파일 λ˜μ§€ μ•ŠλŠ”λ‹€.
  • νŠΉμ • λͺ…령문이 μ‹€ν–‰λ˜μ§€ μ•Šλ„λ‘ μ°¨λ‹¨ν•˜λŠ” μš©λ„λ‘œ μ‚¬μš©ν•  수 μžˆλ‹€.
  1. μ£Όμ„λ¬Έμ˜ μ’…λ₯˜
  • ν•œ μ€„λ§Œ μ²˜λ¦¬ν•˜λŠ” 주석문
  // "//" κ°€ μ•žμ— λͺ…μ‹œλœ 라인은 μ£Όμ„μœΌλ‘œ 인식
  • μ—¬λŸ¬ 쀄을 μ²˜λ¦¬ν•˜λŠ” 주석문
 /* 
  *이 λΈ”λ‘μ•ˆμ—μ„œλŠ” μ—¬λŸ¬ 라인을 μ£Όμ„μœΌλ‘œ 처리 ν•  수 μžˆλ‹€.
  */ 


단좕킀
πŸ”ΈEclipse

  • ctrl + alt + ν™”μ‚΄ν‘œ = 볡사
  • ctrl + space = μžλ™μ™„μ„±

Tip!

  • Syntax errorλŠ” λ¬Έλ²•μ˜€λ₯˜ λœ»ν•¨
  • Java Package μƒμ„±ν• λ•Œ 관둀상 μ†Œλ¬Έμžλ‘œ 생성.
  • Java Class μƒμ„±ν• λ•Œ 첫자 λŒ€λ¬Έμž, 두 단어 합성이면 단어 μ‹œμž‘ κΈ€μž λŒ€λ¬Έμžλ‘œ 생성.
  • μ½”λ“œλŠ” 가독성 있게 μž‘μ„±ν•˜λŠ” 편이 νŽΈν•˜κ³  그런 μ½”λ“œλ₯Ό 클린 μ½”λ“œλΌκ³  ν•œλ‹€.
profile
λ§ˆλΆ€λ¦¬μž…λ‹ˆλ‹€

0개의 λŒ“κΈ€