Java programming

(22.09.30)JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ๊ธฐ๋ณธ ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์‚ฐ์ถœ

ํ”„๋กœ๊ทธ๋ž˜๋จธ ์˜ค์›” 2022. 10. 2.

1.๋ฉ”๋ชจ๋ฆฌ์— ์ •์ˆ˜ ๊ณต๊ฐ„ 2๊ฐœ๋ฅผ ํ™•๋ณดํ•˜์—ฌ ๊ฐ๊ฐ 5,7์„ ๊ธฐ์–ต์‹œํ‚ค๊ณ  ๊ทธ ์ˆ˜์˜ ๋ง์…ˆ์‹์„ ํ™”๋ฉด์— ํ‘œ์‹œํ•ด๋ณด์„ธ์š”.

2.๋ฉ”๋ชจ๋ฆฌ์— ์ •์ˆ˜ ๊ณต๊ฐ„ 2๊ฐœ๋ฅผ ํ™•๋ณดํ•˜์—ฌ ๊ฐ๊ฐ 3.141592, 2.71828์„ ๊ธฐ์–ต์‹œํ‚ค๊ณ  ๊ทธ ์ˆ˜์˜ ๊ณฑ์…ˆ์‹์„ ํ™”๋ฉด์— ํ‘œ์‹œํ•ด๋ณด์„ธ์š”.

3. ๋ฐ˜์ง€๋ฆ„์ด 5.1์ธ ์›์˜ ๋ฉด์ ์„ ๊ตฌํ•˜์—ฌ ํ™”๋ฉด์— ํ‘œ์‹œํ•ด๋ณด์„ธ์š”.

4.๋ฐ˜์ง€๋ฆ„์ด 2.8์ธ ์›์˜ ๋‘˜๋ ˆ๋ฅผ ๊ตฌํ•˜์—ฌ ํ™”๋ฉด์— ํ‘œ์‹œํ•ด๋ณด์„ธ์š”.

์ •์ˆ˜ ํƒ€์ž… ๋ณ€์ˆ˜ int ์™€ ์‹ค์ˆ˜ ํƒ€์ž… ๋ณ€์ˆ˜ double๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ์‚ฐ์ˆ˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์˜€๋‹ค.

 

๋ณด์™„ํ•ด์•ผํ•  ์  ++++) ์ •์ˆ˜ ํฌ๊ธฐ๊ฐ€ ์ž‘์œผ๋ฏ€๋กœ int ๋Œ€์‹ ์— byte ๋ณ€์ˆ˜๋ฅผ ์จ์•ผ ๊ณต๊ฐ„์„ ๋œ์ฐจ์ง€ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ฝ”๋”ฉํ•ด์•ผํ•˜๋Š”๋ฐ, ๋ฌด์˜์‹์ ์œผ๋กœ int๋ฅผ ๋จผ์ € ์ผ๋‹ค. ใ… ,ใ… 

์ €์žฅ๋˜๋Š” ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ์ž˜ ๊ณ ๋ คํ•ด์„œ ๋ณ€์ˆ˜๋ฅผ ์ •ํ•ด์ค˜์•ผ๊ฒ ๋‹ค!

์„œ์‹(format) ๋ฌธ์ž์—ด ์ถœ๋ ฅ System.out.printf("%d +%d =%d \n", b1, b2, b3); printf ์˜ f๋Š” format์˜ f๋‹ค d๋Š” 10์ง„์ˆ˜ ์ •์ˆ˜๋ฅผ ์˜๋ฏธ

float a1 = 3.141592; ๊ฐ€ ์—๋Ÿฌ๊ฐ€ ๋œจ๋Š” ์ด์œ  : ์‹ค์ˆ˜๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— load๋ ๋• ๋ฌด์กฐ๊ฑด 64๋น„ํŠธ๋กœ ๋กœ๋“œ๋˜๊ฒŒ ๋˜์–ด์žˆ๋‹ค. float๋Š” 32๋น„ํŠธ๋ผ์„œ ์—๋Ÿฌ๊ฐ€ ๋œฌ๋‹ค

float a1 = 3.141592 ์˜ ์‹ค์ˆ˜๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— loadํ•  ๋•Œ๋ถ€ํ„ฐ 32๋น„ํŠธ๋กœ ์˜ฌ๋ ค๋‹ฌ๋ผ๊ณ  ํ•˜๊ธฐ ์œ„ํ•ด์„  float a1 = 3.141592F; ๋ผ๊ณ  ํ•˜๋ฉด๋œ๋‹ค.


*2๋ฒˆ ๋ฌธ์ œ๋ฅผ ๋ฌธ์ž์—ด ์ถœ๋ ฅ์œผ๋กœ ์‹์„ ๋‚˜ํƒ€๋‚ธ๋‹ค๋ฉด*

float f3 = 3.141592F;
float f4 = 2.71828F;
float f5 = (f3 * f4);
System.out.printf("%f * %f = %f \n", f3, f4, f5);
์ฝ˜์†” ํ‘œ์‹œ ๊ฐ’:       3.141592 * 2.718280 = 8.539727 
 
*3๋ฒˆ ๋ฌธ์ œ๋ฅผ ๋ฌธ์ž์—ด ์ถœ๋ ฅ์œผ๋กœ ์‹์„ ๋‚˜ํƒ€๋‚ธ๋‹ค๋ฉด* 
float r = 5.1F;
final float pi1 = (float) Math.PI;
//final ์€ ๋ณ€์ˆ˜๊ฐ€ ์•„๋‹Œ ์ƒ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค Constants
System.out.printf("%f * %f * %f= %f \n", r, r, pi1, r*r*pi1);
์ฝ˜์†” ํ‘œ์‹œ ๊ฐ’:    5.100000 * 5.100000 * 3.141593= 81.712822 

๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž(Logical Operator) : &&, ||, &, |, !

&& ๋‹จ์ถ•๋…ผ๋ฆฌ์•ค๋“œ : System.out.println(false && true);

false์™€ &&๋งŒ ๋ณด๊ณ  ๋’ค์— ture๋Š” ํ™•์ธ์กฐ์ฐจ ์•ˆํ•จ ์–ด์ฐจํ”ผ ๊ฐ’์€ false๋กœ ์ •ํ•ด์ ธ ์žˆ์œผ๋‹ˆ๊น

& ๋น„๋‹จ์ถ•๋…ผ๋ฆฌ์•ค๋“œ : false์—ฌ๋„ ๋’ค์— ๊ฐ’๊นŒ์ง€ ํ™•์ธํ•œ๋‹ค.

String uid; // ๋ฌธ์ž์—ด์„ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ์ •๋ณด, ๊ธฐ๋Šฅ์„ ํฌํ•จํ•œ ๊ฐ์ฒด
uid = "smith";
uid.equals("smith"); //uid์— ์žˆ๋Š” ๋ฌธ์ž์—ด๊ณผ ()์•ˆ์— ์žˆ๋Š” ๋ฌธ์ž์—ด์ด ๋™์ผํ•˜๋ฉด true๋ฅผ returnํ•œ๋‹ค.
//equals๋Š” method๋ผ ํ•˜๋ฉฐ ๊ธฐ๋Šฅ์ด๋ผ ํ•œ๋‹ค. uid.equals("smith");๋„ ๋…ผ๋ฆฌ ํ‘œํ˜„์‹์ด๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.
 
boolean logon = uid.equals("smith");
String result = logon ? "๋กœ๊ทธ์ธ ์„ฑ๊ณต" : "๋กœ๊ทธ์ธ ์‹คํŒจ"; //3ํ•ญ์—ฐ์‚ฐ์ž
//์ฒซ๋ฒˆ์งธ ์„นํ„ฐ๋Š” ๋ฌด์กฐ๊ฑด boolean๊ฐ’์ด ๋“ค์–ด๊ฐ€์•ผํ•œ๋‹ค. true๋ฉด ? ๋‹ค์Œ ๊ฑธ ๋ฆฌํ„ดํ•˜๊ณ  false๋ฉด : ๋‹ค์Œ๊ฑธ ๋ฆฌํ„ดํ•œ๋‹ค.
์กฐ๊ฑด์ด 2๊ฐœ ์ผ๋•Œ ์“ด๋‹ค. ex) ํœด์ผ/ํ‰์ผ , ์„ฑ์ธ/๋ฏธ์„ฑ๋…„์ž , ํšŒ์›/๋น„ํšŒ์› , ์—ฌ์ž/๋‚จ์ž
System.out.println(result);
์ฝ˜์†” ํ‘œ์‹œ ๊ฐ’: ๋กœ๊ทธ์ธ ์„ฑ๊ณต
 

char ch, ch2;
// char <- ๋ฐ์ดํ„ฐ ํฌ๊ธฐ์™€ ์ข…๋ฅ˜๋ฅผ ๊ฒฐ์ •ํ•ด์ค€๋‹ค.
ch = 'a'; //" " ์€ ๋ฌธ์ž์—ด ' ' ์€ ๋ฌธ์ž ํ•œ๊ธ€์ž๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค. literal: ์ฝ”๋“œ์—์„œ ๋ฐ์ดํ„ฐ์˜ ์ง์ ‘์ ์ธ ํ‘œํ˜„
//ex) true ํ•˜๋‚˜๋งŒ ์žˆ์œผ๋ฉด boolean literal ์ด์ง€๋งŒ !true , true && true ๋Š” boolean expression (ํ‘œํ˜„์‹)์ด๋ผ ํ•œ๋‹ค.
ch2 = 'z';
 
System.out.printf("%c -> %d, %c -> %d \n" , ch, (int)ch, ch2, (int)ch2);
System.out.println("๊ทธ ์ฐจ์ด๋Š”" + (((int)ch2)-((int)ch)) + "์ž…๋‹ˆ๋‹ค.");

์ฝ˜์†” ํ‘œ์‹œ ๊ฐ’ : a -> 97, z -> 122 
๊ทธ ์ฐจ์ด๋Š”25์ž…๋‹ˆ๋‹ค.


๋ฌด์ž‘์œ„ ์ˆซ์ž ์ถ”์ถœ 

Random rd = new Random();
//                    ^  (์ฐธ์กฐ๋ถ€๋ถ„)  ^
//Random์€ ์ฐธ์กฐํ˜• ๋ณ€์ˆ˜ํ˜•
// ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋• new๋ฅผ ์“ด๋‹ค
//๋™์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น (ํ”„๋กœ๊ทธ๋žจ์ด ์ž‘๋™ํ• ๋•Œ load๋œ๋‹ค.) heap์ด๋ผ๋Š” ์˜์—ญ์— ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ• ๋‹น๋œ๋‹ค.
 
System.out.println( rd );
rd.nextInt(5); //0~4๊นŒ์ง€ ๋‚˜์˜จ๋‹ค
int rdn = rd.nextInt(5);
System.out.println("๋ฌด์ž‘์œ„ ์ถ”์ถœ๋œ ๊ฐ’"+ rdn);

์ฝ˜์†” ๊ฐ’ : ๋ฌด์ž‘์œ„ ์ถ”์ถœ๋œ ๊ฐ’1

 
ํšŒ์›๋ฒˆํ˜ธ 11~20 ์ค‘์—์„œ 3๋ช…์„ ๋ฌด์ž‘์œ„๋กœ ์ถ”์ถœํ•ด๋ผ
int num = rd.nextInt(10)+11;
System.out.println("ํšŒ์›๋ฒˆํ˜ธ ์ถ”์ฒจ"+ num);
์ฝ˜์†” ๊ฐ’: ํšŒ์›๋ฒˆํ˜ธ ์ถ”์ฒจ13

๋ฌด์ž‘์œ„ ์ˆ˜, ํ™€์ˆ˜์ธ์ง€ ์ง์ˆ˜์ธ์ง€ ํŒŒ์•…ํ•˜๊ธฐ

System.out.println(5/2); //๋ชซ ์ •์ˆ˜๋งŒ ๋‚˜์˜ค๋Š” ๋‚˜๋ˆ„๊ธฐ
System.out.println(5%2); //๋‚˜๋จธ์ง€ ์ •์ˆ˜๋งŒ ๋‚˜์˜ค๋Š” ๋‚˜๋ˆ„๊ธฐ
 
/ ๋‚˜๋ˆ„๊ธฐ ์—ฐ์‚ฐ์ž๋Š” ์ •์ˆ˜ ๋‚˜๋ˆ„๊ธฐ ์ •์ˆ˜๋ฅผ ํ•ด์„œ ๋ชซ ๊ฐ’๋งŒ์„ ๋‚˜ํƒ€๋‚ด์ค€๋‹ค.
%๋‚˜๋ˆ„๊ธฐ ์—ฐ์‚ฐ์ž๋Š” ๋‚˜๋ˆ„๊ณ  ๋‚˜์„œ ๋‚˜์˜จ ๋‚˜๋จธ์ง€ ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด์ค€๋‹ค.

 

 

๋ฌด์ž‘์œ„ ์ •์ˆ˜ ์ถ”์ถœํ•˜์—ฌ ๊ทธ์ˆ˜๊ฐ€ ํ™€์ˆ˜์ธ์ง€ ์ง์ˆ˜์ธ์ง€๋ฅผ ๋ฌธ์ž์—ด๋กœ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ž‘์„ฑํ•ด ๋ณด์„ธ์š”.
int x = rd.nextInt(100);
boolean v = ((x%2)==1 );
String result2 = v ? "ํ™€์ˆ˜" : "์ง์ˆ˜";
System.out.printf("%d, %s \n" , x, result2);

์ฝ˜์†” ๊ฐ’ : 90, ์ง์ˆ˜ 

๋…ผ๋ฆฌ ๋ณ€์ˆ˜ ์ ์šฉ๊ณผ ๋‚˜๋จธ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‚˜๋ˆ„๊ธฐ ์ด์šฉ!

 

๋” ์งง๊ฒŒ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•

x = rd.nextInt(100);

System.out.printf("%d, %s \n" , x, x%2==1 ? "ํ™€์ˆ˜" : "์ง์ˆ˜");

 

๋Œ“๊ธ€