본문 바로가기

수업/수업정리

2024-03-27-오전&오후: 열거형, 참조, 향상된for문

package Reference;

public class Reference 
{
	public void refer1() 
	{
		int[] intArray = null;
		
		//1번쨰 방법
		intArray = new int[5];
		intArray[0] = 10;
		intArray[1] = 20;
		intArray[2] = 30;
		System.out.println(intArray[0]);
		System.out.println(intArray[1]);
		System.out.println(intArray[2]);
		
		//2번째 방법
		intArray = new int[] {10, 20, 30};
		System.out.println(intArray[0]);
		System.out.println(intArray[1]);
		System.out.println(intArray[2]);
	}
	
	public void refer2()
	{
		String str="현재 시각은 1시 19분입니다.";
		
		System.out.println("1. charAt() : 특정한 문자 추출");
		System.out.println("예제 문자열: "+str);
		System.out.println("0번째 문자:"+str.charAt(0));	//	현
		System.out.println("10번째 문자:"+str.charAt(10));	//	1
		
		System.out.println("=====================");
		System.out.println("2. length() : 문자열 길이");
		System.out.println("예제 문자열: "+str);
		System.out.println("예제 문자열의 길이: "+str.length());
		
		System.out.println("=====================");
		System.out.println("3. replace() : 문자열 대체");
		System.out.println("예제 문자열: "+str);
		System.out.println("문자열의 교체: "+str.replace("19","27"));
		
		System.out.println("=====================");
		System.out.println("4. substring : 문자열 자르기");
		System.out.println("예제 문자열: "+str);
		System.out.println("문자열 처음부터 자르기: "+str.substring(7));
		System.out.println("문자열 중간만 자르기: "+str.substring(7,13));
		
		System.out.println("=====================");
		System.out.println("5. indexof : 문자열 찾기");
		System.out.println("예제 문자열: "+str);
		System.out.println("존재하는 문자열 찾기(시각): "+str.indexOf("시각"));
		System.out.println("존재하지 않는 문자열 찾기(시간): "+str.indexOf("시간"));
		
		System.out.println("=====================");
		System.out.println("6. split() : 특정 문자로 문자열 분리");
		System.out.println("예제 문자열: "+str);
		String[] strArr=str.split(" ");
		System.out.println("분리된 문자열의 수: "+strArr.length);
		for(String s:strArr)
		{
			System.out.println("띄어쓰기로 문자열 분리: "+s);
		}
	}
	
	public void refer3() 
	{
		//다차원 배열의 길이를 명시하여 객체 생성 = 배열에 저장되는 데이터가 없을 시
		String[][] arr1 = new String[2][2];
		arr1[0][0] = "1번째 배열 1번째 데이터";
		arr1[0][1] = "1번째 배열 2번째 데이터";
		arr1[1][0] = "2번째 배열 1번째 데이터";
		arr1[1][1] = "2번째 배열 2번째 데이터";
		System.out.println("arr1 : " + arr1[0][0]);
		System.out.println("arr1 : " + arr1[0][1]);
		System.out.println("arr1 : " + arr1[1][0]);
		System.out.println("arr1 : " + arr1[1][1]);
		//값 목록으로 다차원 배열 객체 생성 및 데이터 할당 = 배열에 저장되는 데이터가 있을 시
		String[][] arr2 = {
			{"1번째 배열 1번째 데이터", "1번째 배열 2번째 데이터"},
			{"2번째 배열 1번째 데이터", "2번째 배열 2번째 데이터"}};
		System.out.println("arr2 : " + arr2[0][0]);
		System.out.println("arr2 : " + arr2[0][1]);
		System.out.println("arr2 : " + arr2[1][0]);
		System.out.println("arr2 : " + arr2[1][1]);
	}
	
	public void lowerCopy()
	{
		int a[]= {1,2,3};
		int b[]=a;
		
		b[0]=4;
		
		System.out.println("얕은 복사1");
		System.out.println("a array: ");
		for(int v:a)
			System.out.print(v+" ");
		System.out.println("\nb array: ");
		for(int v:b)
			System.out.print(v+" ");
	}
	
	public void lowerCopy2()
	{
		int a[]= {1,2,3};
		int b[]=new int[a.length];
		
		System.arraycopy(a, 0, b, 0, a.length);	//배열복사
		
		b[0]=4;
		
		System.out.println("얕은 복사2");
		System.out.println("a array: ");
		for(int v:a)
			System.out.print(v+" ");
		System.out.println("\nb array: ");
		for(int v:b)
			System.out.print(v+" ");
	}

	public void StringBuilder() {
		StringBuilder stringBuilder = new StringBuilder();
		stringBuilder.append("현재").append("시각은").append("1시50분입니다.");
		String str = stringBuilder.toString();
		
		System.out.println(stringBuilder);
		System.out.println(str);
	}
}