[Day8] Java 8 [8/18]
1. ์ ๊ทํํ์ (regex)
String regex = [ํน์ ๋ฌธ์]
String regex = "100|[1-9]?\\d"; // 100 ํน์ 1~9๊ฐ 0๋ฒ ํน์ 1๋ฒ ๋ฐ์ + 1~9 = 0~99
char grade;
Scanner scanner = new Scanner(System.in);
int count = 0;
String strGrade;
String regex = "[์์ฐ๋ฏธ์๊ฐ]"; // "์" || "์ฐ" || "๋ฏธ" ~
// [0-9] == [0123456789]
do {
if( count != 0 ) System.out.printf("(์๋ฆผ) %d๋ฒ ์ค์ : ์
๋ ฅ์ด ์๋ชป๋์์ต๋๋ค. \n", count);
//
if ( count == 5 ) {
System.out.println("\t ํ๋ก๊ทธ๋จ ์ข
๋ฃ!!!");
// break; // ์ ์ด๋ฌธ ๋น ์ ธ๋๊ฐ. do~ while
// return ; // main () .๋น ์ ธ๋๊ฐ == ํ๋ก๊ทธ๋จ ์ข
๋ฃ
System.exit(-1); // exit() ํ๋ก๊ทธ๋จ ์ข
๋ฃํ๋ ํจ์ ( ๊ธฐ์ต )
}
System.out.print("> ๋ฑ๊ธ ์
๋ ฅ(์,์ฐ,๋ฏธ,์,๊ฐ) ? ");
strGrade = scanner.next();
count++;
} while ( !strGrade.matches(regex) );
grade = strGrade.charAt(0);
System.out.println( grade );
2. ๋ฉ์๋ (ํจ์)
1) ์ ์ : ํ๋ก๊ทธ๋๋ฐ์์ ๋ฐ๋ณต๋๋ ๋ช ๋ น์ด ๋ณ๋๋ก ๋ฌถ์ด์ ํ์ํ ๋๋ง๋ค ๋ถ๋ฌ์ ์ฌ์ฉํ ์ ์๋๋ก ํ ๊ฒ
2) ๊ตฌ์กฐํ ํตํด [๊ฐ๋ ์ฑ, ์ ์ง๋ณด์ ํธ๋ฆฌ]
3) ์ฌ์ฌ์ฉ ํตํด [์ฑ๋ฅ ํฅ์]
4) ์ ์ธํ์
[์ ๊ทผ์ง์ ์] [๊ธฐํ์ ์ด์] ๋ฆฌํด์๋ฃํ ํจ์๋ช
( [ ๋งค๊ฐ๋ณ์... ]){
*
* // ํ๊ณ ์ ํ๋ ์ฝ๋ฉ
* // ํ๊ณ ์ ํ๋ ์ฝ๋ฉ
* // ํ๊ณ ์ ํ๋ ์ฝ๋ฉ
* // ํ๊ณ ์ ํ๋ ์ฝ๋ฉ
*
* [return ๋ฆฌํด๊ฐ;]
* }
5) ๋ฉ์๋(ํจ์)์ 3๊ฐ์ง ์ดํด
- ๊ธฐ๋ฅ(์ญํ )
- ๋งค๊ฐ๋ณ์
- ๋ฆฌํด๊ฐ(๋ฆฌํด์๋ฃํ)
6) ์ฅ์ :
+ ์ฝ๋๋ ์ค์ด๋ค์ด -> ์ปดํ์ผ ์ฉ๋ ์์์ ธ -> ์คํ ์ฑ๋ฅ ํฅ์
+ ํ์์ ๊ฐ๋ฅ -> ์์ฐ์ฑ ํฅ์ -> ๋งค์ถ ํฅ์
7) ์ฌ๊ทํจ์ (์ด์ฉ์์์ด ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ์์)
์ ์: ์๊ธฐ ์์ ์ ํธ์ถํ๋ ํจ์
3. ์ค๋ฒ๋ก๋ฉ
overloading( ์ค๋ฒ๋ก๋ฉ ) ?
1) ํจ์๋ช ์ด ๊ฐ์ ์ค๋ณต ์ ์ธ๋ ํจ์( ์ค๋ณตํจ์ )
2) ๋์ผํ ํจ์๋ช ์ผ๋ก ์ค๋ณต ์ ์ธํ๋ ๊ฒ์ ์ค๋ฒ๋ก๋ฉ์ด๋ผ๊ณ ํ๋ค.
3) ์กฐ๊ฑด
- ํจ์๋ช ๋์ผ == ์ค๋ณตํจ์
- ๋งค๊ฐ๋ณ์ ๊ฐฏ์, ํ์ ๋ฌ๋ผ์ผ ํ๋ค.
- ๋ฆฌํด์๋ฃํ X
* ํจ์๋ช ๋์ผํ๊ณ ๋งค๊ฐ๋ณ์๊ฐ ๊ฐ์ผ๋ฉด ์ค๋ณตํจ์๋ก ์ ์ธํ ์ ์๋ค.
4. swap
// Call By Value : ๋งค๊ฐ๋ณ์
// Call By Reference : ์ฐธ์กฐ๋ณ์
// Call By Name ๋งค๊ฐ๋ณ์ X ํจ์ ์ด๋ฆ๋ง ๊ฐ์ง๊ณ ํธ์ถํ๋ ๊ฒฝ์ฐ
// Call By Point X
Call by Reference ์ฐธ์กฐํ์ ๋งค๊ฐ๋ณ์ ์ฒ๋ฆฌ. - ๋ฐฐ์ด , ํด๋์ค, ์ธํฐํ์ด์ค
public static void swap( int [] xy ){
int temp = xy[0];
xy[0] = xy[1];
xy[1] = temp;
}
'๐จโ๐ป Web Development > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Day10] Java 10 - ์ง์ ๋ณํ (0) | 2022.09.01 |
---|---|
[Day9] Java 9 - ๋ก๋, ํฉํ ๋ฆฌ์ผ, ์นด๋๋ฒํธ (0) | 2022.09.01 |
[Day7] Java 7 - ๋ฌ๋ ฅ, ๊ตฌ๊ตฌ๋จ (0) | 2022.08.29 |
[Day6] Java 6 - String char๊ฐ ํ์ธ, ์์คํค/์ ๋์ฝ๋ (0) | 2022.08.29 |
[Day5] Java 5 - switch๋ฌธ, Random class (0) | 2022.08.28 |
์ต๊ทผ๋๊ธ