[๊ตฌ๋””์•„์นด๋ฐ๋ฏธ IT๊ตญ๋น„์ง€์›] ์ €๋ฒˆ ์‹œ๊ฐ„์— ๋ฐฐ์šด for๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด๋ณด๊ณ , ํด๋ž˜์Šค์™€ ๋ฐฐ์—ด, ์ฐธ์กฐํƒ€์ž…์˜ ๋ฐฐ์—ด์— ๋Œ€ํ•ด์„œ ๋ฐฐ์šฐ๊ณ  ์ด๋ฅผ ์ด์šฉํ•œ ์‹ค์Šต์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค.


๐Ÿ’ก ์‹ค์Šต (for๋ฌธ, if๋ฌธ)


๐Ÿ“Œ ์•ก์…˜ํŽ˜์ด์ง€์—์„œ ๊ตฌ๊ตฌ๋‹จ ์ถœ๋ ฅํ•˜๊ธฐ

ํผ์—์„œ ๊ตฌ๊ตฌ๋‹จ์„ ์„ ํƒํ•˜๋ฉด ํ•ด๋‹น ๊ตฌ๊ตฌ๋‹จ์ด ์ถœ๋ ฅ๋˜๋Š” ์•ก์…˜ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด๋ณด์•˜๋‹ค.

๐Ÿ“ ์ž‘์„ฑ (1) - guguForm.jsp
(ํผ ํƒœ๊ทธ์ง€๋งŒ for๋ฌธ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด html ํŒŒ์ผ์ด ์•„๋‹ˆ๋ผ jsp ํŒŒ์ผ์—์„œ ์ž‘์„ฑ)

	<h1>๊ตฌ๊ตฌ๋‹จ ์š”์ฒญ</h1>
	<form action="./guguAction.jsp" method="post">
		<div>
			<select name="dan">
				<%
					for(int i=2; i<=9; i=i+1) {
				%>
					<option value="<%=i%>"><%=i%>๋‹จ</option>
				<%
					}
				%>
			</select>
		</div>
		<div>
			<button type="submit">๊ตฌ๊ตฌ๋‹จ ์ถœ๋ ฅ</button>
		</div>
	</form>
  • ๋ฐ˜๋ณต๋˜๋Š” ํƒœ๊ทธ์ธ option์„ for๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
  • select ๊ฐ’์„ ๋ถˆ๋Ÿฌ์˜ค๋ ค๋ฉด: select์— name์„ ์ฃผ๊ณ , option์— value๋ฅผ ์ฃผ์–ด์„œ name์œผ๋กœ ๊ฐ’ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
  • ๊ฐ’์„ ๋„ฃ๋Š” ๊ณณ์— <%=%>๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค!

๐Ÿ“ ๊ฒฐ๊ณผ


๐Ÿ“ ์ž‘์„ฑ (2) - guguAtion.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
	request.setCharacterEncoding("utf-8");
	int dan = Integer.parseInt(request.getParameter("dan"));
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	for(int i=1; i<=9; i=i+1) {
%>
		<div>
			<%=dan%> * <%=i%> = <%=dan*i%>
		</div>
<%
	}
%>
</body>
</html>
  • form ํƒœ๊ทธ์˜ ๊ฐ’์„ ๋ถˆ๋Ÿฌ์˜ฌ๋•Œ ํ•œ๊ธ€์ด๋˜ ์˜์–ด๋˜ post ๋ฐฉ์‹์ด๋ฉด request.setCharacterEncoding("utf-8"); ๋ฅผ ๊ผญ ํ•ด์ค€๋‹ค!
  • int dan = Integer.parseInt(request.getParameter("dan")); : select๋กœ ์„ ํƒํ•œ ๊ฐ’ ๋ถˆ๋Ÿฌ์™€์„œ int ํƒ€์ž…์œผ๋กœ ๋ฐ”๊พธ๊ธฐ

๐Ÿ“ ๊ฒฐ๊ณผ


๐Ÿ“Œ ๋‹ฌ๋ ฅ ๋งŒ๋“ค๊ธฐ (4์›”)

for๋ฌธ๊ณผ if๋ฌธ์„ ์ด์šฉํ•˜์—ฌ 4์›” ๋‹ฌ๋ ฅ์„ ๋งŒ๋“ค์–ด๋ณด์•˜๋‹ค.

๐Ÿ“ ์˜ˆ์ œ

โœ” ๊ตฌํ˜„ํ•ด์•ผํ•  ์ 

  • ์ผ~ํ†  ํ•œ ์ค„์— 7์นธ์”ฉ, 6์ค„ = ์ด 42์นธ ํ•„์š”
  • ์ฒซ์งธ์ฃผ ํ† ์š”์ผ์— 1์ผ ์‹œ์ž‘
  • 1์ผ์˜ ์•ž๊ณผ 30์ผ์˜ ๋’ค๋Š” ๋นˆ์นธ
  • ์ผ์š”์ผ์€ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ์ถœ๋ ฅ

๐Ÿ“ ์ž‘์„ฑ

	<title>23๋…„ 4์›” ๋‹ฌ๋ ฅ</title>
	<style>
		table, th, td {
			border: 1px solid gray;
		}
		table {
			border-collapse: collapse;
			width: 90%
		}
	</style>
</head>
<body>
	<h1>2023.4</h1>
	<table>
		<tr>
			<th>์ผ</th>
			<th>์›”</th>
			<th>ํ™”</th>
			<th>์ˆ˜</th>
			<th>๋ชฉ</th>
			<th>๊ธˆ</th>
			<th>ํ† </th>
		</tr>
	</table>
	
	<table>
		<tr>
		<%
			int minDate = 1;
			int maxDate = 30;
			// td์˜ ์ด ๊ฐฏ์ˆ˜ 42๊ฐœ ํ•„์š”
			for(int i=0; i<42; i+=1) { // i=i+1 == i+=1
				if(i%7 == 0) {
		%>
				</tr><tr> <!-- tr์„ ์ƒˆ๋กœ ์ž‘์„ฑํ•ด์„œ ๊ทธ ๋‹ค์Œ์ค„๋กœ ๋„˜์–ด๊ฐ„๋‹ค -->
		<%
				}
				
				if((i-5) >= minDate && (i-5) <= maxDate) {
					if(i%7 == 0) {  // ๊ณตํœด์ผ์— ์ƒ‰์„ ํ‘œ์‹œํ•˜๋ ค๋ฉด
		%>
						<td style="color:#FF0000;">
							<%=i-5%> <!-- 1์ผ์ด 7๋ฒˆ์งธ์นธ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ i๋ฅผ -5๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค -->
						</td>
		<%
					} else {
		%>
						<td>
							<%=i-5%>
						</td>
		<%
					}
				} else {
		%>
					<td>&nbsp;</td>
		<%
				}
			}
		%>
		</tr>
	</table>
</body>

โญโญโญ

  • for(int i=0; i<42; i+=1) : ํ•„์š”ํ•œ td์˜ ์ด ๊ฐฏ์ˆ˜๋ฅผ ๋จผ์ € ํŒŒ์•…ํ•ด์„œ for๋ฌธ์„ ์ž‘์„ฑํ•œ๋‹ค
  • if(i%7 == 0) : 7์นธ๋งˆ๋‹ค ๋‹ค์Œ์ค„๋กœ ๋„˜์–ด๊ฐ€์•ผํ•˜๋ฏ€๋กœ(tr์ด ํ•„์š”ํ•จ) if๋ฌธ์„ ์ž‘์„ฑํ•œ๋‹ค. </tr><tr> ๋กœ ์ž‘์„ฑํ•˜๋ฉด ๋‹ค์Œ์ค„๋กœ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.
  • <%=i-5%> : ๊ทธ ๋‹ค์Œ td์•ˆ์— ์ถœ๋ ฅ๋  ์ฝ”๋“œ๋ฅผ ์ƒ๊ฐํ•ด๋ณธ๋‹ค. i์ผ๋กœ ํ‘œ์‹œ๋˜๋ฉด ๋˜์ง€๋งŒ, 1์ผ์ด ํ† ์š”์ผ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ i-5๋ฅผ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.
    ๐Ÿง (์ผ -5,์›” -4,ํ™” -3,์ˆ˜ -2,๋ชฉ -1,๊ธˆ 0,ํ†  1) ์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹œ์ž‘์ ์ธ ํ† ์š”์ผ์ด 1์ด ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” -5๋ฅผ ํ•ด์ฃผ์–ด์•ผํ•จ!
  • if((i-5) >= minDate && (i-5) <= maxDate) : 1์ผ์˜ ์•ž๊ณผ 30์ผ์˜ ๋’ค๋Š” ๊ณต๋ฐฑ์œผ๋กœ ์ถœ๋ ฅ๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ if๋ฌธ์„ ์ž‘์„ฑํ•œ๋‹ค. i๊ฐ€ ์•„๋‹ˆ๋ผ i-5์™€ ๋น„๊ตํ•ด์•ผํ•˜๋Š” ๊ฒƒ ์ฃผ์˜!
  • if(i%7 == 0) : 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ 7๋ฒˆ์งธ์— ์ผ์š”์ผ์ด๋ฏ€๋กœ, 7๋กœ ๋‚˜๋ˆ„์–ด ๋‚˜๋จธ์ง€๊ฐ€ 0์ธ ์ผ์š”์ผ์—๋งŒ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด if๋ฌธ์„ ์ž‘์„ฑํ•˜๊ณ  td์— style์„ ์ž‘์„ฑํ•œ๋‹ค.

โญโญโญ

๐Ÿ“ ๊ฒฐ๊ณผ


๐Ÿ“Œ ๋‹ฌ๋ ฅ ๋งŒ๋“ค๊ธฐ (12์›”)

์ด๋ฒˆ์—๋Š” ์ง์ ‘ 12์›” ๋‹ฌ๋ ฅ์„ ๋งŒ๋“ค์–ด๋ณด๋ผ๊ณ  ํ•˜์…จ๋‹ค.

๐Ÿ“ ์˜ˆ์ œ

โœ” ๊ตฌํ˜„ํ•ด์•ผํ•  ์ 

  • ์ผ~ํ†  ํ•œ ์ค„์— 7์นธ์”ฉ, 6์ค„ = ์ด 42์นธ ํ•„์š”
  • ์ฒซ์งธ์ฃผ ๊ธˆ์š”์ผ์— 1์ผ ์‹œ์ž‘
  • 1์ผ์˜ ์•ž๊ณผ 31์ผ์˜ ๋’ค๋Š” ๋นˆ์นธ
  • ์ผ์š”์ผ๊ณผ ํฌ๋ฆฌ์Šค๋งˆ์Šค๋Š” ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ์ถœ๋ ฅ
  • ํ† ์š”์ผ๋„ ํŒŒ๋ž€์ƒ‰์œผ๋กœ ์ž‘์„ฑ ํ•ด๋ณด๊ธฐ!

๐Ÿ“ ์ž‘์„ฑ

	<title>23๋…„ 12์›” ๋‹ฌ๋ ฅ</title>
	<style>
		table, th, td {
			border: 1px solid #000000;
		}
		table {
			border-collapse: collapse;
			width: 90%
		}
	</style>
</head>
<body>
	<h1 style="text-align: center;">2023.12</h1>
	<table>
		<tr>
			<th>์ผ</th>
			<th>์›”</th>
			<th>ํ™”</th>
			<th>์ˆ˜</th>
			<th>๋ชฉ</th>
			<th>๊ธˆ</th>
			<th>ํ† </th>
		</tr>
	</table>
	
	<table>
		<tr>
		<%
			int minDay = 1; // ์ตœ์†Œ๊ฐ’ ์ง€์ •
			int maxDay = 31; // ์ตœ๋Œ€๊ฐ’ ์ง€์ •
			
			for(int i=0; i<42; i+=1) { // ํ•„์š”ํ•œ td ์ด 42๊ฐœ ์ƒ์„ฑ
				if(i%7 == 0) { // 7์นธ๋งˆ๋‹ค ์ค„ ๋ฐ”๊พธ๊ธฐ (tr ์ถ”๊ฐ€)
		%>
					</tr><tr>
		<%
				}
				
				int day = i-4; // 1์ผ ์‹œ์ž‘ ์ง€์ ์„ ๊ธˆ์š”์ผ๋กœ ์„ค์ • (์ผ -4,์›” -3,ํ™” -2,์ˆ˜ -1,๋ชฉ 0,๊ธˆ 1)
				if(day >= minDay && day <= maxDay) { // 1์ผ~31์ผ ์‚ฌ์ด๋งŒ ์ถœ๋ ฅ
					if(day%7 == 3 || day == 25) { // ์ผ์š”์ผ, ํฌ๋ฆฌ์Šค๋งˆ์Šค๋Š” ๋นจ๊ฐ„์ƒ‰
		%>
						<td style="color:red;">
							<%=day%>
						</td>
		<%
					} else if(day%7 == 2) { // ํ† ์š”์ผ์€ ํŒŒ๋ž€์ƒ‰
		%>
						<td style="color:blue;">
							<%=day%>
						</td>
		<%
					} else { // ํ‰์ผ์€ ๊ทธ๋ƒฅ ์ถœ๋ ฅ
		%>
						<td><%=day%></td>
		<%
					}
				} else { // ์•„๋ฌด ์กฐ๊ฑด๋„ ํ•ด๋‹น๋˜์ง€ ์•Š์œผ๋ฉด ๊ณต๋ฐฑ ์ถœ๋ ฅ
		%>
					<td>&nbsp;</td>
		<%
				}
			}
		%>
		</tr>
	</table>

</body>

โญโญโญ

  • int day = i-4; : i-4๋ฅผ day ๋ณ€์ˆ˜๋กœ ๋งŒ๋“ค์–ด๋ณด์•˜๋‹ค.
  • if(day%7 == 3 || day == 25) : i๊ฐ€ ์•„๋‹ˆ๋ผ i-4์ธ day๋ฅผ 7๋กœ ๋‚˜๋ˆ„๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜๋จธ์ง€๊ฐ€ 0์ด ์•„๋‹Œ 3์œผ๋กœ ์ฃผ์–ด์•ผ ์ผ์š”์ผ์ธ 7๋ฒˆ์งธ์นธ์— ํ•ด๋‹น๋  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ 25์ผ ํฌ๋ฆฌ์Šค๋งˆ์Šค๋„ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ์ž‘์„ฑํ•ด์•ผํ•˜๋ฏ€๋กœ ||(or)์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

โญโญโญ

๐Ÿ“ ๊ฒฐ๊ณผ


๐Ÿ’ก ํด๋ž˜์Šค์•ˆ์— ์„ ์–ธ๋œ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ


โญ class์˜ ์—ญํ• 

  • ์‚ฌ์šฉ์ž ์ •์˜ ํƒ€์ž… (์ฐธ์กฐํƒ€์ž…)
  • ๋ฉ”์„œ๋“œ์˜ ์ƒ์ž ์—ญํ• 

๐Ÿ“Œ ๋ฐ์ดํ„ฐ ํƒ€์ž… ํด๋ž˜์Šค

ํŠน์ • ๋ฐ์ดํ„ฐ ํƒ€์ž… (int,char ๋“ฑ..)์„ ์ง€์ •ํ•ด์ฃผ๋Š” ํด๋ž˜์Šค์ด๋‹ค.

๐Ÿ“ ์ž‘์„ฑ (1) - Student.java

package good;

public class Student {
	public int no;
	public int age;
	public String name;
	public char gender;
}
  • class ๋ช…์€ ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘, ํŒจํ‚ค์ง€๋ช…์€ ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘!
  • ๋‹ค์–‘ํ•œ ํƒ€์ž… ์ž‘์„ฑ ๊ฐ€๋Šฅ

๐Ÿ“ ์ž‘์„ฑ (2) - ex1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="good.Student" %> <!-- import๋กœ good(ํŒจํ‚ค์ง€๋ช…) ์ƒ๋žต๊ฐ€๋Šฅ -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	// 1. class๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ํƒ€์ž…์ด๋‹ค
	Student s = null; // ๋ฉ”๋ชจ๋ฆฌ ํ™•๋ณด
	s = new Student(); // ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ธฐํ™”
	// ํ•œ์ค„๋กœ ์“ฐ๋ฉด Student s = new Student();
	
	s.no = 7;
	s.age = 28;
	s.name = "ํ™๊ธธ๋™";
	s.gender = '๋‚จ';
%>
	<div><%=s.name%></div>
</body>
</html>
  • Student S=new Student(); ํ•˜๋ฉด
    S๋ผ๋Š” ๋ณ€์ˆ˜์˜ ์ฐธ์กฐ๊ฐ’ ์•ˆ์— no,age,name,gender ๋ผ๋Š” ์ด๋ฆ„์˜ ์นธ์ด ๊ฐ๊ฐ ์ƒ๊ธฐ๋ฉด์„œ ๊ฐ’์€ ๊ธฐ๋ณธ๊ฐ’์ด ๋“ค์–ด๊ฐ

  • โญ ์ฆ‰, new ์—ฐ์‚ฐ์ž๊ฐ€ ํ•˜๋Š”์ผ์€ ๋ฉ”๋ชจ๋ฆฌ ํ™•๋ณด, ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ธฐํ™”์ž„
    ๊ธฐ๋ณธํƒ€์ž…์€ ์„ ์–ธ๊ณผ ๋™์‹œ์— ํ™•๋ณด๊ฐ€ ๋˜์ง€๋งŒ,
    ์ฐธ์กฐํƒ€์ž…์€ ์ฐธ์กฐ๊ฐ’๋งŒ ํ™•๋ณดํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— new ์—ฐ์‚ฐ์ž๋กœ ๋ฉ”๋ชจ๋ฆฌํ™•๋ณด์™€ ์ดˆ๊ธฐํ™”๊นŒ์ง€ ์‹œ์ผœ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

  • ๋ฉ”๋ชจ๋ฆฌ ํ™•๋ณด์™€ ์ดˆ๊ธฐํ™”๋ฅผ ํ•˜๊ณ  ๋‚˜๋ฉด, s.no = 7; ์ฒ˜๋Ÿผ ๊ฐ๊ฐ ๊ฐ’์„ ๋„ฃ์–ด์„œ ์‚ฌ์šฉํ•œ๋‹ค.

  • ํด๋ž˜์Šค๋Š” ์ฆ‰ ์‚ฌ์šฉ์ž ์ •์˜ ํƒ€์ž…์ด๋‹ค.

  • ๊ฐ์ฒด๊ฐ€ ์žˆ๊ธฐ๋งŒ ํ•˜๋ฉด ๊ฐ์ฒด๊ธฐ๋ฐ˜์–ธ์–ด
    ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด

๐Ÿ“Œ ํด๋ž˜์Šค์•ˆ์— ์„ ์–ธ๋œ ๋ฉ”์„œ๋“œ

ํŠน์ • ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์ง์ ‘ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋ฏธ๋ฆฌ java์—์„œ ๋งŒ๋“ค์–ด์ ธ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋“ค๋„ ์žˆ๋‹ค.

๐Ÿ“ ์ž‘์„ฑ - Function.java

package good;

public class Function {
	public int add(int x, int y) {
		int z = x + y;
		return z;
	}
	
	// ํ˜ธ์ถœ ์‹œ ํ•ด๋‹น ์ž๋ฆฌ์— ๋Œ€์ž…ํ•ด์„œ ๋ฐ‘์˜ ์‹์ด ๊ณ„์‚ฐ๋˜๊ณ  return๊ฐ’์ด ๋ฐ˜ํ™˜๋œ๋‹ค
	// ์ฆ‰, ํ˜ธ์ถœ ํ• ๋•Œ ๋ฉ”์†Œ๋“œ์ด๋ฆ„๊ณผ ๋Œ€์ž…ํ•  ๊ฐ’์„ ๊ฐ™์ด ์ ์–ด์„œ ํ˜ธ์ถœํ•œ๋‹ค ex) f.add(1,2)
	// ํ˜ธ์ถœ ํ• ๋•Œ์—๋Š” ์™ผ์ชฝ์— ๋ณ€์ˆ˜์™€ ํ•จ๊ป˜ ๋Œ€์ž…์—ฐ์‚ฐ์ž๋ฅผ ์ ์–ด์ฃผ์–ด์•ผ return๊ฐ’์ด ๋Œ€์ž…๋˜์–ด ์ •์ƒ์ ์œผ๋กœ ๋ฐ˜ํ™˜๋œ๋‹ค ex) int a = f.add(1,2)
	// ๋Œ€์ž…ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ณ„์‚ฐ์€ ์ œ๋Œ€๋กœ ๋˜์–ด๋„ ์ฐธ์กฐ๊ฐ’๋งŒ ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๊ฐ€ ์•„๋Š” ๋ณ€์ˆ˜์— ๋Œ€์ž…ํ•ด์•ผ ๊ทธ ๊ฐ’์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค
	// void๋Š” return๊ณผ ๋‹ฌ๋ฆฌ ๋Œ€์ž…์—ฐ์‚ฐ์ž๊ฐ€ ํ•„์š” ์—†์Œ (๋ฐ˜ํ™˜๊ฐ’์ด ์—†์–ด์„œ!)

	
	public static int minus(int x, int y) {
		int z = x - y;
		return z;
	}
}
  • x์™€ y์˜ ๊ฐ’์„ ๋”ํ•˜๋Š” ์ผ๋ฐ˜ ๋ฉ”์„œ๋“œ add์™€ x์—์„œ y๋ฅผ ๋นผ๋Š” static ๋ฉ”์„œ๋“œ minus๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.

๐Ÿ“ ์ž‘์„ฑ (2) - ex1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="good.Function" %><!-- import๋กœ good(ํŒจํ‚ค์ง€๋ช…) ์ƒ๋žต๊ฐ€๋Šฅ -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	// 2. ํด๋ž˜์Šค๋Š” ๋ฉ”์„œ๋“œ์˜ ์ƒ์ž
	Function f = new Function();
	int result = f.add(1, 2); // x,y ๊ฐ’์— ์ˆซ์ž ๋Œ€์ž…
							  // ๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑํ•ด์„œ ๊ทธ ์•ˆ์— return ๊ฐ’์„ ๋Œ€์ž…ํ•ด์ฃผ์–ด์•ผ ๊ทธ ๊ฐ’์„ ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
							  // ๋Œ€์ž…ํ•˜์ง€ ์•Š์œผ๋ฉด return๊ฐ’์˜ ์ฐธ์กฐ๊ฐ’๋งŒ ๋‚จ์•„์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ
	
	int k = 7;
	result = f.add(k, 7/3); // ๋Œ€์ž…ํ•  ์ž๋ฆฌ์— ๋ณ€์ˆ˜๋‚˜ ์‹์„ ์จ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค
							// ๋‚˜๋ˆ„๊ธฐ์˜ ๊ฒฝ์šฐ intํƒ€์ž…์ด๊ธฐ ๋•Œ๋ฌธ์— ์ •์ˆ˜๊ฐ’๋งŒ ์‚ฌ์šฉ
							// f.add(7, 2)
	
	int result2 = Function.minus(5,2); // static ๋ฉ”์†Œ๋“œ๋Š” ํด๋ž˜์Šค ์ด๋ฆ„์„ ์ฐธ์กฐํ•ด์„œ ํ˜ธ์ถœํ•œ๋‹ค! new ์—ฐ์‚ฐ์ž ํ•„์š” ์—†์Œ
									   // ์ผ๋ฐ˜ ๋ฉ”์†Œ๋“œ๋Š” ํด๋ž˜์Šค์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…(๊ฐ์ฒด๋ณ€์ˆ˜)์˜ ์ด๋ฆ„์„ ์ฐธ์กฐํ•ด์„œ ํ˜ธ์ถœ
   // result = Function.add(5, 2); // error
   
   // static ๋ฉ”์„œ๋“œ์˜ ์˜ˆ
	double r = Math.random();
%>
</body>
</html>
  • โญ ์ผ๋ฐ˜ ๋ฉ”์„œ๋“œ๋Š” ๋จผ์ € new ์—ฐ์‚ฐ์ž๋กœ ํ˜ธ์ถœํ•˜์—ฌ ๋ฐ์ดํ„ฐ ํƒ€์ž…(๊ฐ์ฒด๋ณ€์ˆ˜)์˜ ์ด๋ฆ„ ์„ ์ง€์ •ํ•ด์ค€๋’ค, ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋„ฃ์œผ๋ฉด ์ด๋•Œ ๊ฒฐ๊ณผ๊ฐ’(return๊ฐ’)์„ ์ €์žฅํ•  ๋ณ€์ˆ˜์— ๋Œ€์ž… ํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค.

  • ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ž๋ฆฌ์— ๋ณ€์ˆ˜๋‚˜ ์‹์„ ์จ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

  • โญ static ๋ฉ”์†Œ๋“œ๋Š” ํด๋ž˜์Šค ์ด๋ฆ„์„ ์ฐธ์กฐํ•ด์„œ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค! ์ฆ‰, new ์—ฐ์‚ฐ์ž๊ฐ€ ํ•„์š” ์—†๋‹ค.

  • ๋‹ค์–‘ํ•œ static ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๊ณ , ์ž๋ฐ”์—์„œ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ ธ์žˆ๋Š” static ๋ฉ”์„œ๋“œ๋„ ์žˆ๋Š”๋ฐ ๊ฐ€์žฅ ์‰ฝ๊ฒŒ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๋Š”์ง€ ๋ณด๋ฉด ๋œ๋‹ค. ํด๋ž˜์Šค๋ช…์„ ์ฐธ์กฐํ•˜๊ธฐ ๋•Œ๋ฌธ (ํด๋ž˜์Šค๋ช…์€ ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘) ์ด๋‹ค.

  • ์ด๋ฏธ ์šฐ๋ฆฌ๊ฐ€ ์„ ์–ธํ•˜์ง€ ์•Š์•„๋„ ์ด๋ฏธ jsp์•ˆ์— ์„ ์–ธ๋˜์–ด์žˆ๋Š” ๊ฐ์ฒด๋“ค์„ ๋‚ด์žฅ๊ฐ์ฒด๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์ด๊ฑด ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•œ๋‹ค. ์•ž์‹œ๊ฐ„๋ถ€ํ„ฐ ์ž์ฃผ ์‚ฌ์šฉํ–ˆ๋˜
    out.print();
    request.getParameter(""); ์ด ๋‚ด์žฅ๊ฐ์ฒด์ด๋‹ค.

๐Ÿ’ก ๋ฐฐ์—ด๊ณผ for๋ฌธ/foreach๋ฌธ

// ๋ฐฐ์—ด : ๋™์ผํ•œ ํƒ€์ž… ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์ฐธ์กฐ ํƒ€์ž…
int[] a = null;
a = new int[3]; // new์—ฐ์‚ฐ์ž๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ํ™•๋ณด, 3๊ฐœ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ํ™•๋ณด
				// ์ด๋ฆ„์€ ์ž๋™์œผ๋กœ 0,1,2๋กœ ์ง€์–ด์ง€๊ณ  ์•ˆ์— ๊ฐ’์€ int์˜ ๊ธฐ๋ณธ๊ฐ’์ธ 0์œผ๋กœ ๋“ค์–ด๊ฐ„๋‹ค
				// a[0]->0, a[1]->0, a[2]->0
	
// ๋ฐฐ์—ด ํ˜ธ์ถœํ•ด์„œ ๊ฐ’ ๋„ฃ๊ธฐ : ์ฐธ์กฐ๋ณ€์ˆ˜[์ธ๋ฑ์Šค]
a[0] = 7;
a[1] = 2;
a[2] = 10;
// a[3] = 1; // ์˜ˆ์™ธ๋ฐœ์ƒ
  • ํ™•๋ณดํ•œ ๊ณต๊ฐ„๋ณด๋‹ค ๋” ๋งŽ์ด ๋ฐฐ์—ด์„ ํ˜ธ์ถœํ•˜๋ฉด ์—๋Ÿฌ๋Š” ๋‚˜์ง€ ์•Š์ง€๋งŒ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

    ํ™•์ธํ•ด๋ณด๋ฉด length(๋ฐฐ์—ด์˜ ๊ธธ์ด)๊ฐ€ ์ดˆ๊ณผ๋˜์—ˆ๋‹ค๋Š” ๋ฌธ๊ตฌ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๋ฌธ๊ตฌ๋Š” ์ฝ˜์†”์ฐฝ์—์„œ๋„ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋ ‡๊ฒŒ ๋ฌธ๊ตฌ๋ฅผ ์ฝ์œผ๋ฉด์„œ ์ž˜๋ชป๋œ ๋ถ€๋ถ„์ด ๋ญ”์ง€ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์„ ์ตํžˆ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

โœ” โญ ๋ฐฐ์—ด - new ์—ฐ์‚ฐ์ž

int[] b = new int[3]; // ํ•œ์ค„๋กœ ์“ฐ๊ธฐ
	
int[] c = new int[]{7,9,10}; // ๊ฐ’ ๋„ฃ๋Š” ๊ฒƒ(์ดˆ๊ธฐํ™”)๊นŒ์ง€ ํ•œ์ค„๋กœ ์“ฐ๊ธฐ
	
int[] d = {8,10}; // ๋” ์งง๊ฒŒ (new ์—ฐ์‚ฐ์ž ์ƒ๋žต)
  • ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ณต๊ฐ„์„ ํ™•๋ณดํ•œ๋‹ค.
  • ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋Š” 0,1,2... ๋กœ ์ž๋™์œผ๋กœ ์ด๋ฆ„์ง€์–ด์ง„๋‹ค.
  • ๊ฐ’์€ ๋ฐ์ดํ„ฐ ํƒ€์ž…์— ๋งž๋Š” ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ž๋™ ์ดˆ๊ธฐํ™”๋œ๋‹ค.

โœ” ๋ฐฐ์—ด - length

// ๋ฐฐ์—ด ์ถœ๋ ฅํ•˜๊ธฐ
out.print(a.length); // length: ๋ฐฐ์—ด์˜ ๊ธธ์ด ์ถœ๋ ฅํ•˜๊ธฐ // 3
  • ๋ฐฐ์—ด์˜ ๊ธธ์ด(์ธ๋ฑ์Šค์˜ ๊ฐฏ์ˆ˜)๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

๐Ÿ“Œ for๋ฌธ / foreach๋ฌธ

๋ฐฐ์—ด๊ณผ for/foreach๋ฌธ์€ ๋–ผ์–ด๋†€ ์ˆ˜ ์—†๋Š” ๊ด€๊ณ„์ด๋‹ค. ๋ฐ˜๋ณต๋ฌธ์€ ํŒจํ„ด์ด ์ค‘์š”ํ•œ๋ฐ, ๋ฐฐ์—ด์˜ ํŠน์„ฑ(๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋Š” 0๋ถ€ํ„ฐ 1์”ฉ์ฆ๊ฐ€) ์ž์ฒด๊ฐ€ ํŒจํ„ด ๊ทธ์ž์ฒด์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋˜ํ•œ, ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— for๋ฌธ์„ ์ž‘์„ฑํ•  ๋•Œ ์ดˆ๊ธฐ๊ฐ’์ธ i๋ฅผ 0๋ถ€ํ„ฐ ์ง€์ •ํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— for๋ฌธ์„ ์ž‘์„ฑํ• ๋•Œ์—๋Š” i๋ฅผ 0์œผ๋กœ ์ง€์ •ํ•ด์„œ ์ž‘์„ฑํ•˜๋Š” ์Šต๊ด€์„ ๋“ค์ด๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

โœ” ๋ฐฐ์—ด ์ˆœ์„œ๋Œ€๋กœ ๋‚˜์—ด๋˜๊ฒŒ ์ถœ๋ ฅํ•˜๊ธฐ

int[] arr = {2,5,7,10}; // length == 4
	<div>
		<%=arr[0] %>
		<%=arr[1] %>
		<%=arr[2] %>
		<%=arr[3] %>
	</div>

์ด๋ ‡๊ฒŒ ์ž‘์„ฑํ•ด๋„ ๋˜์ง€๋งŒ for/foreach๋ฌธ์„ ์ด์šฉํ•˜๋ฉด ๋ฐ˜๋ณต๋˜๋Š” ์ฝ”๋“œ๋ฅผ ๋œ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ“ for๋ฌธ

// for๋ฌธ ์‚ฌ์šฉ, ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋Š” ํŒจํ„ด์„ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ
	for(int i=0; i<arr.length; i+=1) { 
    	<%=arr[i]%>
	}
  • i<4๋„ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ ๋ฐ”๋€Œ๋Š” ๊ฒฝ์šฐ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์žˆ์œผ๋ฏ€๋กœ length ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

๐Ÿ“ foreach๋ฌธ

// foreach๋ฌธ, ๋ฐฐ์—ด์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ฝ๊ธฐ, ์ฆ‰ length๋ฅผ ์•Œ ํ•„์š”๊ฐ€ ์—†์Œ
	for(int n : arr) { 
    // n์— ๋ฐฐ์—ด์˜ ๊ฐ’์„ ์ˆœ์„œ๋Œ€๋กœ ๋Œ€์ž… 
		<%=n %>
	}
  • foreach๋ฌธ์€ ๋ฐฐ์—ด์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ญ‰ ์ฝ์–ด ๋Œ€์ž…ํ•œ๋‹ค. ์•Œ์•„์„œ ๋ณ€์ˆ˜์— ๋ฐฐ์—ด์„ ์ˆœ์„œ๋Œ€๋กœ ๋‹ค ๋Œ€์ž…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— length๋ฅผ ์•Œ ํ•„์š”๊ฐ€ ์—†๋‹ค.

๐Ÿ“ ์ฝ๊ธฐ/์“ฐ๊ธฐ

// for๋ฌธ์€ ์ฝ๊ธฐ์™€ ์“ฐ๊ธฐ ๊ฐ€๋Šฅ
	for(int i=0; i<arr.length; i+=1) {
		arr[i] = arr[i]*10; // ๋ฐฐ์—ด์„ ์ง์ ‘์ ์œผ๋กœ ์ˆ˜์ •๋„ ํ•  ์ˆ˜ ์žˆ๋‹ค
	}
  • for๋ฌธ์€ ์ด๋ ‡๊ฒŒ ์ฝ์–ด์˜ค๋ฉด์„œ ๋ฐฐ์—ด์„ ์ˆ˜์ •๋„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ํ•˜์ง€๋งŒ foreach๋ฌธ์€ ๋ฐฐ์—ด์„ ๋ถˆ๋Ÿฌ๋“ค์ด๊ธฐ๋งŒ ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜์ •์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

  • ์ƒํ™ฉ์— ๋”ฐ๋ผ for๋ฌธ์„ ์ž‘์„ฑํ• ์ง€ foreach๋ฌธ์„ ์ž‘์„ฑํ• ์ง€ ์„ ํƒํ•˜๋ฉด ๋œ๋‹ค.

๐Ÿ’ก ์‹ค์Šต

์ง€๊ธˆ๊นŒ์ง€ ๋ฐฐ์šด ๋‚ด์šฉ์œผ๋กœ ๋‘๊ฐ€์ง€์˜ ์‹ค์Šต์„ ํ•ด๋ณด์•˜๋‹ค.

๐Ÿ“Œ ๋กœ๋˜ ํ”„๋กœ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ

๐Ÿ“ ์ž‘์„ฑ

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
	int[] ball = new int[45]; // ๊ณต 45๊ฐœ ๋งŒ๋“ค๊ธฐ (๊ธฐ๋ณธ๊ฐ’ 0์ธ ์ƒํƒœ)
	for(int i=0; i<ball.length; i+=1){  // ๊ณต์— 1๋ถ€ํ„ฐ 45๊นŒ์ง€์˜ ๊ฐ’ ๋Œ€์ž… (์ˆ˜์ •ํ•ด์•ผ ํ•˜๋ฏ€๋กœ for๋ฌธ ์‚ฌ์šฉ)
		ball[i] = i+1;
	}
	
	// shuffle ๊ณต ์„ž๊ธฐ (swap.jsp ์ฐธ๊ณ )
	for(int i=0; i<100000; i+=1) { // 10๋งŒ๋ฒˆ ์„ž๊ธฐ
		int targetIndex = (int) (Math.random() * 45); // ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค ์ž๋ฆฌ์— ๋“ค์–ด๊ฐˆ 0๋ถ€ํ„ฐ 44๊นŒ์ง€์˜ ๋žœ๋คํ•œ ์ˆซ์ž ๋ฝ‘๊ธฐ
		int temp = ball[0];
		ball[0] = ball[targetIndex];
		ball[targetIndex] = temp;
	}
	
	// ๋””๋ฒ„๊น…, ์ฝ๊ธฐ๋งŒ ํ•˜๋ฉด ๋˜๋ฏ€๋กœ foreach๋ฌธ ์‚ฌ์šฉ, ๋””๋ฒ„๊น…์€ ์ฝ˜์†”์ฐฝ์— ์ถœ๋ ฅ
	for(int n : ball) {
		System.out.print(n+",");
	}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>๋กœ๋˜๋ฒˆํ˜ธ</h1>
	<%
		for(int i=0; i<6; i+=1) {
	%>
			<%=ball[i]%>&nbsp;
	<%
		}
	%>
</body>
</html>

โญโญโญ

  • ๋กœ๋˜ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ทœ์น™ :
    1~45์˜ ์ˆซ์ž๊ฐ€ ๋žœ๋ค์œผ๋กœ 6๊ฐœ๊ฐ€ ์ถœ๋ ฅ๋˜์–ด์•ผ ํ•œ๋‹ค.
  • ๊ทธ๋Ÿฌ๋ฉด ์šฐ์„  ๋นˆ ๊ณต 45๊ฐœ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. (๋ฐฐ์—ด ์‚ฌ์šฉ)
  • ๋นˆ ๊ณต์— 1~45์˜ ์ˆซ์ž๋ฅผ ๋Œ€์ž…ํ•œ๋‹ค. (for๋ฌธ ์‚ฌ์šฉ)
  • ๋งŒ๋“  ๊ณต 45๊ฐœ๋ฅผ ์„œ๋กœ nnn๋ฒˆ(์•„์ฃผ ๋งŽ์ด) ์„ž์–ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. (for๋ฌธ ์‚ฌ์šฉ)
  • ์„ž๊ธฐ = ์„œ๋กœ์˜ ๊ฐ’ ๋ฐ”๊พธ๊ธฐ (๋นˆ๊ณต๊ฐ„ temp๊ฐ€ ํ•„์š”ํ•˜๋‹ค)
	// x์™€ y์˜ ๊ฐ’ ๋ฐ”๊พธ๊ธฐ
	int x = 1;
	int y = 2;
	int temp = 0; // ๋นˆ๊ณต๊ฐ„ ํ•„์š”
	
	temp = y;
	y = x;
	x = temp;
	
	y = x; // ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด x์™€ y์˜ ๊ฐ’์ด ๊ฐ™์•„์ง€๊ธฐ๋งŒํ•จ
	x = y;
  • ๊ณต์„ ์„ž์„ ๋•Œ, ๋žœ๋ค์œผ๋กœ ์„ž์–ด์•ผ ํ•œ๋‹ค. (Math.random() ์‚ฌ์šฉ)
  • ๋‹ค ์„ž์€ ๊ณต์„ 6๊ฐœ ์ถœ๋ ฅํ•œ๋‹ค. (for๋ฌธ ์‚ฌ์šฉ)
  • ์ •์ƒ์ ์œผ๋กœ ์ถœ๋ ฅ๋˜๋Š”์ง€ ํ™•์ธํ•  ๋•Œ์—๋Š” ์ฝ˜์†”์ฐฝ์— ์ถœ๋ ฅํ•˜๋Š” ๋””๋ฒ„๊น… ์ฝ”๋“œ๋ฅผ ์ ๊ทน ์‚ฌ์šฉํ•ด์ฃผ๋ฉด ์ข‹๋‹ค.

โญโญโญ


๐Ÿ“ ๊ฒฐ๊ณผ

์ƒˆ๋กœ๊ณ ์นจ ํ• ๋•Œ๋งˆ๋‹ค ๋žœ๋คํ•œ 6๊ฐœ์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

๐Ÿ“Œ ํ•™์ƒ ๋ชฉ๋ก ๋งŒ๋“ค๊ธฐ

์ฐธ์กฐํƒ€์ž…์˜ ๋ฐฐ์—ด์„ ์ด์šฉํ•˜์—ฌ ํ•™์ƒ ๋ชฉ๋ก์„ ํ‘œ๋กœ ์ถœ๋ ฅํ•ด๋ณด์•˜๋‹ค.


๐Ÿ“ ์ž‘์„ฑ (1) - Member.java

package good;

public class Member {
	public String name;
	public String gender;
	public int birthYear;
	public boolean major; // ์ „๊ณต์œ ๋ฌด
}
  • ๋ฐ์ดํ„ฐ ํƒ€์ž… ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

๐Ÿ“ ์ž‘์„ฑ (2) - memberList.jsp
<<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="good.Member" %> <!-- ํŒจํ‚ค์ง€๋ช… ์ƒ๋žตํ•˜๊ธฐ -->
<%@ page import="java.util.Calendar" %> <!-- ํŒจํ‚ค์ง€๋ช… ์ƒ๋žตํ•˜๊ธฐ -->
<%
	// ๋ฐ์ดํ„ฐ ์ดˆ๊ธฐํ™”
	
	Member[] list = new Member[25]; // Memberํƒ€์ž…(ํด๋ž˜์Šค)์˜ ๋ฐฐ์—ด ์ƒ์„ฑ // null, null
	list[0] = new Member(); // ๊ณต๊ฐ„ ์ƒ์„ฑ
	list[0].name = "๊น€O์ง„"; // class์— ๊ฐ’ ๋„ฃ๋“ฏ์ด ๋งˆ์นจํ‘œ(.) ์ด์šฉ
	list[0].birthYear = 1997;
	list[0].gender = "์—ฌ";
	list[0].major = false;
	.
    .(์ƒ๋žต)
    .
	list[24] = new Member();
	list[24].name = "๊น€Oํ™˜";
	list[24].birthYear = 1994;
	list[24].gender = "๋‚จ";
	list[24].major = true;
%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>memberList.jsp</title>
	<style>
		table, th, td {border: 1px solid #000000; text-align: center;}
		table {border-collapse: collapse;}
		.small {width: 30px; height: 30px;}
	</style>
</head>
<body>
	<h1>ํ•™์ƒ ๋ชฉ๋ก</h1>
	<h3>
		<div>
			์ „์ฒด <%=list.length%>๋ช… <!-- ๋ฐฐ์—ด์˜ ์ „์ฒด ๊ธธ์ด ์ถœ๋ ฅ -->
		</div>
	</h3>
	<table>
		<tr>
			<th>์ด๋ฆ„</th>
			<th>๋‚˜์ด</th>
			<th>์„ฑ๋ณ„</th>
			<th>์ „๊ณต์œ ๋ฌด</th>
		</tr>
		<%
			for(Member m : list) { // list ๋ฐฐ์—ด ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋ฐ˜๋ณต
		%>
				<tr>
					<td><%=m.name%></td>
					<td>
						<%
							Calendar today = Calendar.getInstance(); // ์˜ค๋Š˜ ๋‚ ์งœ ๋ฝ‘๊ธฐ
							int todayYear = today.get(Calendar.YEAR); // ์˜ค๋Š˜ ๋‚ ์งœ์—์„œ ๋…„๋„ ๋ฝ‘์•„์„œ ๋ณ€์ˆ˜์— ๋„ฃ๊ธฐ
							int age = todayYear - m.birthYear; // ํ˜„์žฌ ๋…„๋„ ๋ณ€์ˆ˜ - ํƒœ์–ด๋‚œ ๋…„๋„ = ๋‚˜์ด ๊ณ„์‚ฐ
						%>
						<%=age%>์„ธ
					</td>
					<td>
						<%
							if(m.gender.equals("๋‚จ")) {
						%>
								<img class="small" src="./img/man.jpg">
						<%
							} else {
						%>
								<img class="small" src="./img/woman.jpg">
						<%
							}
						%>
					</td>
					<td>
						<%
							if(m.major == true) {
						%>
								์ „๊ณต
						<% 
							} else {
						%>
								๋น„์ „๊ณต
						<%
							}
						%>
					</td>
				</tr>
		<%
			}
		%>
	</table>
</body>
</html>
  • page import : ํŒจํ‚ค์ง€๋ช… ์ƒ๋žตํ•˜๊ธฐ

  • Member[] list = new Member[25]; : ์ฐธ์กฐ ํƒ€์ž…์˜ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ๋‹ค.

  • <%=list.length%> : ์ „์ฒด ๋ช…์ˆ˜ ์ถœ๋ ฅ

  • for(Member m : list) : ๋‹จ์ˆœ ์ถœ๋ ฅ์ด๊ธฐ ๋•Œ๋ฌธ์— foreach๋ฌธ ์„ ์‚ฌ์šฉ

  • ํ˜„์žฌ ๋…„๋„ ์ถœ๋ ฅํ•˜๊ธฐ

    Calendar today = Calendar.getInstance();
    int todayYear = today.get(Calendar.YEAR);
    int age = todayYear - m.birthYear;

    ์ €๋ฒˆ ์‹œ๊ฐ„์— ๋ฐฐ์šด ์ฝ”๋“œ ์ด์šฉ!

  • if(m.gender.equals("๋‚จ")) : ๊ฐ’์ด ๋ฌธ์ž์—ด์ด๋ฏ€๋กœ equals ์‚ฌ์šฉ

  • ๐Ÿง ๋งŒ์•ฝ์— man.jpg๊ฐ€ ์•„๋‹ˆ๋ผ ๋‚จ.jpg๋กœ ์ €์žฅํ–ˆ๋‹ค๋ฉด, <%=m.gender %>.jpg ์œผ๋กœ ์ž‘์„ฑํ•˜์—ฌ if๋ฌธ ํ•˜๋‚˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ“ ๊ฒฐ๊ณผ



profile
ํ•˜๋ฃจ ํ•œ๊ฑธ์Œ์”ฉ๐Ÿ’ช ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž ๋„์ „๊ธฐ ๐ŸŒฑ๐Ÿ’ป

0๊ฐœ์˜ ๋Œ“๊ธ€