package com.list;//Iterartor 인터페이스 사용 (리스트 객체의 요소를 반복자로 접근)

import java.util.ArrayList;
import java.util.List;
import java.util.Iterator;

public class Collections03 {
	public static void main(String[] args) {
		List list = new ArrayList();
		list.add("하나");//String -> Object
		list.add(2);	//Integer -> Object
		list.add(3.42); //Double -> Object
		list.add("넷");
		list.add("five");
		list.add(6);
		
		//Collections 인터페이스 에서 제공하는 iterator() 메서드로 반복자를 구해온다
		Iterator elements = list.iterator();
		while(elements.hasNext())				//요소가 있다면
			System.out.println(elements.next());//요소를 얻어내어 출력
	}
}

하나

2
3.42
five
6

'Java > 중요클래스' 카테고리의 다른 글

Vector클래스 이용과 제네릭표현  (0) 2012.04.11
Vector 클래스 사용  (0) 2012.04.11
ArrayList클래스 사용  (0) 2012.04.11
Calendar 클래스로 달력 만들기  (0) 2012.04.11
Calendar 클래스 사용  (0) 2012.04.11
package com.list; //ArrayList 클래스 사용

import java.util.ArrayList;

class A{
	public String toString(){
		return "A";
	}
}

public class ArrayListTest {
	public static void main(String[] args){
		//기본 적으로 방이 10개가 준비됨
		ArrayList al = new ArrayList();
		
		al.add("박지성"); //String -> object 형변환
		al.add(new Integer(20)); //Integer -> Object
		al.add(new A()); //A -> Object
		//보통 같은형태의 자료형만 보관한다 (편하게 사용하기 위해)
		
		System.out.println(al);
		
		//사용시에는 인덱스를 호출하여 출력
	}
}

[박지성, 20, A]




package com.list;
import java.util.ArrayList;
public class ArrayListTest2 {
	public static void main(String[] args) {
		ArrayList al = new ArrayList();
		al.add("박지성"); //String -> Object
		al.add("김연아");
		al.add("아이유");
		al.add("김정은");

		System.out.println(al);  //단순히 ArrayList를 통해 주소를 호출
		// ArrayList는 객체로 전환해서 주소를 저장하기때문에  다운캐스팅 현변환 
		for(int i=0; i<al.size(); i++){
			String s = (String)al.get(i);  //Object -> String 다운 형변환
			System.out.println(s);
		}
	}
}


[박지성, 김연아, 아이유, 김정은]
박지성
김연아
아이유
김정은



package com.list;//ArrayList 클래스 사용3(오토 박싱)
import java.util.ArrayList;

public class ArrayListTest3 {
	public static void main(String[] args) {
		ArrayList al = new ArrayList();
		//Interger  -> Object
		al.add(new Integer(10));
		al.add(new Integer(20));
		al.add(30);  //int -> Integer ( 오토박싱 ) JDK 5.0

		System.out.println(al);

		for(int i=0; i<al.size(); i++){
			Integer s = (Integer)al.get(i);  //Object -> String 다운 형변환
			System.out.println(s);
		}
		//개선된 루프 사용
		System.out.println("===============");
		for(Object o : al){
			Integer it = (Integer)o;
			System.out.println(it);
		}
	}
}

[10, 20, 30]

10
20
30
=-=-=-=-=-=-=-=-=-=-=-=-
10
20
30

'Java > 중요클래스' 카테고리의 다른 글

Vector 클래스 사용  (0) 2012.04.11
Iterator 인터페이스 사용  (0) 2012.04.11
Calendar 클래스로 달력 만들기  (0) 2012.04.11
Calendar 클래스 사용  (0) 2012.04.11
SimpleDateFormat 클래스 사용법  (0) 2012.04.11
package com.datetest;//입력받은 데이터로 달력 출력

import java.util.Scanner;
import java.util.Calendar;

public class CalendarMain {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		//데이터 입력부분
		System.out.println("희망 년도와 월을 입력하시게나  (ex년도 : 2009,월 : 3)");
		System.out.print("년도 : ");
		int year = sc.nextInt();
		System.out.print("월: ");
		int month = sc.nextInt();

		System.out.println("    [ "+year+"년 "+month+"월"+" ] ");
		System.out.println("=-=-=-=-=-=-=-=-=-=-=-=-");
		System.out.println("    일     월     화     수    목    금    토");

		//Calendar 객체 생성 (오늘의 대한 정보)
		Calendar cal = Calendar.getInstance();
		//희망 연도, 월, 일 셋팅
		//월의 범위는 0~11 이기 때문에 실제월 -1
		//일은 달력이 1일부터 시작하기 때문에 1일로 셋팅
		//요일 구하기(월의 첫날)
		cal.set(year, month-1,1);

		//달의 마지막 날짜를 구함 
		int lastOfDate = cal.getActualMaximum(Calendar.DATE);
		//주를  구함 1일요일 ,2월요일
		int week = cal.get(Calendar.DAY_OF_WEEK);

		//1일이 해당 요일에 위치하도록 공백을 만들어 밀어주는 역할
		//실제 달력이
		for(int i = 1;i < week ; i++)
			System.out.print("   ");
		for(int i =1;i<=lastOfDate;i++){
			//달력 정렬을 위해 1~9까지는 공백이3칸 10부터는 2칸 공백 넣기
			System.out.print((i<10)?"  "+i : " "+i);
			//토요일에 날짜를 표시하고 줄바꿈 하는 코드
			if(week%7==0)System.out.println();
			week++;
		}
		System.out.println("\n=-=-=-=-=-=-=-=-=-=-=-=-");
	}
}

희망 년도와 월을 입력하시게나  (ex년도 : 2009,월 : 3)

년도 : 2011
월: 12
    [ 2011년 12월 ] 
=-=-=-=-=-=-=-=-=-=-=-=-
    일     월     화     수    목    금    토
              1  2  3
  4  5  6  7  8  9 10
 11 12 13 14 15 16 17
 18 19 20 21 22 23 24
 25 26 27 28 29 30 31

=-=-=-=-=-=-=-=-=-=-=-=-

'Java > 중요클래스' 카테고리의 다른 글

Iterator 인터페이스 사용  (0) 2012.04.11
ArrayList클래스 사용  (0) 2012.04.11
Calendar 클래스 사용  (0) 2012.04.11
SimpleDateFormat 클래스 사용법  (0) 2012.04.11
난수를 사용할때  (0) 2012.04.11
package com.datetest;//Calendar 클래스 사용(달력)

import java.util.Calendar;

public class UtilTest02 {
	public static void main(String[] args){
		//추상 클래스 이기 때문에......
		Calendar cal = Calendar.getInstance();
		System.out.println(cal);
		System.out.print("오늘 날짜는"+cal.get(Calendar.YEAR)+"년");
		System.out.print((cal.get(Calendar.MONTH)+1)+"월");//0~11이기에 +1임
		System.out.println(cal.get(Calendar.DATE)+"일");

		int hour = cal.get(Calendar.HOUR);
		int min = cal.get(Calendar.MINUTE);
		int sec = cal.get(Calendar.SECOND);
		int ampm = cal.get(Calendar.AM_PM);//AM:0PM:1
		if(ampm==Calendar.AM)
			System.out.print("현재 시간은 AM : ");
		else
			System.out.print("현재 시간은 PM : ");
		System.out.println(hour+"시"+min+"분"+sec+"초");
	}
}

java.util.GregorianCalendar[time=1324975914264,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=14,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2011,MONTH=11,WEEK_OF_YEAR=53,WEEK_OF_MONTH=5,DAY_OF_MONTH=27,DAY_OF_YEAR=361,DAY_OF_WEEK=3,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=5,HOUR_OF_DAY=17,MINUTE=51,SECOND=54,MILLISECOND=264,ZONE_OFFSET=32400000,DST_OFFSET=0]
오늘 날짜는2011년12월27일
현재 시간은 PM : 5시51분54초

'Java > 중요클래스' 카테고리의 다른 글

ArrayList클래스 사용  (0) 2012.04.11
Calendar 클래스로 달력 만들기  (0) 2012.04.11
SimpleDateFormat 클래스 사용법  (0) 2012.04.11
난수를 사용할때  (0) 2012.04.11
SimpleDateFormat  (0) 2012.04.11
package com.datetest;//SimpleDateFormat 사용법

import java.util.Date;
import java.text.SimpleDateFormat;

public class DateMain {
	public static void main(String[] args) {
		Date now = new Date();
		System.out.println(now);
		
		SimpleDateFormat sf = new SimpleDateFormat("yyyy년MM월dd일 E요일 a hh:mm:ss");
		
		String today = sf.format(now);
		System.out.println(today);
		
		SimpleDateFormat sf2 = new SimpleDateFormat("yyyy년MM월dd일 E요일 a HH:mm:ss");
		
		String today2 = sf2.format(now);
		System.out.println(today2);
	}
}
Tue Dec 27 17:44:34 KST 2011
2011년12월27일 화요일 오후 05:44:34

2011년12월27일 화요일 오후 17:44:34

'Java > 중요클래스' 카테고리의 다른 글

Calendar 클래스로 달력 만들기  (0) 2012.04.11
Calendar 클래스 사용  (0) 2012.04.11
난수를 사용할때  (0) 2012.04.11
SimpleDateFormat  (0) 2012.04.11
StringTokenizer 여러가지 구분자도 데이터에 포함할때  (0) 2012.04.11
package com.random;//난수 사용

import java.util.Random;

public class RandomEx1 {
	public static void main(String[] args) {
		String[] luck = {"행운의 하루","달콤한 프로포즈","로또 당첨","피곤해~~~"};
		Random r1 =new Random();

		//0부터 인자로 전달된 값의 전까지 범위로 난수발생 0~3
		int index = r1.nextInt(4);
		System.out.println("발생 난수 : "+index);
		System.out.println("오늘의 운세 : "+luck[index]);
		System.out.println("================");

		String[] gift = {"mp3p","TV","냉장고","꽝!"};

		//0.0이상 1.0미만의 난수 발생
		double ran = Math.random();
		System.out.println("발생한 난수 : "+ran);
		int idx = (int)(ran*4);
		System.out.println("발생한 난수 : "+idx);
		System.out.println("오늘의 선물 : "+gift[idx]);
	}
}

발생 난수 : 3

오늘의 운세 : 피곤해~~~
================
발생한 난수 : 0.30667260337476576
발생한 난수 : 1
오늘의 선물 : TV




package com.token;//StringTokenizer 여러가지 구분자도 데이터에 포함할때

import java.util.StringTokenizer;

public class StringTokenizerEx3 {
	public static void main(String[] args) {
		String expression = "x=100*(200+300)/2";
		//구분자 까지 데이터로 인정하고 싶다면 세번째 인자를 true로 지정

		StringTokenizer st = new StringTokenizer(expression,"+-*/=()",true);

		while(st.hasMoreTokens())
			System.out.println(st.nextToken());
	}
}
x
=
100
*
(
200
+
300
)
/

2

'Java > 중요클래스' 카테고리의 다른 글

난수를 사용할때  (0) 2012.04.11
SimpleDateFormat  (0) 2012.04.11
StringTokenizer 사용하여 여러가지 구분자 사용  (0) 2012.04.11
StringTokenizer 클래스 사용  (0) 2012.04.11
Wrapper 클래스2  (0) 2012.04.11
package com.token;//StringTokenizer 여러가지 구분자 사용할때

import java.util.StringTokenizer;

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

		String source = "2011-12-27 16:21:20";
		
		//여러가지의 구분자를 이용할 수 있다
		StringTokenizer st = new StringTokenizer(source, "-: ");

		while(st.hasMoreTokens())
			System.out.println(st.nextToken());
	}
}

2011

12
27
16
21
20

'Java > 중요클래스' 카테고리의 다른 글

SimpleDateFormat  (0) 2012.04.11
StringTokenizer 여러가지 구분자도 데이터에 포함할때  (0) 2012.04.11
StringTokenizer 클래스 사용  (0) 2012.04.11
Wrapper 클래스2  (0) 2012.04.11
Wrapper 클래스 사용  (0) 2012.04.11
package com.token;//StringTokenizer 클래스 사용

import java.util.StringTokenizer;

public class StringTest04 {
	public static void main(String[] args) {
		StringTokenizer str = new StringTokenizer("전도연#김혜수#전지현#김태희","#");
		
		int cnt = str.countTokens();//토큰수의 갯수 반환
		System.out.println("파싱할 문자열의 총갯수 : "+cnt);
		
		while(str.hasMoreTokens())//토큰이 있으면 true 없으면 false
			System.out.println(str.nextToken());
	}

}

파싱할 문자열의 총갯수 : 4

전도연
김혜수
전지현
김태희

package com.wrapper;//Wrapper 클래스 2

public class WrapperTestA {
	public static void main(String[] args) {
		int n01=10;
		int n02;
		Integer num01;
		Integer num02=new Integer(20);
		
		num01 = n01;//오토 박싱 (기본 자료형-> 참조자료형)
		n02 = num02;//오토 언박싱(참조자료형 ->기본자료형)
		
		System.out.println(n01+","+num01);
		System.out.println(n02+","+num02);
		
		Integer t01 = 10; //오토 박싱
		Integer t02 = 20; //오토 박싱
		
		Integer sum = t01 + t02;//오토 박싱.언박싱
		System.out.println("sum = "+sum);
		
		long lg = t01;	//Integer -> int -> long
		//참조자료형에서 형변환은 부모클래스와 자식클래스의 관계
		//Long과 Integer는 상속관계가 아니기 때문에 형변환 불가
		//long lg2 = t01;

	}

}

10,10

20,20
sum = 30

'Java > 중요클래스' 카테고리의 다른 글

StringTokenizer 사용하여 여러가지 구분자 사용  (0) 2012.04.11
StringTokenizer 클래스 사용  (0) 2012.04.11
Wrapper 클래스 사용  (0) 2012.04.11
String buffer 사용예  (0) 2012.04.11
String예제4  (0) 2012.04.11
package com.wrapper;//Wrapper 클래스 integer 클래스의 사용예

public class WrapperTest01 {
	public static void main(String[] args) {
		//박싱(boxing) 기본 자료형 - > 참조자료형
		Integer num01 = new Integer(10);
		Integer num02 = new Integer("20");
		
		//언박싱(unboxing) 참조자료형 -> 기본자료형
		int n01=num01.intValue();
		int n02=num02.intValue();
		
		int sum;
		sum=n01+n02;
		System.out.println("두 정수의 합은 : "+sum);
		
		System.out.println("합을 2진수로 : "+Integer.toBinaryString(sum));
		System.out.println("합을 8진수로 : "+Integer.toOctalString(sum));
		System.out.println("합을 10진수로 : "+Integer.toHexString(sum));
		
		String str = "50";
				 //String -> int
		int num = Integer.parseInt(str);
		System.out.println("num = "+num);
	}
}

두 정수의 합은 : 30

합을 2진수로 : 11110
합을 8진수로 : 36
합을 10진수로 : 1e
num = 50

'Java > 중요클래스' 카테고리의 다른 글

StringTokenizer 클래스 사용  (0) 2012.04.11
Wrapper 클래스2  (0) 2012.04.11
String buffer 사용예  (0) 2012.04.11
String예제4  (0) 2012.04.11
String클래스  (0) 2012.04.11
package com.stringex;//StringBuffer클래스에 다양한 메소드 사용

public class StringTest03 {
	public static void main(String[] args) {
		StringBuffer str01 = new StringBuffer();
		
		str01.append("Java");//주어진 문자열을 스트링버퍼의 문자열에 추가한다
		System.out.println("str01의 값은 : "+str01.toString());
		str01.append(" Programming");
		System.out.println("str01의 값은 : "+str01.toString());
		
		str01.replace(0, 4, "MFC");//0에서 4까지 지우고 MFC를 넣는다
		System.out.println("str01의 값은 : "+str01.toString());
		
		String str02 = str01.substring(3);
				
		System.out.println("str01의 값은 : "+str01);
		System.out.println("str02의 값은 : "+str02);
		
		str01.deleteCharAt(0);//주어진 위치에 한문자 지우기
		System.out.println("str01의 값은 : "+str01.toString());
		str01.reverse();//반전
		System.out.println("str01의 값은 : "+str01.toString());
	}
}

str01의 값은 : Java

str01의 값은 : Java Programming
str01의 값은 : MFC Programming
str01의 값은 : MFC Programming
str02의 값은 :  Programming
str01의 값은 : FC Programming
str01의 값은 : gnimmargorP CF

'Java > 중요클래스' 카테고리의 다른 글

Wrapper 클래스2  (0) 2012.04.11
Wrapper 클래스 사용  (0) 2012.04.11
String예제4  (0) 2012.04.11
String클래스  (0) 2012.04.11
문자열과 객체 비교  (0) 2012.04.11
package com.stringex;//String 예제4

public class StringEx4 {
	public static void main(String[] args) {
		String s1 = "     aaa     ";
		String msg = null;
		
		msg = s1.replace("aa","b");
		System.out.println("msg :"+msg);
		
		msg = s1.toUpperCase();//대문자로 변경lowcase는 소문자
		System.out.println("msg :"+msg);
		
		msg = s1.trim();//앞뒤 공간만 제거(중간은 아님)
		System.out.println("msg :"+msg);
		
		boolean f = s1.contains("aa");
		System.out.println("f :"+f);
		
	}
}

msg :     ba     

msg :     AAA     
msg :aaa
f :true

'Java > 중요클래스' 카테고리의 다른 글

Wrapper 클래스 사용  (0) 2012.04.11
String buffer 사용예  (0) 2012.04.11
String클래스  (0) 2012.04.11
문자열과 객체 비교  (0) 2012.04.11
String클래스 란?  (0) 2012.04.11
package com.stringex;//String예제 index문자열
//다외우기 
public class StringEx3 {

	public static void main(String[] args) {
		String s1 = "Kwon Sun Ae";
				   //01234567890
		//indexOf는 전달되는 문자 또는 문자열의 index를 반환
		int index = s1.indexOf('n');
		System.out.println("맨 처음 문자의 n의 위치 : "+index);
		
		index = s1.indexOf("Sun");//첫번재 문자 위치를 return함
		System.out.println("문자 Sun의 위치 : "+index);
		
		//lastIndexof는 전달되는 문자또는 문자열이 중복되는 경우
		//앞의 문자가 아니라 가장 뒤의 문자의 index 반환
		index = s1.lastIndexOf('n');
		System.out.println("마지막 문자 n의 위치 : "+index);
		
		//charAt은 전달되는 index의 문자를 char 타입으로 반환
		char c = s1.charAt(index); //문자 추출
		System.out.println("추출한 문자 : "+c);
		
		index=s1.indexOf('S');
		//문자열로부터 특정 문자열 추출
		String str = s1.substring(index);
		System.out.println("대문자 S로부터 끝까지 잘라내기 : "+str);
		
		//두개의 인자를 전달해서 해당 구간내의 문자열 추출
		str = s1.substring(index,index+3);
		System.out.println("대문자 S로부터 3자까지 잘라내기 : "+str);
		
		int length = s1.length();
		System.out.println("s1의 길이  : "+length);
		
		String[] arr = s1.split(" ");
		for(int i = 0; i>arr.length;i++)
			System.out.println("arr["+i+"] : "+arr[i]);
	}
}

맨 처음 문자의 n의 위치 : 3

문자 Sun의 위치 : 5
마지막 문자 n의 위치 : 7
추출한 문자 : n
대문자 S로부터 끝까지 잘라내기 : Sun Ae
대문자 S로부터 3자까지 잘라내기 : Sun
s1의 길이  : 11

'Java > 중요클래스' 카테고리의 다른 글

String buffer 사용예  (0) 2012.04.11
String예제4  (0) 2012.04.11
문자열과 객체 비교  (0) 2012.04.11
String클래스 란?  (0) 2012.04.11
String클래스의 내용비교를 위한 equals 메서드  (0) 2012.04.11

+ Recent posts