kh14일차

2022. 7. 7. 18:21코딩/Java

objectApi

kh.java.func

StringClass

package kh.java.func;

import java.util.Random;
import java.util.StringTokenizer;

public class StringClass {
	public void test1() {
		//문자열 변경을 위한 StringBuffer사용
		StringBuffer sb = new StringBuffer();
		System.out.println("문자열 길이 :  "+sb.length());
		sb.append("hi");//현재 저장된 문자열에 매개변수로 전달한 문자를 추가
		System.out.println(sb.toString());
		sb.append(" 안녕");
		System.out.println(sb.toString());
		System.out.println("문자열 길이 :  "+sb.length());
		sb.append(" test");
		System.out.println(sb.toString());
		sb.insert(3," 삽입구문"); //첫번쨰 매개변수 위치에, 두번째 매개변수 값을 삽입
		System.out.println(sb.toString());
		sb.insert(7," 여기 ");
		System.out.println(sb.toString());
		sb.replace(0,2, "수정구문");//문자열중 0번째부터 2번째앞까지를 "수정구문"으로 대체
		System.out.println(sb.toString());
		sb.delete(5, 8);
		System.out.println(sb.toString());
		sb.reverse();
		System.out.println(sb.toString());
		sb.reverse();
		System.out.println(sb.toString());
		
		Random r = new Random();
		StringBuffer joinCode = new StringBuffer();
		for(int i = 0; i<6;i++) {
			int num = r.nextInt(10);
			joinCode.append(num);
		}
		System.out.println("회원가입 코드 ["+joinCode.toString()+"]");
	}
	
	public void test2() {
		String str = "학생1/서울/백수";
		String[] arr = str.split("/");// /을 기준으로 문자열을 자름
		System.out.println("배열길이 : "+arr.length);
		for(int i=0;i<arr.length;i++) {
			System.out.println(arr[i]);
		}
		String str1 = "AbcdEfg";
		System.out.println(str1.toUpperCase());
		System.out.println(str1.toLowerCase());
		
	}
	
	public void test3() {
		String str = "학생1/서울/백수";
		StringTokenizer sT = new StringTokenizer(str,"/");
		while(sT.hasMoreTokens()) {
			String str1 = sT.nextToken();
			System.out.println(str1);
		}
//		System.out.println("지금 토큰이 남아있는지 체크 : "+sT.hasMoreTokens());
//		System.out.println("남아있는 토큰 수 : "+sT.countTokens());
//		String str1 = sT.nextToken();
//		System.out.println(str1);
//		System.out.println("지금 토큰이 남아있는지 체크 : "+sT.hasMoreTokens());
//		System.out.println("남아있는 토큰 수 : "+sT.countTokens());
//		String str2 = sT.nextToken();
//		System.out.println(str2);
//		System.out.println("지금 토큰이 남아있는지 체크 : "+sT.hasMoreTokens());
//		System.out.println("남아있는 토큰 수 : "+sT.countTokens());
//		String str3 = sT.nextToken();
//		System.out.println(str3);
//		System.out.println("지금 토큰이 남아있는지 체크 : "+sT.hasMoreTokens());
//		System.out.println("남아있는 토큰 수 : "+sT.countTokens());
	}
	
	
}

TestClass

package kh.java.func;

public class TestClass implements Cloneable{

//	@Override
//	public String toString() {
//		return "저는 TestClass입니다.";
//	}
	@Override
	public Object clone() throws CloneNotSupportedException{
		return super.clone();
	}
}

kh.java.run

Start

package kh.java.run;

import kh.java.func.StringClass;
import kh.java.func.TestClass;
import kh.java.lee.Calc;

public class Start {

	public static void main(String[] args) {
//		// TODO Auto-generated method stub
//		TestClass tc = new TestClass();
//		// 참조형 이고 주소값이 담겨있음
//		System.out.println(tc.toString());
//		// toString 참조형 객체의 정보 출력
//		System.out.println(tc);// 메소드 호출하지 않을시 자동으로 toString호출
//		TestClass tc1 = new TestClass();
//		System.out.println(tc.hashCode());
//		System.out.println(tc1.hashCode());
//		TestClass tc2 = tc;//얕은복사//데이터는 그대로 주소만복사
//		System.out.println(tc2.hashCode());
//		//문자열 비교 == -> equals
//		int num =10;
//		Calc c = new Calc();
//		int sum = c.add(100, 200);
//		System.out.println(sum);
		StringClass sc = new StringClass();
		sc.test1();
		
	}

}

 

testAPI

kh.java.lee

Calc

package kh.java.lee;

public class Calc {
	public int add(int num1,int num2) {
		int sum = num1 + num2;
		return sum;
	}
}

 

 

ApiTest

package kh.java.func;

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

import java.util.Scanner;
public class ApiTest {
	public void math() {
		// 객체를 생성하지 않고 바로 사용
		System.out.println(Math.abs(10));
		System.out.println(Math.abs(-10));// 절대값
		// 올림,버림,반올림
		System.out.println(Math.ceil(10.1));// 올림
		System.out.println(Math.floor(10.9));// 버림
		System.out.println(Math.round(10.5));// 반올림
		// 1.3456->1.35
		// 1.3456-> 134.56 -> 135/100.0 -> 1.35

		System.out.println(Math.round(1.3456 * 100) / (double) 100);
		// 숫자비교
		System.out.println(Math.max(50, 30));// 매개변수로 전달한 두수중 큰수 리턴
		System.out.println(Math.min(50, 30));// 매개변수로 전달한 두수중 작은수 리턴
	}

	public void date() {
		Date today = new Date();
		System.out.println(today);
		SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String todayStr = format1.format(today);
		System.out.println(todayStr);

		SimpleDateFormat format2 = new SimpleDateFormat("yyyy년MM월dd일 HH시mm분ss초 EEE요일");
		String todayStr2 = format2.format(today);
		System.out.println(todayStr2);
	}
	
	public void calendar() {
		Calendar today = Calendar.getInstance();
		//Calendar 클래스의 생성자의 접근제어지시자가 Protected
		//대신 getInstance()메소드를 통해서만 객체 생성이가능
		//정보가져오는방법 today.get(정보종류);
		
		System.out.println(today.get(Calendar.YEAR));
		System.out.println(today.get(Calendar.MONTH)+1);//0~11월
		System.out.println(today.get(Calendar.DATE));
		System.out.println(today.get(Calendar.AM_PM));//AM=0 ,PM=1
		System.out.println(today.get(Calendar.MINUTE));//분
		System.out.println(today.get(Calendar.SECOND));//초
		System.out.println(today.get(Calendar.MILLISECOND));//ms초
		System.out.println(today.get(Calendar.DAY_OF_WEEK));//요일(1:일요일 ,7:토요일)
		System.out.println("===============================================");
		Calendar day1 = Calendar.getInstance();
		System.out.println(day1.get(Calendar.MONTH)+1);//7
		System.out.println(day1.get(Calendar.DATE));//7
		System.out.println(day1.get(Calendar.DAY_OF_WEEK));//5
		
		//날짜랑 시간정보 변경
		day1.set(Calendar.MONTH, 10);//11월로 변경
		day1.set(Calendar.DATE, 18);//18일로 변경
		System.out.println(day1.get(Calendar.MONTH)+1);//11
		System.out.println(day1.get(Calendar.DATE));//18
		System.out.println(day1.get(Calendar.DAY_OF_WEEK));//5
		
		Calendar day2 = Calendar.getInstance();
		long time1 = day2.getTimeInMillis();//1960년 1월 1일부터 day2까지 몇 ms가 흘렀는지 리턴
		day2.set(Calendar.DATE, 8);
		long time2 = day2.getTimeInMillis();
		System.out.println("time1 : "+time1);
		System.out.println("time2 : "+time2);
		System.out.println("시간차이 :" +(time2-time1));
		
		Date date1 = new Date(time1);
		Date date2 = new Date(time2);
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String date1str = format.format(date1);
		String date2str = format.format(date2);
		System.out.println(date1str);
		System.out.println(date2str);
		
		
	}
	
	public void dday() {
		Scanner sc = new Scanner(System.in);
		
		Calendar dday = Calendar.getInstance();
		System.out.print("D-DAY [년도] 입력 : ");
		int year = sc.nextInt();
		
		dday.set(Calendar.YEAR, year);
		System.out.print("D-DAY [월] 입력 : ");
		int month = sc.nextInt();
		
		dday.set(Calendar.MONTH, month);
		System.out.print("D-DAY [일] 입력 : ");
		int date = sc.nextInt();
		dday.set(Calendar.DATE, date);
		
		long time1 = dday.getTimeInMillis();
				
		Calendar today = Calendar.getInstance();
		System.out.println("오늘 날짜 : "+today.get(Calendar.YEAR)+"년"+(today.get(Calendar.MONTH)+1)+"월"+today.get(Calendar.DATE)+"일");
		
		long time2 = today.getTimeInMillis();
		
		System.out.println("D-DAY 날짜 : "+dday.get(Calendar.YEAR)+"년"+dday.get(Calendar.MONTH)+"월"+dday.get(Calendar.DATE)+"일");
		System.out.println(Math.round((time1 - time2)));
	}
}

'코딩 > Java' 카테고리의 다른 글

kh16일차(set,map,PointMgr7,StudentMgr5,Exception,io)  (0) 2022.07.11
kh15일차 (Generics,List,studentMgr4,pointMgr5...)  (0) 2022.07.08
kh12일차  (0) 2022.07.06
KH11일차  (0) 2022.07.04
KH10일차  (0) 2022.07.01