테이블 태그


1. <table>,<tbody>,<tr>,<td> 태그의 조합에 의해 표 형식을 만들 수 있다.


2. 형식

<table>

<tbody>

<tr>  --> 행 역할

<td>콘텐츠</td><td>콘텐츠</td>...  --> 열 역활

</tr>

<tr>

<td>콘텐츠</td><td>콘텐츠</td>...

</tr>

...

</tbody>

</table>


3. 제목 표시하는 경우는 <td> 대신에 <th>을 사용.


예를 들어서, 회원 명단을 테이블 태그로 표현하면


번호 이름    전화번호      이메일         

1    홍길동  010-111-1111  hong@naver.com 

2    김길동  010-222-2222  kim@naver.com  


//Sample08.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>Insert title here</title>

<style type="text/css">

table td, table th  /* 식별자, 식별자는 두 개의 식별자에 동시에 CSS 적용 */ 

{

padding: 5px;

border-right-style: solid; /* 경계선의 모양 지정 속성 */

border-bottom-style: solid; /* 경계선의 모양 지정 속성 */

border-width: 1px; /* 경계선의 굵기 지정 속성 */

border-color: #6980b8; /* 경계선의 색 지정 속성 */

}

</style>

</head>

<body>

<div>

<table cellspacing="4">

<tbody>

<tr>

<th>번호</th>

<th>이름</th>

<th>전화번호</th>

<th>이메일</th>

</tr>

<tr>

<td>1</td>

<td>홍길동</td>

<td>010-111-1111</td>

<td>hong@naver.com</td>

</tr>

<tr>

<td>2</td>

<td>김길동</td>

<td>010-222-2222</td>

<td>kim@naver.com</td>

</tr>

</tbody>

<!--

<tfoot><tr><td style="border:none;">표1. 회원 명단</td></tr> </tfoot>

-->

</table>

</div>

</body>

</html>





입력 폼(Form) 태그


1. <form>, <input>, <select>, <textarea> 태그의 조합으로 입력 인터페이스 구성.


2. <input> 에서 type 속성(text, password, radio, checkbox, file, hidden, submit, reset, button)으로 

여러가지 입력 폼 구성 가능.


3. <select> 태그는 하위 태그로서 <option> 태그를 갖는다.


4. <form> 태그는 <input>,<select>,<textarea>의 부모 태그 역할.


예를 들어, 이름, 전화번호 입력 양식 화면 구성시


<form>

이름 <input type="text">  --> 실행시 텍스트 입력 양식이 된다.

전화번호 <input type="text">

</form>



//Sample09.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>Insert title here</title>


<style type="text/css">


input.style01  /* 특정 태그의 스타일(style) 속성이 style01인 경우에만 속성 적용 */ 

{

}

input:FOCUS { /* 특정 태그에 포커스가 맞춰진 경우만 속성 적용 */

background-color: yellow;

}

}

</style>


</head>

<body>

<div>

<h1>회원가입</h1>

<p>회원가입 안내 문구</p>

<form>

<table>

<tbody>

<tr>

<td>이름</td>

<td><input type="text" class="style01"></td>

</tr>

<tr>

<td>전화번호</td>

<td><input type="text" class="style01"></td>

</tr>

<tr>

<td>성별</td>

<td><input type="radio" name="gender">남자<input type="radio" name="gender">여자</td>

</tr>

<tr>

<td>취미</td>

<td>

<input type="checkbox"> 공부 

<input type="checkbox"> 영화

<input type="checkbox"> 운동

<input type="checkbox"> 독서

</td>

</tr>

<tr>

<td>출신지역</td>

<td>

<select>

<option>서울</option>

<option>부산</option>

<option>인천</option>

<option>대구</option>

</select>

</td>

</tr>

<tr>

<td>자기소개</td>

<td>

<textarea style="width:300px; height:100px;"></textarea>

</td>

</tr>

<tr>

<td></td>

<td><input type="button" value="가입"></td>

</tr>

</tbody>

</table>

</form>

</div>

</body>

</html>








Javascript


1. 자바스크립트는 프로그램 언어의 한 종류. HTML의 태그를 객체로 삼아서 데이터 처리를 하는 프로그램 언어.


2. 변수, 연산자, 제어문, 함수, 배열, 객체 등의 표현이 모두 지원됨.


3. HTML, CSS, Javascript 가 혼용된 형태로 코딩을 해야 함.


4. 형식


<script type="text/javascript">

//자바스크립트 코드 작성

/* 범위 주석 */

</script>


5. 기본 규칙

- 대소문자 구분

- 함수 단위로 코딩

- 함수 영역 내에 있는 코드는 함수 호출시에만 실행됨

- 함수 영역 밖에 있는 코드는 HTML 문서가 브라우저에 로드될 때 실행됨

- 함수 호출은 HTML 에서 이벤트 핸들러(onclick, ...)를 이용함

- HTML 태그를 객체로 접근하기 위해서 document.getElementById("아이디명") 메소드 사용

- document는 내장객체로서 HTML 문서의 body 태그 영역을 지정함

- HTML 태그에서는 id 속성을 지정해서 객체 접근이 가능하도록 함

- 객체로 접근한 후에는 해당 객체가 가지고 있는 여러가지 속성을 자바스크립트에서 사용 가능

- 사용 가능한 속성은 해당 객체의 종류에 따라 다름

- 자바스크립트 내에서만 사용 가능한 여러가지 내장 객체가 지원됨






이벤트 핸들러 테스트


//Script01.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>Insert title here</title>


<script type="text/javascript">

//변수 선언->전역 변수(멤버 변수)

var a = 10;

//함수(메소드) 정의

function myFunc() {

//변수 선언->지역 변수

var b = 20;

var c = 0;

//연산

c = a + b;


//출력->자체 출력문을 사용하지 않고 HTML 객체를 통해서 결과 출력함.

var obj = document.getElementById("result");

obj.innerHTML = "<span style=\"font-size:24pt;\">결과: " + c +"</span>";

}


</script>


</head>

<body>

<div>

<h3>자바스크립트를 이용한 메시지 출력</h3>

<form>

<input type="button" value="함수호출"

onclick="myFunc()">

</form>

<div id="result">결과: </div>

</div>

</body>

</html>






이름, 국어, 영어, 수학을 입력 받아서 총점, 평균 출력


//Script02.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>Insert title here</title>


<style type="text/css">

.score { width:80px; }

</style>


<script type="text/javascript">


function myFunc() {

var nameObj = document.getElementById("name"); 

var korObj = document.getElementById("kor");

var engObj = document.getElementById("eng");

var matObj = document.getElementById("mat");

var tot = parseInt(korObj.value) + parseInt(engObj.value) + parseInt(matObj.value);

var ave = Math.round((tot / 3)*10)/10;

var result = document.getElementById("result");

result.innerHTML = "<span style=\"font-size:14pt;\">이름:"+nameObj.value+", 국어:"+korObj.value+", 영어:"+engObj.value+", 수학:"+matObj.value+", 총점:"+tot+", 평균:"+ave+"</span>";

}

</script>


</head>

<body>

<div>

<h2>총점, 평균 계산</h2>

<h3>입력------</h3>

<form>

이름 <input type="text" id="name" value="">

국어 <input type="text" id="kor" class="score">

영어 <input type="text" id="eng" class="score">

수학 <input type="text" id="mat" class="score">

<input type="button" value="결과"

onclick="myFunc()">

</form>


<h3>출력------</h3>

<div id="result">

<!-- 

<span style="font-size:14pt;">이름:홍길동, 국어:100, 영어:100, 수학:100, 총점:300, 평균:100.0</span>

-->

</div>

</div>

</body>

</html>






문제) 거스름돈을 환폐단위로 구분해서 출력. 자바스크립트 이용.

실행 예)

금액(10~1000) [ 990  ]  [결과]

총액 : 990원

오백원 1개, 백원 4개, 오십원 1개, 십원 4개


//Script03.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>Insert title here</title>


<script type="text/javascript">

function myFunc() {

var moneyObj = document.getElementById("money");


var money = parseInt(moneyObj.value);

var m500, m100, m50, m10;

m500 = parseInt(money / 500); //몫 연산

money = money % 500; //나머지 연산

m100 = parseInt(money / 100);

money = money % 100;

m50 = parseInt(money / 50);

money = money % 50;

m10 = parseInt(money / 10);

var result = document.getElementById("result");

result.innerHTML = "총액 : "+moneyObj.value+"원<br>오백원 "+m500+"개, 백원 "+m100+"개, 오십원 "+m50+"개, 십원 "+m10+"개";

}

</script>


</head>

<body>

<div>

<h2>거스름돈 계산</h2>

<h3>입력 ---------- </h3>

<form>

금액(10~1000)

<input type="text" id="money"> 

<input type="button" value="결과" 

onclick="myFunc()">

</form>

<h3>출력 ---------- </h3>

<div id="result">

<!-- 총액 : 990원<br>

오백원 1개, 백원 4개, 오십원 1개, 십원 4개 -->

</div>

</div>

</body>

</html>






if문


1. 제어문 일종. 조건식 검사를 통해서 조건에 결과에 따라서 실행문 실행을 선택.


2. 형식

if (조건) {

}


if (조건) {

} else {

}


if (조건) {

} else if (조건) {

} else {

}


3. 조건식에 사용되는 관계연산자, 논리연산자는 자바와 동일.


4. 자바스크립트에서는 문자열 비교시 == 연산자 사용함(자바에서는 equals() 메소드 사용).






문제) 세 개의 숫자 중에서 가장 큰 숫자 구하기. 자바스크립트 이용.

실행 예)

숫자1 [XX] 숫자2 [YY] 숫자3 [ZZ]  [결과]


입력 받은 숫자 : XX, YY, ZZ

가장 큰 숫자 :  ZZ


//Script04.html






문제) 비밀번호 입력시 확인 결과 출력. 자바스크립트 이용.

<input type="password"> 태그 이용.

실행 예)


비밀번호(숫자만 입력 가능) [**** ]  [결과]


결과: 암호가 틀렸습니다.


//Script05.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>Insert title here</title>


<script type="text/javascript">


function myFunc() {

var pw = document.getElementById("pw");

var msg = document.getElementById("msg");

msg.style.display = "none";

//정규식(Regular Expression)

//숫자로만 구성되었는지 검사하는 과정

if (pw.value.match(/[^0-9]/)) {

msg.style.display = "inline";

pw.value = "";

pw.focus();

}

var str = "";

if (pw.value == "1234") {

str = "암호가 맞습니다.";

} else {

str = "암호가 틀렸습니다.";

}

var result = document.getElementById("result");

result.innerHTML = str;

}

</script>


</head>

<body>

<div>

<h2>비밀번호 확인</h2>

<h3>입력 ------------------</h3>

<form>

비밀번호(숫자만 입력 가능)

<input type="password" id="pw">

<input type="button" value="결과"

onclick="myFunc()">

<span id="msg" 

style="color:red; display:none;">

숫자만 입력 가능합니다.</span>

</form>

<h3>출력 ------------------</h3>

<div id="result"></div>

</div>

</body>

</html>






문제) 임의의 수를 입력 받아서 3의 배수, 4의 배수로 구분해서 출력. 자바스크립트 이용.

실행 예)

임의의 정수(3 또는 4의 배수)  [3  ] [결과]


입력받은 숫자 : 3

구분 : 3의 배수


//Sample06.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>Insert title here</title>


<script type="text/javascript">


function myFunc() {

var num = document.getElementById("num");

var data = parseInt(num.value);

var msg = document.getElementById("msg");

msg.style.display = "none";

//정규식(Regular Expression)

//숫자로만 구성되었는지 검사하는 과정

if (num.value.match(/[^0-9]/)) {

msg.style.display = "inline";

num.value = "";

num.focus();

}

var str = "";

str += "입력받은 숫자 : " + num.value + "<br>";

if ((data % (3*4)) == 0) {

str += "구분 : 3 또는 4의 배수";

} else if ((data % 3) == 0) {

str += "구분 : 3의 배수";

} else if ((data % 4) == 0) {

str += "구분 : 4의 배수";

}


var result = document.getElementById("result");

result.innerHTML = str;

}

</script>


</head>

<body>

<div>

<h2>배수 확인</h2>

<h3>입력 ------------------</h3>

<form>

임의의 정수(3 또는 4의 배수)

<input type="text" id="num">

<input type="button" value="결과"

onclick="myFunc()">

<span id="msg" 

style="color:red; display:none;">

숫자만 입력 가능합니다.</span>

</form>

<h3>출력 ------------------</h3>

<div id="result"></div>

</div>

</body>

</html>





문제) 임의의 점수를 입력받아서 판정을 출력. 자바스크립트 이용.

입력된 데이터가 숫자인지 검사하는 과정, 0~100 사이의 숫자인지 검사하는 과정 추가.

판정 기준은 

90~100 -> A

80~89 -> B

70~79 -> C

60~69 -> D

0~59 -> F


실행 예)

점수 입력(0~100)  [90  ]  [결과]

입력된 점수 : 90

판정 결과 : A


//Sample07.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>Insert title here</title>


<script type="text/javascript">


function myFunc() {

var num = document.getElementById("num");

var data = parseInt(num.value);

var msg = document.getElementById("msg");

msg.style.display = "none";

//정규식(Regular Expression)

//숫자로만 구성되었는지 검사하는 과정

if (num.value.match(/[^0-9]/) || data>100) {

msg.style.display = "inline";

num.value = "";

num.focus();

} else {

var str = "";

str += "입력된 점수 : " + num.value + "<br>";

str += "판정 결과 : ";

if (data < 60) {

str += "F";

} else if (data < 70) {

str += "D";

} else if (data < 80) {

str += "C";

} else if (data < 90) {

str += "B";

} else {

str += "A";

}

var result = document.getElementById("result");

result.innerHTML = str;

}

}

</script>


</head>

<body>

<div>

<h2>판정 확인</h2>

<h3>입력 ------------------</h3>

<form>

점수 입력(0~100)

<input type="text" id="num">

<input type="button" value="결과"

onclick="myFunc()">

<span id="msg" 

style="color:red; display:none;">

0~100 사이의 숫자만 입력 가능합니다.</span>

</form>

<h3>출력 ------------------</h3>

<div id="result"></div>

</div>

</body>

</html>







문제) 국어, 영어, 수학 점수를 입력 받아서 판정 결과 출력. 자바스크립트 이용.

입력된 데이터가 숫자인지 검사하는 과정, 0~100 사이의 숫자인지 검사하는 과정 추가.


판정 기준은

합격 -> 과목별로 40점 이상이면서, 평균이 60점 이상

과락 -> 과목중에 40점 미만이 있고, 평균은 60점 이상

불합격 -> 평균이 60점 미만


평균이 60점 이상 -> 합격

평균이 60점 미만 -> 불합격


합격 또는 과락 구분은 -> 국어, 영어, 수학 점수가 모두 40점 이상인 확인.


실행 예)

국어(0~100) [XX ]  영어(0~100) [YY ]  수학(0~100) [ZZ  ]  [결과]


입력받은 점수 : 국어 XX, 영어 YY, 수학 ZZ

판정 결과 : 합격



//Sample08.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">

<title>Insert title here</title>


<style type="text/css">

.style01 {

width:80px;

}

</style>


<script type="text/javascript">


function myFunc() {

var kor = document.getElementById("kor");

var korVal = parseInt(kor.value);

var eng = document.getElementById("eng");

var engVal = parseInt(eng.value);

var mat = document.getElementById("mat");

var matVal = parseInt(mat.value);

var msg = document.getElementById("msg");

msg.style.display = "none";

//정규식(Regular Expression)

//숫자로만 구성되었는지 검사하는 과정

if ((kor.value.match(/[^0-9]/) || korVal>100)

|| ((eng.value.match(/[^0-9]/) || engVal>100))

|| ((mat.value.match(/[^0-9]/) || matVal>100))) {

msg.style.display = "inline";

kor.value = "";

eng.value = "";

mat.value = "";

kor.focus();

} else {

var str = "";

str += "입력된 점수 : 국어 "+kor.value+", 영어 "+eng.value+", 수학 "+mat.value+"<br>";

str += "판정 결과 : ";

var ave = (korVal + engVal + matVal) / 3;

if (ave>=60 && (korVal>=40 && engVal>=40 && matVal>=40)) {

str += "합격";

} else if (ave>=60) {

str += "과락";

} else {

str += "불합격";

}

var result = document.getElementById("result");

result.innerHTML = str;

}

}

</script>




</head>

<body>

<div>

<h2>성적 확인</h2>

<h3>입력 ------------------</h3>

<form>

국어(0~100)<input type="text" id="kor" class="style01">

영어(0~100)<input type="text" id="eng" class="style01">

수학(0~100)<input type="text" id="mat" class="style01">

<input type="button" value="결과"

onclick="myFunc()"><br>

<span id="msg" 

style="color:red; display:none;">

0~100 사이의 숫자만 입력 가능합니다.</span>

</form>

<h3>출력 ------------------</h3>

<div id="result"></div>

</div>

</body>

</html>


WRITTEN BY
빨강꼬마

,

CMD HERE 레지스트리 등록 

 - 가고자 하는 폴더에서 우클릭메뉴를 통해 CMD 디렉토리 바로 이동


cmdhere.reg





참고


- 넷빈에서 한 프로젝트내에 두개 이상의 main이 있을 때 특정 .java파일을 실행하기 위해서는 shift + F6 단축키를 사용한다.

- 넷빈에서는 import를 자동으로 하려면 Alt+Enter키를 이용함.

- 키보드에서 받는 데이터는 무조건 String 일수밖에 없음

- 실수형을 계산할때는

int + int = int

int + double = double

형으로 출력되는 것을 기억하여 예를 들어 3을 나누어 주어야 하고 결과값이 실수가 나올수도 있을 경우라고 가정하면

3을 3.0으로 표기하여 코딩하면 올바른 값이 출력될 수 있다.




넷빈 다운로드 및 설치


1. http://www.oracle.com에서 넷빈(NetBeans IDE)다운로드

2. 넷빈에서는 자바 소스코드 작성을 위해서 프로젝트 단위로 생성.

1. New project > Categories: Java > Projects: Java Application
2. Project Name: 프로젝트 이름 입력 > Project Location: 위치지정
3. Create Main Class: 클래스 이름 입력
4. 끝!
5. 편집창에서 자바 소스 코드 입력
6. Run > Run Project (F6)





자바 기본 입출력


1. 표준 출력

프로그램 목적: 외부 데이터 입력 -> 내부적인 가공(연산) -> 결과 출력


표준 출력 스트림인 System.out 필드 -> PrintStream 자료형 반환

PrintStream 클래스의 하위 메소드인 println() 메소드 이용해서 데이터 출력.


예를 들어서,

System.out.println("메세지");

System.out.println(123);


-- 첫글자가 대문자인 단어는 클래스

-- 모든글자가 소문자인 단어는 키워드

-- 데이터 타입형은 클래스도 있고, 키워드도 있고....



println()과 printf()메소드를 자주 사용.

-- ln은 자동줄바꿈.

-- f는 포맷의 의미로 결과 출력시 서식과 함께 출력하고 줄바꿈을 자동으로 하지 않음.


System.out.printf("%s %n","메세지"); -- %s 는 문자 %d 는 숫자 라는 데이터의 서식을 지정

System.out.printf("%d %n",123);      -- %n 은 줄내림



//서식 지정의 예

public class Test05 {


    public static void main(String[] args) {

        System.out.println("hello, java world!");

        

        System.out.printf("%s %n","Hello, Java World!");

        System.out.printf("%s %s %s %n", "Kim", "Hyun", "Wook"); // 서식수에 맞추어 데이터수도 동일하게 

        

        System.out.printf("%d + %d = %d %n", 10, 20, (10+20)); // (x, ....) 안에 x에서는 데이터타입과 함께 화면에

                                                                                     // 그대로 출력할 내용도 함께 직접 쓸수 있음.

        System.out.printf("%d - %d = %d %n", 10, 20, (10-20));

        System.out.printf("%d * %d = %d %n", 10, 20, (10*20));

        System.out.printf("%d / %d = %d %n", 10, 20, (10/20)); // 연산결과가 0이 나오게 됨

        System.out.printf("%d / %.1f = %.1f %n", 10, 20.0, (10/20.0)); // 연산결과가 0.5가 나오게 됨.

    }

}


//결과

hello, java world!

Hello, Java World! 

Kim Hyun Wook 

10 + 20 = 30 

10 - 20 = -10 

10 * 20 = 200 

10 / 20 = 0 

10 / 20.0 = 0.5 




2. 자료형

-> 컴퓨터 내부에서 자료를 취급하는 방법.

-> 기본자료형과 참조형으로 나눈다.


▶ 기본 자료형은 크기가 고정적이고, stack 메모리에서 관리된다. 또한, 요청시 바로 데이터를 받을 수 있다.

- 기본자료형 - 정수형: byte, short, int, long (대표는 int)

                - 실수형: float, double (대표는 double)

- 논리형: boolean

- 문자형: char


-> 문자열은 String 클래스 자료형이다. 문자열은 "ABC"



▶ 참조형은 크기가 가변적이고, heap 메모리에서 관리된다. 또한, 요청시 데이터를 바로 받는 것이 아니라 참조값을 받게된다. 참조값은 실제 데이터를 찾을 수 있는 주소값이다.

- 참조형(가변형) - 배열 참조형

- 클래스 참조형: System, Object, String

- 인터페이스 참조형


메모리형식

Stack: 데이터를 바로 가져올수 있음.(복사의 개념. 원본은 남음). 기본자료형이 저장되는 공간

Heap: 데이터를 바로 가져올수 없으나, 가상의 값(참조값)을 가져올수 있다.(복사의 개념. 원본은 남음) 참조형이 저장되는 공간




3. 표준 입력

-> 키보드로부터 문자열(String 클래스 자료형)(enter를 입력할때까지 입력되는 문자들)을 입력 받을 때 사용

// String strData;    ->   strData로 선언된 변수에 대한 자료형 정의 구문

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String strData = br.readLine();  // 최상단 String strData; 구문을 없애고 strData 변수 앞에 String으로 써줘도 오케이


즉, 자료형 변수 = 데이터;

자료형 변수 = 외부 데이터 입력 구문;

자료형 변수;

변수 = 데이터;

동일하다는 의미임.


-> 변수의 자료형과 데이터의 자료형은 정확하게 일치하는 것이 권장하는 방법.

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader; // import java.io.*; 로 세줄을 하나로 처리할 수 있다.

클래스 선언{

public static void main (String [] args) throws IOException {

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String 변수명 = br.readline();

프로그램 코딩소스~~~ 

.....

}

}


◆ 형광색 부분의 의미 

입력데이터를 받기위해(readline()) 항상 같이 사용해야는 부분으로, 

반드시 import와 throws 구문이 필요함.




//입력부터 처리, 출력 과정을 같이 실행하는 예   //Test06.java

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;


public class Test06 {

    public static void main(String [] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        System.out.print("이름:");

        String strData = br.readLine();

        

        //처리

        String message = String.format("당신의 이름은 %s입니다.", strData);

        

        //출력

        System.out.println(message);

                

    }

}



//결과

이름:kimhw

당신의 이름은 kimhw입니다.






잘못된 산술연산의 예

import java.io.*;


public class Test07 {

    public static void main(String [] args) throws IOException {

       

        //입력

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        System.out.print("국어:");

        String kor = br.readLine();

        

        System.out.print("영어:");

        String eng = br.readLine();

        

        System.out.print("수학:");

        String mat = br.readLine();

                

        //처리

        //총점=국어+영어+수학;

        String tot = kor + eng + mat ;

        

        //출력

        System.out.printf("입력된 데이터는 %s, %s, %s입니다.%n", kor, eng, mat);

        System.out.printf("총점은 %s 입니다.%n", tot);        

        

        

    }

}



//결과

국어:100

영어:90

수학:80

입력된 데이터는 100, 90, 80입니다.

총점은 1009080 입니다.


원인.

변수인 kor, eng, mat의 자료형은 String인 상대에서 + 산술이 이루어 졌기 때문에 "100", "90", "80"으로 컴퓨터가 인식하여

위와 같은 결과가 출력된 것이므로, Integer.parseInt(변수명) 을 통해 int 형으로 변환하여 처리해야 한다.



Integer.parseInt("숫자모양");

>> 스트링형인 것을 숫자로 형변환 시킬수 있음





입력된 숫자 데이터를 형변환하여 숫자로 바꾸는 과정(올바른 산술연산의 예)

-> 외부에서 입력된 데이터는 모두 자료형이 문자열형(String)이므로 필요시 숫자(int)로 변환하려면 Integer.parseInt()메소드를 이용해야 한다.


import java.io.*;


public class Test08 {

    public static void main(String [] args) throws IOException {

                        

        //입력

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        System.out.print("국어:");

        String kor = br.readLine();

        

        System.out.print("영어:");

        String eng = br.readLine();

        

        System.out.print("수학:");

        String mat = br.readLine();

                

        //처리

        //총점=국어+영어+수학;

        

        int tot = Integer.parseInt(kor) + Integer.parseInt(eng) + Integer.parseInt(mat);      

        

        

        //출력

        System.out.printf("입력된 데이터는 %s, %s, %s입니다.%n", kor, eng, mat);

        System.out.printf("총점은 %d 입니다.%n", tot);

                

    }

}




//결과

국어:100

영어:90

수학:80

입력된 데이터는 100, 90, 80입니다.

총점은 270 입니다.






문제) Test08 소스에서 평균 계산해서 출력하는 과정 추가






문제) 현재 원-달러 환율은 1달러에 1119원입니다.

특정 달러 금액을 입력하면 원화금액을 출력하는 프로그램 작성


실행 예)

달러 금액? 10

10 달러 -> 11190원





WRITTEN BY
빨강꼬마

,