728x90
Random: 임의의 값을 발생시켜주는 클래스
Random r = new Random();

Method

int nextInt() : 임의의 정수 난수 발생
int nextInt(int n) : 0 부터 n 사이의 정수 난수 발생

boolean nextBoolean() : 임의의 논리형 난수 발생
float nextFloat() : 0.0 부터 1.0 사이의 float형 난수 발생
double nextDouble() : 0.0 부터 1.0 사이의 double형 난수 발생

Math.random() : 0.0보다 크고 1.0보다 작은 난수 발생
Math.random()*나올수 있는 경우의 수(큰수 - 작은수 + 1) + 나올수 있는 가장 작은수


import java.util.*;

class RandomTest
{
 public static void main( String [] args )
 {
  Random r = new Random();
  int i = r.nextInt();
  System.out.println("임의의 정수 "+i);
  
  int i2 = r.nextInt(100);
  System.out.println("0과 100사이의 임의의 정수"+i2);
  
  float f = r.nextFloat();
  System.out.println("임의의 float형 실수값 :" + f);
  
  double d = r.nextDouble();
  System.out.println("임의의 double형 실수값 :" +d);
  
  for(int k = 1 ; k <=6 ; k++)
  {
   System.out.println(Math.random()*6+1);
  }
  
 }// end main
}

728x90
  ==              ->   레퍼런스 비교
  equals       ->   문자열 비교
  instanceof  ->   객체비교

class Test
{
 int value;
 public Test(int value)
 {
  this.value = value;
 }
}

class EqualsTest
{
 public static void main( String [] args )
 {
  Test t1 = new Test(10);
  Test t2 = new Test(10);
  
  if(t1.equals(t2)) //객체의 주소값을 비교
  {
   System.out.println("t1과 t2는 같습니다.");
  }else
  {
   System.out.println("t1과 t2는 다릅니다.");
  }
  
  System.out.println(t1);
  System.out.println(t2);
  
  t2 = t1;
  
  if(t1.equals(t2)) //문자열 비교
  {
   System.out.println("t1과 t2는 같습니다.");
  }else
  {
   System.out.println("t1과 t2는 다릅니다.");
  }
  
  System.out.println(t1);
  System.out.println(t2);
 }// end main
}



Test  t1  =  new  String("new");       ==>    new  가 출력
Test  t2  =  new  Test(10);              ==>    t2 객체의 주소값을 출력

String 클래스 객체는 객체의 주소값을 갖는게 아니라 문자열 자체를 갖는다.
왜냐면.. 자주 쓰기때문에 편의를 위해서 자바 자체적으로 요로케 만들어 놨음.

1 .  String aa ="aaa";
2 .  String aa = new String("aaa");      둘중에 뭐가 편한가?

class Car
{
 int velocity;  //속도를 정수형으로
 int wheelNum;  // 바퀴수를 정수형으로
 String carName;  // 차의 이름을 String클래스로 선언
 
 public Car(int speed, String name, int wheel)
 {
  velocity = speed;
  carName = name;
  wheelNum = wheel;
 }
 
 public boolean equals(Object ob)  //문자열 비교
 {
  Car c = (Car)ob;
  if((carName == c.carName) && (wheelNum == c.wheelNum) && (velocity == c.velocity))
  {
   return true;
  }else
  {
   return false;
  }
 }
 
 public String toString()  //오버라이딩
 {
  String s = "이 차는 "+carName+"이고 바퀴가 " + wheelNum +"개이고 ,현재 속도는 "+ velocity;
  return s;
 }
 
 public static void main( String [] args )
 {
  Car c1,c2;
  c1 = new Car(100,"소나타",4);
  c2 = new Car(100,"소나타",4);
  System.out.println(c1.toString());
  System.out.println(c2.toString());
  
  if(c1 == c2)  //객체 주소값 비교
  {
   System.out.println("레퍼런스 같음");
  }else
  {
   System.out.println("레퍼런스가 틀림");
  }
  
  if(c1.equals(c2))  //String 클래스의 문자열 객체는 주소값이 갖는게 아니라 문자열 자체를 같는다.. 자바특성..
                           // 그래서 문자열 비교를 하게된다.  하지만 이 예제는 equals가 오버라이딩 되어있다...
  {
   System.out.println("객체의 내용이 같네요");
  }else
  {
   System.out.println("겍체의 내용이 틀리네요");
  }
  
 }// end main
}
728x90

 


Calendar는 추상클래스.. 객체생성 X

Calendar.getInstance() 는 현재시간(시스템에 설정된 시간)을 갖는 Calendar 객체를 반환

import java.util.*;

class CalendarTest
{
 public static void main( String [] args ) 
 {
  Calendar cal = Calendar.getInstance(); // 객체 생성
 
  int year = cal.get(Calendar.YEAR);
  int month = cal.get(Calendar.MONTH);
  int day = cal.get(Calendar.DATE);
 
  int h = cal.get(Calendar.HOUR);
  int m = cal.get(Calendar.MINUTE);
  int s = cal.get(Calendar.SECOND);
 
  System.out.println(year+ "년 " + (++month) + "월 " +day + "일 " +h+"시 " +m+"분 "+s+"초 ");
  //월은  1월이 0 으로 처리 한다.  12월은 11로... 그래서 +1 해야됨..
 
  System.out.println("오늘은 올해의 " +cal.get(Calendar.DAY_OF_YEAR)+"번째 날 입니다");
  System.out.println("오늘은 이번주의" +cal.get(Calendar.DAY_OF_WEEK)+"번째 날 입니다");
  System.out.println("오늘은 올해의"+cal.get(Calendar.WEEK_OF_YEAR)+"번째 주 입니다");
 }// end main
}


Date or Time Component Presentation Examples
G Era designator Text AD
y Year Year 1996; 96
M Month in year Month July; Jul; 07
w Week in year Number 27
W Week in month Number 2
D Day in year Number 189
d Day in month Number 10
F Day of week in month Number 2
E Day in week Text Tuesday; Tue
a Am/pm marker Text PM
H Hour in day (0-23) Number 0
k Hour in day (1-24) Number 24
K Hour in am/pm (0-11) Number 0
h Hour in am/pm (1-12) Number 12
m Minute in hour Number 30
s Second in minute Number 55
S Millisecond Number 978
z Time zone General time zone Pacific Standard Time; PST; GMT-08:00
Z Time zone RFC 822 time zone -0800

import java.util.*; //Date
import java.text.*; //SimpleDateFormat을 사용할려고
// java.sql 에도 data가 있어서.. 혼돈을 피하기 위해
class DateTest
{
 public static void main( String [] args )  
 {
  java.util.Date date = new java.util.Date();// 객체생성
  System.out.println(date);//default 는  미국식으로 출력된다.
  
  SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); //월은 대문자...MM
  System.out.println(sdf1.format(date));
  
  SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy년 MM월 dd일");
  System.out.println(sdf2.format(date));
  
  SimpleDateFormat sdf3 = new SimpleDateFormat("H시mm분ss초 EEEE");
  System.out.println(sdf2.format(date)+" "+ sdf3.format(date)+" "); 
  

 }// end main
 

}

728x90

 


Hashtable : 검색이 용이하다.
   
 Key  Value
 "id"  "Object"

Method

  put(key, vlaue)  //Hashtable에서 값을 넣음
  get(key)            //Hashtable에서 값을 가져옴

  int size()  Hashtable의 key갯수 얻기
  boolean contains(Object obj) throws NullPointException  : Hashtable 에 Obj가 포함되어있는가? 
                                                                                                있으면 true 없으면 false 를 리턴
  boolean containsKey(Object key)   : Hashtable 에 key필드가 포함되어 있으면 true를 리턴
  boolean containsValue(Object value)    :  Hashtable에 value가 있으면 true를 리턴


import java.util.*;
class HashtableTest_1
{
 public static void main( String [] args )
 {
  Hashtable ht = new Hashtable();
  ht.put("id","kim");   //  kim을 String 으로 입력해도  객체로 저장됨.
  ht.put("pwd","123");
  ht.put("addr","서울 특별시 노원구 공릉동");
  
  System.out.println(ht.get("id"));
  System.out.println(ht.get("pwd"));
  System.out.println(ht.get("addr"));
  
  Hashtable ht2 = new Hashtable();
  ht2.put("one",new Integer(1));  //값을 객체로 넣어야 되니까..Wrapper쓴다.
  ht2.put("two",new Integer(2));
  ht2.put("three",new Integer(3));

  Integer I3 = (Integer)ht2.get("three");
  System.out.println(I3.toString());
 }// end main
 

}

+ Recent posts