Java programming

(22.10.05)JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ : ๋ฐ˜๋ณต๋ฌธ (for, while ), ์กฐ๊ฑด๋ฌธ(if,while), ์ œ์–ด๋ฌธ ์‹ค์Šต

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

๋ฐ˜๋ณต๋ฌธ๊ณผ ์กฐ๊ฑด๋ฌธ์„ ์ด์šฉํ•œ ๋‚œ์ˆ˜ ์ถ”์ถœ

 

*1~20์‚ฌ์ด์˜ ์ •์ˆ˜๋ฅผ ๋ฌด์ž‘์œ„๋กœ ์ถ”์ถœํ•˜์—ฌ ํ™€์ˆ˜๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๋งŒ ํ™”๋ฉด์— ํ‘œ์‹œํ•˜๊ธฐ (random ํด๋ž˜์Šค ์ด์šฉ, while ์กฐ๊ฑด๋ฌธ ์ด์šฉ)

*์ด10๊ฐœ์˜ ํ™€์ˆ˜๊ฐ€ ํ™”๋ฉด์— ํ‘œ์‹œ๋˜๋„๋กํ•˜๊ธฐ

 

import java.util.Random;
public class ControlStatement {
	public static void getOdd10()
	{
		Random ran = new Random();
		int cnt = 0;
		boolean go = true;
		while(go)
		{
			int r = ran.nextInt(20)+1; 
			// 0๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ran.nextInt(20) ์•„๋‹Œ  ran.nextInt(20)+1 ์™€์•ผํ•œ๋‹ค.
			if(r%2==1)
			{
				System.out.println(r+ " ");
				cnt++;
				if(cnt==10) 
				{
					go = false;
				}
			}
		}
	}
}

break ๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ํ‘œํ˜„ํ•˜๋ฉด boolean ์‹์„ ๋”ฐ๋กœ ์“ฐ์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

import java.util.Random;
public class ControlStatement {
	public static void getOdd10()
	{
		Random ran = new Random();
		int cnt = 0;
		while(true)
		{
			int r = ran.nextInt(20)+1; 
			if(r%2==1)
			{
				System.out.println(r+ " ");
				cnt++;
				if(cnt==10) 
				{
					break;
				}
			}
		}
	}
}

์ฝ˜์†” ๊ฐ’:



13 

13 
11 
15 


13 

 


for ๋ฌธ

import java.util.Random;
public class ControlStatement {
	public static void getOdd10()
	{
		for(int i=0, b=10;i<10;i++, b--)
		{
			(//true๋ฉด ์‹คํ–‰ํ•  ์‹คํ–‰๋ฌธ)
		}
	}
}

while๋ฌธ์€ ํƒˆ์ถœ์กฐ๊ฑด์„ ์‹คํ–‰๋ฌธ ์•ˆ์— ๋„ฃ์–ด์„œ ์„ ์–ธํ•ด์•ผํ–ˆ์ง€๋งŒ for๋ฌธ์€ ์„นํ„ฐ ์•ˆ์—์„œ ๋‹ค ํ•  ์ˆ˜ ์žˆ๋‹ค.

(๋ณ€์ˆ˜ ์„ ์–ธ; ์กฐ๊ฑด์‹; ์ฆ๊ฐ์‹)

ํ˜•ํƒœ๋กœ ๋งŽ์ด ์“ด๋‹ค.

 

 

* for๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ 10๋ถ€ํ„ฐ 1๊นŒ์ง€ ์ˆซ์ž ์ค‘์—์„œ ์ง์ˆ˜๋งŒ ํ‘œ์‹œํ•ด ๋ณด์„ธ์š”.

public class ControlStatement {
	public static void getOdd10()
	{
		for(int i=2;i<11;i++, i++)
		{
			System.out.println(i);
			
		}
	}
}

์ฝ˜์†” ๊ฐ’:

2
4
6
8
10

 

๊ฐ์†Œ์‹๊ณผ if๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„ํ•˜๋ฉด

public class ControlStatement {
	public static void getOdd10()
	{
		for(int i=10;i>0;i--)
		{
			if(i%2==0)
			{
				System.out.println(i);
			}
		}
	}
}

์ฝ˜์†” ๊ฐ’:

10
8
6
4
2


*ํ‚ค๋ณด๋“œ์—์„œ ์ •์ˆ˜๋ฅผ ๋ฐ›์•„์„œ ํ•ด๋‹น ์ˆ˜์˜ ๊ตฌ๊ตฌ๋‹จ์„ ํ‘œ์‹œํ•ด๋ณด์„ธ์š” (for๋ฌธ ์ด์šฉํ•˜๊ธฐ)

import java.util.Scanner;
public class ControlStatement {
	public static void fortest()
	{
		Scanner scan = new Scanner(System.in);
		System.out.println("๊ตฌ๊ตฌ๋‹จ ๋‹จ์ˆ˜๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.");
		for(int x = scan.nextInt(), r=1;r<10;r++)
		{
			String ggd = String.format("%d * %d = %d", x, r, x*r);
			System.out.println(ggd);
		}
	}
}

์ฝ˜์†” ๊ฐ’:

๊ตฌ๊ตฌ๋‹จ ๋‹จ์ˆ˜๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.
5
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45


์ค‘์ฒฉ for 

for๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ์†Œ์ˆ˜(prime number)๋ฅผ ์ฐพ์œผ์„ธ์š”.

public class ControlStatement {
	public static void fortest()
	{
		for(int r =2 ;r<=100;r++)
		{
			boolean prime = true;
			for(int v=2;v<r;v++)
			{
				if(r%v==0)
				{
					prime = false;
					break;
				}
			
			}
			if(prime)
			{
				System.out.println(r+" ");
			}
		}		
	}
}

์ฝ˜์†” ๊ฐ’:





11 
13 
17 
19 
23 
29 
31 
37 
41 
43 
47 
53 
59 
61 
67 
71 
73 
79 
83 
89 
97 

 

์ง€์—ญ๋ณ€์ˆ˜ : local variable

{ } ๋‚ด์— ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” { }ํ•ด๋‹น ์ง€์—ญ์—์„œ๋งŒ ์‚ฌ์šฉํ•˜๊ณ  { } ๋ฅผ ๋ฒ—์–ด๋‚˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์‚ฌ๋ผ์ง„๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class ControlStatement {
    public static void fortest()
    {
        boolean prime = true;
        for(int r =2 ;r<=100;r++)
        {
            prime = true;
            for(int v=2;v<r;v++)
            {
                if(r%v==0)
                {
                    prime = false;
                    break;
                }
            }
            if(prime)
            {
                System.out.println(r +" ");
            }
        }        
    }
}
cs
 
boolean ๋ณ€์ˆ˜ ์„ ์–ธ์„ for๋ฌธ ๋ฐ–์—์„œ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•ด ์คฌ์œผ๋ฉด, prime์ด ๊ณ„์† false๊ฐ€ ๋˜์ง€ ์•Š๊ฒŒ ๋‘๋ฒˆ์งธ for๋ฌธ ์ „์— prime์„ ๋‹ค์‹œ true๋กœ ์ง€์ •ํ•ด์ค˜์•ผํ•œ๋‹ค.

์ง€์—ญ๋ณ€์ˆ˜๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ €์žฅ๋˜๋Š” ๊ณต๊ฐ„์„ ์Šคํƒ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์•„๋ž˜์—์„œ ์Œ“์ด๋ฉด์„œ, ์œ„ ๋ถ€ํ„ฐ ์‚ฌ๋ผ์ง€๋Š” ๊ตฌ์กฐ์ด๋‹ค.


* ์ค‘๋ณต for๋ฌธ์„ ์ด์šฉํ•˜์—ฌ 2~5๋‹จ๊นŒ์ง€ ํ‘œ์‹œ

์˜ˆ์‹œ 2*1=1 3*1=3 4*1=4 5*1=5

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class ControlStatement {
    public static void fortest()
    {
        String ggd = null;
        for(int i = 1; i<=9;i++)
        {
            for(int j =2; j<=5;j++)
            {
                
                ggd = String.format("%d * %d = %d \t", j, i, j*i);
                System.out.print(ggd);
            }
            System.out.println();
        }
    }
}
cs

์ฝ˜์†” ๊ฐ’:

2 * 1 = 2  3 * 1 = 3  4 * 1 = 4  5 * 1 = 5 
2 * 2 = 4  3 * 2 = 6  4 * 2 = 8  5 * 2 = 10 
2 * 3 = 6  3 * 3 = 9  4 * 3 = 12  5 * 3 = 15 
2 * 4 = 8  3 * 4 = 12  4 * 4 = 16  5 * 4 = 20 
2 * 5 = 10  3 * 5 = 15  4 * 5 = 20  5 * 5 = 25 
2 * 6 = 12  3 * 6 = 18  4 * 6 = 24  5 * 6 = 30 
2 * 7 = 14  3 * 7 = 21  4 * 7 = 28  5 * 7 = 35 
2 * 8 = 16  3 * 8 = 24  4 * 8 = 32  5 * 8 = 40 
2 * 9 = 18  3 * 9 = 27  4 * 9 = 36  5 * 9 = 45 

 

println : ์ถœ๋ ฅํ•˜๊ณ  ์ค„๋ฐ”๊พธ๊ธฐ

print : ๊ทธ๋ƒฅ์ถœ๋ ฅํ•˜๊ธฐ

\t : ํ•˜๋‚˜ ์ถœ๋ ฅํ•˜๊ณ  tabํ•œ ๋’ค ์ถœ๋ ฅ


์ œ์–ด๋ฌธ : break , continue

break : ๋ฐ˜๋ณต๋˜๋Š” ์‹คํ–‰๋ฌธ์—์„œ๋งŒ ์“ฐ์ธ๋‹ค. (switch, while, do~while, for)

continue : ๋ฃจํ”„๋กœ ๋Œ์•„๊ฐ€์„œ ๋˜ ์‹คํ–‰ํ•˜๋ผ

 

 

*๊ตฌ๊ตฌ๋‹จ 5๋‹จ์„ ํ‘œ์‹œํ•˜๋Š”๋ฐ, ๋ฌด์ž‘์œ„๋กœ ์„ ํƒ๋œ ์ˆ˜์˜ ๊ณฑ์…ˆ์€ ์ œ์™ธํ•œ๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.Random;
public class ControlStatement {
    public static void fortest()
    {
        Random ran = new Random();
        int r = ran.nextInt(9)+1;
        for(int x = 1;x<=9;x++)
        {
            if(x==r)
            {
                continue;
            }
            System.out.printf("%d * %d = %d \n"5, x, 5*x);
        }
    }
}
cs

์ฝ˜์†” ๊ฐ’:

5 * 1 = 5 
5 * 2 = 10 
5 * 3 = 15 
5 * 4 = 20 
5 * 5 = 25 
5 * 6 = 30 
5 * 7 = 35 
5 * 9 = 45 

 

์ฝ˜์†” ๊ฐ’์„ ๋ณด๋ฉด ๋ฌด์ž‘์œ„๋กœ 8์ด ์ œ์™ธ๋œ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

continue ์ œ์–ด๋ฌธ ๋•Œ๋ฌธ์— printf๊นŒ์ง€ ๋„๋‹ฌํ•˜์ง€ ์•Š๊ณ  ๋‹ค์‹œ for ๋ฃจํ”„ ์ฒ˜์Œ์œผ๋กœ ๊ฐ„๋‹ค.


do~while ๋ฐ˜๋ณต๋ฌธ

while ๋ฌธ ํŠน์ง•

1         while(์‹คํ–‰์กฐ๊ฑด)

2         {

3                 (์‹คํ–‰๋ฌธ);

4          }

์‹คํ–‰์กฐ๊ฑด์ด true๋ฉด ์‹คํ–‰๋ฌธ์„ ์‹คํ–‰ํ•˜๋Š” while ๋ฌธ์€ ์‹คํ–‰ ์กฐ๊ฑด์ด ์ฒ˜์Œ๋ถ€ํ„ฐ false๋ฉด ์‹คํ–‰๋ฌธ๊นŒ์ง€ ๋„๋‹ฌํ•  ์ˆ˜ ์—†์–ด์„œ ์—๋Ÿฌ๊ฐ€ ๋‚˜์˜จ๋‹ค.(๋ณ€์ˆ˜ false ์ œ์™ธ)


 

do~while ๋ฌธ ํŠน์ง•

1         do{

2                 (์‹คํ–‰๋ฌธ)

3          }

4          while(์‹คํ–‰์กฐ๊ฑด);

์‹คํ–‰์กฐ๊ฑด์ด ๋‹น์—ฐํ•˜๊ธฐ์—, ์ฒซ๋ฒˆ์งธ ์‹คํ–‰๋ฌธ์„ ์‹คํ–‰์‹œํ‚ค๊ณ  ๊ทธ๋‹ค์Œ ์‹คํ–‰์กฐ๊ฑด์œผ๋กœ ๊ฐ€์„œ ๋‹ค์‹œ do๋กœ ๋Œ์•„๊ฐ€๋Š” ๋ฐ˜๋ณต์„ ํ•œ๋‹ค.


์ž๋ฃŒํ˜•์€ : ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น๋Ÿ‰ ํฌ๊ธฐ์™€ ์ข…๋ฅ˜์„ ์ •ํ•ด์ค€๋‹ค.

* "Hello" ๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•œํ–‰์— ํ•œ ๋ฌธ์ž์”ฉ ํšจ์‹œํ•˜์—ฌ ์ˆ˜์ง์œผ๋กœ ์ถœ๋ ฅํ•˜๊ธฐ

1
2
3
4
5
6
7
8
9
10
11
public class APIClassTest {
    public static void main(String[] args) {
        String s = "Hello";
        forint i=0;i<5;i++)
        {
            System.out.println(s.charAt(i));
        }
 
    }
 
}
cs

์ฝ˜์†” ๊ฐ’:

H
e
l
l
o


String.lengh : ์ŠคํŠธ๋ง ํด๋ž˜์Šค ์•ˆ์˜ ๋ฌธ์ž์—ด ๊ธธ์ด๋ฅผ ์•Œ์•„๋‚ด๋Š” ๊ธฐ๋Šฅ

.strip() :์ขŒ์šฐ ๊ณต๋ฐฑ์€ ์—†์•ค๋‹ค.

 

*ํ‚ค๋ณด๋“œ์—์„œ ๋ฐ›์€ ๋‹จ์–ด๋ฅผ ๋‹จ์–ด ์ˆ˜๋ฅผ ๋งํ•˜๊ณ  ๋‹จ์–ด ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ์„ธ๋กœ๋กœ ๋‚˜ํƒ€๋‚ด๋ผ.

 
1
2
3
4
5
6
7
8
9
10
11
12
13
import java.util.Scanner;
public class APIClassTest {
    public static void main(String[] args) {
        Scanner kbd = new Scanner(System.in);
        System.out.println("๋‹จ์–ด๋ฅผ ์ ์œผ์„ธ์š”");
        String s = kbd.nextLine().strip();
        System.out.printf("%s ๋ฌธ์ž์ˆ˜๋Š” %d \n", s, s.length());
        for(int i=0;i<s.length();i++)
        {
            System.out.println(s.charAt(i));    
        }
    }
}
cs

์ฝ˜์†” ๊ฐ’:

๋‹จ์–ด๋ฅผ ์ ์œผ์„ธ์š”
smith
smith ๋ฌธ์ž์ˆ˜๋Š” 5 
s
m
i
t
h

******************

for๋ฌธ์—์„œ

์ผ๋‹จ ํ”„๋กœ๊ทธ๋žจ ๋กœ์ง๊ณผ ๊ด€๊ณ„์—†์ด ์—๋Ÿฌ๋Š”
์ŠคํŠธ๋ง ๊ธธ์ด๋ฅผ ์ดˆ๊ณผํ•ด์„œ ์ ‘๊ทผํ•ด์„œ ๋‚œ๋‹ค.

๋งŒ์•ฝ "abc"๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๊ธธ์ด๋Š” 3์ด๊ณ  abc๋Š” 0๋ฒˆ, 1๋ฒˆ, 2๋ฒˆ์˜ ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผํ• ์ˆ˜ ์žˆ๋Š”๋ฐ

for ์—์„œ <= ์—ฐ์‚ฐ์ž๋ฅผ ์“ฐ๋‹ˆ ์—๋Ÿฌ๊ฐ€ ๋‚˜๋‹ˆ <๋กœ ๋ฐ”๊พธ๋ฉด ๋œ๋‹ค.


Array(๋ฐฐ์—ด): ๋‹จ์ˆœํ•œ ํ˜•ํƒœ์˜ ์ž๋ฃŒ๊ตฌ์กฐ (Data structure)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class ArrayTest 
{
    public static void main(String[] args) 
    {
        int[] nums; 
        //๋ฐฐ์—ด๋ณ€์ˆ˜ ์ƒ์„ฑ  "int[]" ์ „์ฒด๊ฐ€ ์ž๋ฃŒํ˜•์ด๋‹ค. ๋ชจ๋“  ์ฐธ์กฐํ˜• ๋ณ€์ˆ˜๋Š” 4๋ฐ”์ดํŠธ์ด๋‹ค.
        nums = new int[5];
        //์ƒˆ๋กœ์šด ๋™์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ์—ฐ์‚ฐ์ž = new
        //์ •์ˆ˜ 5๊ฐœ๋ฅผ ์ €์žฅํ•  ์ƒˆ๋กœ ํ• ๋‹น ํ•ด๋‹ฌ๋ผ (๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น)
        nums[0]=3//์›์†Œ ์ดˆ๊ธฐํ™”
        nums[1]=4;
        nums[2]=5;
        nums[3]=6;
        nums[4]=7;
        System.out.println(nums);
    }
}
cs

์ฝ˜์†” ๊ฐ’:

[I@3d012ddd

 

@๋Š” ์ž๋ฐ”์˜ ์ฃผ์†Œ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. 16์ง„์ˆ˜ : 0~9 +abcdef 

๋Œ“๊ธ€