<html>
<head>

</head>
<body>
<h1>함수이용</h1>
<ul><h2>내장함수</h2>
<li>alert : 메세지 대화상자 나타내는 함수
<li>confirm : 확인(true반환)/취소(false반환) 버튼있는 대화상자 함수
<li>prompt : 대화상자를 통해 입력받음. ex)prompt("대화상자","기본값");
<li>eval : 수식형태로된 문자열을 숫자로 계산, 문자는 생략됨.
<li>parseInt : 문자열을 정수로 바꿔주는 함수<br>
 ex)parseInt(13.5) -> 13반환, parseInt("101",2) -> 5(이진법->10진법) 반환, parseInt("A") -> NaN 반환
<li>parseFloat : 문자열을 실수로 바꿔주는 함수. ex)parseFloat("10.33") -> 10.33
<li>isNaN : 주어진값이 순수한 문자인지 아닌지 판단함수.<br> isNaN("abc")->true, isNaN("12ab")->true, isNaN("12")->false
<li>escape : ISO-Latin-1 문자셋을 ASCII값출력(특수문자 변환에 사용) ex)escape("?") -> %3F
<li>unescape : escape 반대.. ex)unescape("%3F") -> ?

<br>
<h3>eval 사용예제</h3>
<script type="text/jscript">
var k=eval("23-12+45");
document.write("var k=eval(\"23-12+45\"); "+"k = "+k);

//eval 내용은 안보임
document.write("<br>result = 10*12 "+eval("result = 10*12"));
</script>
<br>
<h3>parseInt 사용예제</h3>
<script type="text/jscript">
document.write("\"1025.5\" : "+parseInt("1025.5"));
document.write("<br>\"1025.5\",16 : "+parseInt("1025.5",16));
document.write("<br>\"A\" : "+parseInt("A"));
</script>
</ul>
<br>
<ul><h2>사용자 정의 함수</h2>
<li>사용자가 특정 기능을 함수로 구현하여 제작할수 있도록 한 함수
<li>함수가 호출되기전에 호출되어야 하므로 대체로 <head> 영역에 기술
<xmp>
[함수정의]
function 함수명([매개변수1], ...)
{
 실행할 명령...
 [return 값]
}
</xmp>
<br>ex) 삼각형 구하기.
<xmp>
<script type="text/jscript">
function tri(fb,fh)
{
 var farea = fb*fh/2;
 return farea;
}

var b = parseInt(prompt("삼각형 밑변은 ?",""));
var h = parseInt(prompt("삼각형 높이은 ?",""));
var area = tri(b,h);
document.write("삼각형 면적은 = "+area);
</script>
</xmp>
<script type="text/jscript">
function tri(fb,fh)
{
 var farea = fb*fh/2;
 return farea;
}

var b = parseInt(prompt("삼각형 밑변은 ?",""));
var h = parseInt(prompt("삼각형 높이은 ?",""));
var area = tri(b,h);
document.write("삼각형 면적은 = "+area);
</script>

</body>
</html>

Posted by 말없제이
,

package ch09;

import java.util.*;

public class Ch0905
{
 public static void main(String[] args)
 {
  Hashtable ht = new Hashtable();
  ht.put("영화","화산고"); //-> ht.get("영화");
  ht.put("게임","부르드워");
  ht.put("소설","이순신");
  String value=(String)ht.get("영화");
  System.out.println("value : "+value);
 }
}

Posted by 말없제이
,

package ch09;

import java.util.*;

public class Ch0904
{
 public static void main(String[] args)
 {
  //Collection인터페이스:
  Vector a=new Vector();
  a.add("Banana");
  a.add("Milk");
  a.add("사이다");
  ArrayList b=new ArrayList();
  b.add("짜장면");
  b.add("스파게티");
  b.add("순대");
  //Collection은 인터페이스이므로 직접 개체생성이 불가능하다...
  //Collection c=new Collection();
  //Vector가 Collection인터페이스를 계승받은 클래스임을 알 수 있다.
  Collection c=a;
  //ArrayList도 Collection인터페이스를 계승받은 클래스임을 알 수 있다.
  Collection d=b;
  //add()나 size()메서드는 Collection인터페이스의 추상메서드이며
  //이를 각각 Vector나 ArrayList의 하위클래스에서 구현한 메서드로
  //짐작할 수 있다...
  c.add("콜라");
  c.size();
  //get메서드를 호출하지 못하는 이유는 get메서드는 추상메서드로
  //하위클래스에서 구현된 메서드가 아니기 때문이다...
  //고로 get을 사용하지 못하니까 for문을 이용한 순차접근이 불가능
  //아래와 같이Iterator인터페이스를 얻어서 Iterator인터페이스에서
  //제공하는 메서드로 값을 접근해야 한다.
  Iterator iter = c.iterator();
  while(iter.hasNext()==true)
  {
   String value = (String)iter.next();
   System.out.println("value"+value);
  }
 
 }
}









Posted by 말없제이
,

package ch09;

import java.util.*;

public class Ch0903
{
 //ArrayList 컬렉션 : Vector와 동일한 기능을 갖는 컬렉션으로
// 메서드 및 사용바업ㅂ과 개념은 동일하지만 Vector이후
// 나온 컬렉션으로 속도가 빨라져 많이 사용되는 배열형 컬렉션
 private ArrayList v = new ArrayList();
 
 public Ch0903()
 {
  // TODO 자동 생성된 생성자 스텁
  save();
  load();
 }

 public void load()
 {
  for(int i=0;i<v.size();i++)
  {
   Car car = (Car)v.get(i);
   System.out.println(car.getOwner());
   System.out.println(car.getName());
   System.out.println("--------------");
  }
 }
 
 public void save()
 {
  Car car = new Car();
  car.setOwner("홍길동");
  car.setName("번개차");
  v.add(car);
  car = new Car(); //뒤에가면 jsp에서 많이 나오는 방법.
 
  car.setOwner("전우차");
  car.setName("소방차");
  v.add(car);
  car = new Car();
 
  car.setOwner("손오공");
  car.setName("구름차");
  v.add(car);
  car = new Car();
 }
 
 public static void main(String[] args)
 {
  new Ch0903();
 }
 
}

Posted by 말없제이
,

package ch09;

public class Car
{
 //캡슐화(속성==프로퍼티) : 멤버변수의 직접적인
 //접근을 금지하고 멤버변수에 대한 값의 대입
 //참조는 오로지 멤버함수만을 경유하여 접근하도록
 //설계하는 것은 전슐화에 입각해서 설계한다고 한다.
 
 private String owner;
 private String name;
 /**
  * @return name
  */
 public String getName() {
  return name;
 }
 /**
  * @param name 설정하려는 name
  */
 public void setName(String name) {
  this.name = name;
 }
 /**
  * @return owner
  */
 public String getOwner() {
  return owner;
 }
 /**
  * @param owner 설정하려는 owner
  */
 public void setOwner(String owner) {
  this.owner = owner;
 }
 
 
}

Posted by 말없제이
,

캡슐화.

DevTool/Java 2009. 6. 8. 17:53

package ch09;

public class Car
{
 //캡슐화(속성==프로퍼티) : 멤버변수의 직접적인
 //접근을 금지하고 멤버변수에 대한 값의 대입
 //참조는 오로지 멤버함수만을 경유하여 접근하도록
 //설계하는 것은 전슐화에 입각해서 설계한다고 한다.
 
 private String owner;
 private String name;
 /**
  * @return name
  */
 public String getName() {
  return name;
 }
 /**
  * @param name 설정하려는 name
  */
 public void setName(String name) {
  this.name = name;
 }
 /**
  * @return owner
  */
 public String getOwner() {
  return owner;
 }
 /**
  * @param owner 설정하려는 owner
  */
 public void setOwner(String owner) {
  this.owner = owner;
 }
 
 
}

Posted by 말없제이
,

package ch08;

//winform시.....
import javax.swing.*;

public class Ch0812
{
 public static void main(String[] args)
 {

  String h="Hello";
  String p="Programming";
  String j="Java";
  //Hello 문자열을 h로 치환.
  //변수 p를 사용한 형태로 고쳐라.
  //변수 j를 사용한 형태로 고쳐라.
  //Hello \"Java\" 'Programming' World
  //String a=("Hello Java Programming World").replace("Hello", h).replace("Programming", "'"+p+"'").replace("Java","\""+j+"\"");
  String a=h+(" \""+j+"\" '"+p+"' World");
  System.out.println("resultA : "+a);
 
  //방법1. hello를 먼저 붙인다. 별도로 치환시킴..
  //String a=h+(" \""+j+"\" '"+p+"' World");
 
  //방법2. printf..  console지향... 플레폼지향을 버려야함.
  System.out.printf("%s \"%s\" '%s' World",new Object[] {h,p,j});
 
  //방법3. String.format 사용..  단점 숫자가 들어가면 복잡해짐.
  String c=String.format("%s \"%s\" '%s' World %d",new Object[] {h,p,j,new Integer(1)});
  JOptionPane.showMessageDialog(null,c);
 }
}

Posted by 말없제이
,

Random 클래스

DevTool/Java 2009. 6. 8. 17:52

package ch08;

import java.util.*;

public class Ch0811
{
 public static void main(String[] args)
 {
  //Random : 일명 주사위와 같은 형태로 난수를 발생시키는
  //메서드를 가지고 있는 클래스.
  Random a  = new Random();
  //nextInt()는 정수형의 범위내에서 임의의 난수를
  //정수로 변환하는 메서드임.
  int result = a.nextInt();
  System.out.println("result : "+result);
  result = a.nextInt(6);
  System.out.println("주사위 : "+result);
 }

}

Posted by 말없제이
,

Math 클래스..

DevTool/Java 2009. 6. 8. 17:52

package ch08;

public class Ch0810
{
 public static void main(String[] args)
 {
  //Math클래스 역시 사실 그대로의 진리를 가르키는 것이 대부분
  //Calendar클래스처럼 주요 메서드는
  //정적메서드로 구성되어 호출할 수 있다.
  //짧게하고만 넘어감..
  int a=Math.abs(-100);
  System.out.println(a);
 
 }
}

Posted by 말없제이
,

**** car.java *****

package ch08;


public class Car
{

 public String name;
 
 private static Car instance=new Car();
 
 public static Car getIntance() {return instance;}
}

****** CH0809.java *****
package ch08;

public class Ch0809
{
 public static void main(String[] args)
 {
  Car carA = Car.getIntance();
  carA.name="소나타";
  Car carB = Car.getIntance();
  System.out.println(carB.name);
 }
}

Posted by 말없제이
,