Java/단계별 과정

[JAVA]기본 API 클래스

2023. 5. 3. 15:19
목차
  1. 1 . API
  2.  
  3. 2. 문자열 클래스
  4. 3. 시간 처리 Date,Calender
  5. 4. formatting

1 . API

API란???
자바 API(Aplication Programming Interface)는 자바에서 개발자들을 위해 기본적으로 제공하는 클래스들이다.
API를 확인하고 싶다면 https://docs.oracle.com/javase/8/docs/api/index.html 에서 확인 가능하다.

 

2. 문자열 클래스

문자열 클래스는 문자열에 대한 처리를 위한 다양한 메서드가 정의되어 있는 클래스입니다.
메서드 의미
concat(문자열) 문자열을 연결한다
substring(인덱스,잘라낼 길이) 문자열을 잘라낸다
length() 문자열의 길이를 반환한다
toUpperCase() 문자열을 대문자로 변경한다.
toLowerCase() 문자열을 소문자로 변경한다
charAt(인덱스) 인덱스에 해당하는 글자를 반환한다
indexOf(문자열) 문자열의 위치를 반환한다
equals(문자열) 문자열이 같은지 boolean값으로 반환한다
trim() 문자열 앞, 뒤에 있는 공백을 제거한다
replace(바꾸고 싶은 문자열, 바꿀 문자열) 문자열 내의 특정 부분을 다른 문자열로 변경한다
replaceAll(변환할 문자열, 변환될 문자열) 문자열 내의 특정 부분을 다른 문자열로 변경한다

 

📋 concat(+와 같기때문에 거의 사용안함)

package chpater10;

public class ch10_1 {

	public static void main(String[] args) {
		String a = "Computer";
		String b = "Monitor";
		
		System.out.println(a.concat(b));

	}

}

 

👨🏻‍💻 결과

ComputerMonitor

 

📋 substring

package chpater10;

public class ch10_1 {

	public static void main(String[] args) {
		String a = "Computer";;
		char b = a.charAt(4);
		System.out.println(b);
	}

}

 

👨🏻‍💻 결과

u

 

📋 indexOf

package chpater10;

public class ch10_1 {

	public static void main(String[] args) {
		String a = "computer";
		int b = a.indexOf("u");
		System.out.println("문자 u는" +b+"번째");
	}

}

 

👨🏻‍💻 결과

문자 u는4번째

 

📋 substring

package chpater10;

public class ch10_1 {

	public static void main(String[] args) {
		String a = "computer";
		String b = a.substring(3,6);
		System.out.println(b);
	}

}

 

👨🏻‍💻 결과

put

 

📋 equals

package chpater10;

public class ch10_1 {

	public static void main(String[] args) {
		String a = "computer";
		String b = "COMPUTER";
		System.out.println(a.contentEquals(b));
	}

}

 

👨🏻‍💻 결과

false

 

📋 split

package chpater10;

public class ch10_1 
{

	public static void main(String[] args) 
	{
		String a = "computer,monitor,keyboard";
		String b[] = a.split(",");
		for (int i= 0; i<b.length;i++)
		{
		System.out.println(b[i]);
		}
	}

}

 

👨🏻‍💻 결과

computer
monitor
keyboard

 

📋 equalslgnorecase

package chpater10;

public class ch10_1 {

	public static void main(String[] args) {
		String a = "computer";
		String b = "COMPUTER";
		System.out.println(a.equalsIgnoreCase(b));
	}

}

 

👨🏻‍💻 결과

true

 

📋 join

package chpater10;

public class ch10_1 {

	public static void main(String[] args) {
		String a[] = {"KOREA","KYUNGNAM","CHANGWON"};
		System.out.println(String.join("-", a));
	}

}
KOREA-KYUNGNAM-CHANGWON

 

📋 trim

package chpater10;

public class ch10_1 {

	public static void main(String[] args) {
		String a = ("        KOKAIN    ");
		String b = a.trim();
		System.out.println(b);
	}

}

 

👨🏻‍💻 결과

KOKAIN

 

📋 valueof

package chpater10;

public class ch10_1 {

	public static void main(String[] args) {
		int a = 5;
		int b = 6;
		String c = String.valueOf(a);
		String d = String.valueOf(b);
		System.out.println(c+d);
	}

}

👨🏻‍💻 결과

56

3. 시간 처리 Date,Calender

JAVA에서 시간을 다루는 자료형의 값은 long 이며 두가지 클래스가 있다.
java.util.Calendar
java.util.Date

 

📋 System.currentTimeMills()

System 클래스의 currentTimeMills() 메서드는 운영체제의 현재 시각을 long타입으로 반환한다.
package chpater10;

public class ch10_2 {

	public static void main(String[] args) {
		long start = System.currentTimeMillis();
		System.out.println("시작시간:"+start);
		int a = 0;
		for(int i = 1;i<10000000;i++)
		{
			a++;
		}
		long end = System.currentTimeMillis();
		System.out.println("종료시간"+end);
		System.out.println("걸린 작업 시간:" + (end-start));
	}

}

 

📕 해설

1. start 변수에 현재 시각을 담는다.
2. 현재 시간을 출력한다.
3. i가 1 부터 10000000 까지 반복하며 a를 증감한다.
4. end변수 에 현재 시각을 담는다.
5. 시작시간이 출력되고 종료시간이 출력되며 종료시간-시작시간으로 총 소요 작업시간을 구할 수 있다.

 

👨🏻‍💻 결과

시작시간:1683179329860
종료시간1683179329861
걸린 작업 시간:1

 

📋 java.util.Calendar

package chpater10;

import java.util.Calendar;
import java.util.GregorianCalendar;

public class ch10_3 {

	public static void main(String[] args) {
		Calendar a = Calendar.getInstance(); //싱글턴 패턴
		Calendar b = new GregorianCalendar();
		System.out.println(a.toString());
		System.out.println(b.toString());

	}

}

 

📕 해설

Calendar 클래스는 추상 클래스이기 때문에 직접 객체를 생성할 수 없다.
대신, Calendar 클래스의  getInstance()를 사용하여 해당 클래스의 구현체를 가져올 수 있다.
GregorianCalendar 클래스는 이 클래스의 생성자를 사용하여 원하는 날짜와 시간을 가진 GregorianCalendar 객체를 생성할 수 있다.
두 객체의 toString() 메서드를 사용하여 현재 날짜와 시간 정보를 출력한다.

 

👨🏻‍💻 결과

java.util.GregorianCalendar[time=1683179403653,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=30,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2023,MONTH=4,WEEK_OF_YEAR=18,WEEK_OF_MONTH=1,DAY_OF_MONTH=4,DAY_OF_YEAR=124,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=2,HOUR_OF_DAY=14,MINUTE=50,SECOND=3,MILLISECOND=653,ZONE_OFFSET=32400000,DST_OFFSET=0]
java.util.GregorianCalendar[time=1683179403666,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=30,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2023,MONTH=4,WEEK_OF_YEAR=18,WEEK_OF_MONTH=1,DAY_OF_MONTH=4,DAY_OF_YEAR=124,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=2,HOUR_OF_DAY=14,MINUTE=50,SECOND=3,MILLISECOND=666,ZONE_OFFSET=32400000,DST_OFFSET=0]

 

📋 java.util.Calendar

package chpater10;

import java.util.Calendar;

public class ch10_4 {

	public static void main(String[] args) {
		Calendar a = Calendar.getInstance();
		
		int year = a.get(Calendar.YEAR);
		int month= a.get(Calendar.MONTH);
		int date = a.get(Calendar.DATE);
		
		System.out.println(year+"년"+month+"월"+date+"일");
		System.out.println(a.get(Calendar.DAY_OF_WEEK));
		
		System.out.println("이번 년도에서 오늘이 몇 일쨰인가?");
		System.out.println(a.get(Calendar.DAY_OF_YEAR));
		
		System.out.println("이번 달은 며칠까지 있는가?");
		System.out.println(a.getActualMaximum(Calendar.DATE));
		

	}

}

 

👨🏻‍💻 결과

2023년4월4일
5
이번 년도에서 오늘이 몇 일쨰인가?
124
이번 달은 며칠까지 있는가?
31

 

📋 java.util.Calendar

package chpater10;

import java.util.Calendar;

public class ch10_5 {

	public static void main(String[] args) {
		Calendar today = Calendar.getInstance();
		Calendar endOfYear = Calendar.getInstance();
		Calendar Christmas =  Calendar.getInstance();
		
		endOfYear.set(Calendar.MONTH,11);
		endOfYear.set(Calendar.DATE,31);
		long diff = endOfYear.getTimeInMillis() - today.getTimeInMillis();
		System.out.println("연말까지 남은 날"+diff/(24*60*60*1000)+"일");
		
		Christmas.set(2023,12,25);
		diff = Christmas.getTimeInMillis()-today.getTimeInMillis();
		System.out.println("크리스마스까지 남은 날" + diff/(24*60*60*1000)+"일");

	}

}

 

👨🏻‍💻 결과

연말까지 남은 날241일
크리스마스까지 남은 날266일

 

📋 java.util.Random

package chpater10;

import java.util.Random;

public class ch10_6 
{

	public static void main(String[] args)
	{
		 int [ ] lottoNum = new int[6]; //크기가 6인 배열 lotoNum 변수 생성
		 Random random = new Random( ); //Random 클래스의 인스턴스 Random 생성
		 int index = 0; // index변수를 0으로 초기화
			 while (index !=6) //index가 6이 아닐때까지 반복문 시작
			 {
			 lottoNum[index] = random.nextInt(46); //0부터 45까지 랜덤한 정수를 추출하여 index에 저장
	
				 for(int i = 0; i<index; i++)  // i가 0부터 index와 같아지면 종료
				 {
		
				 System.out.println(index+"추첨을 시작합니다."+lottoNum[index]); //출력 
		
					 if(lottoNum[i] == lottoNum[index]) // index보다 작은 인덱스의 값과 비교하여 중복된 값이 있는지 확인
					 {
			
					 index--; //index의 값을 감소
			
					 break; //중복될 경우 for문 중지
			
					 }
		
				 }
	
			 index++; // 중복 안될 경우 index 증가

		 }

		 System.out.println("당첨번호"); //출력

		 for(int i =0; i<lottoNum.length; i++) //i가 0부터 5까지 반복
		 {

		 System.out.println(lottoNum[i] + " "); //출력

		 }

	}


}

 

👨🏻‍💻 결과

1추첨을 시작합니다.13
2추첨을 시작합니다.15
2추첨을 시작합니다.15
3추첨을 시작합니다.27
3추첨을 시작합니다.27
3추첨을 시작합니다.27
4추첨을 시작합니다.39
4추첨을 시작합니다.39
4추첨을 시작합니다.39
4추첨을 시작합니다.39
5추첨을 시작합니다.7
5추첨을 시작합니다.7
5추첨을 시작합니다.7
5추첨을 시작합니다.7
5추첨을 시작합니다.7
당첨번호
16 
13 
15 
27 
39 
7

 

📋 java.util.Scanner

package chpater10;

import java.io.FileInputStream;
import java.util.Scanner;

public class ch10_7 {

	public static void main(String[] args) {
		try {
			FileInputStream fileInputStream = new FileInputStream("D:\\HYUNMIN\\file.txt");
			Scanner s = new Scanner(fileInputStream);
			while (s.hasNext()) {
				String a = s.nextLine();
				System.out.println(a);
			}

		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

 

👨🏻‍💻 결과

만두
카레
피자

 

4. formatting

 

기호 의미 기호 의미
# 있으면 출력 , 콤마를 넣음
0 없어도 0으로 채움 E 지수 기호
. 소수점 % 퍼센트
- 음수 기호를 붙임    

📋 DecimalFormat

package chpater10;

import java.text.DecimalFormat;

public class ch10_8 {

	public static void main(String[] args) {
		String[] pattern = {"###.###", "000.000", "-###.###","000000.00%"};
		double[] arr = {1.3,3.33,124.243,242};
		
		for(int i=0;i<pattern.length;i++)
		{
			DecimalFormat d = new DecimalFormat(pattern[i]);
			System.out.println("결과값은 "+pattern[i]+" 입니다");
			for(int j=0;j<arr.length;j++)
			{
				System.out.println( d.format(arr[j]));
			}
		}

	}

}

 

👨🏻‍💻 결과

결과값은 ###.### 입니다
1.3
3.33
124.243
242
결과값은 000.000 입니다
001.300
003.330
124.243
242.000
결과값은 -###.### 입니다
-1.3
-3.33
-124.243
-242
결과값은 000000.00% 입니다
000130.00%
000333.00%
012424.30%
024200.00%

 

 

저작자표시 (새창열림)

'Java > 단계별 과정' 카테고리의 다른 글

[JAVA]스레드  (0) 2023.05.09
[JAVA]컬렉션 프레임워크(Collection FrameWork)  (0) 2023.05.09
[JAVA] 예외 처리(Exception Handing)  (0) 2023.05.03
[JAVA]추상 메서드와 추상 클래스  (0) 2023.05.02
[JAVA] 상속과 다형성  (0) 2023.05.01
  1. 1 . API
  2.  
  3. 2. 문자열 클래스
  4. 3. 시간 처리 Date,Calender
  5. 4. formatting
'Java/단계별 과정' 카테고리의 다른 글
  • [JAVA]스레드
  • [JAVA]컬렉션 프레임워크(Collection FrameWork)
  • [JAVA] 예외 처리(Exception Handing)
  • [JAVA]추상 메서드와 추상 클래스
BHunter
BHunter
Java로 시작해서 Python 까지
BHunter
The Bug Hunter
BHunter
전체
오늘
어제
  • 분류 전체보기 (19)
    • Java (13)
      • 오류노트 (1)
      • 개발 환경 구축방법 (1)
      • 단계별 과정 (11)
    • Python (0)
    • JavaScript (1)
    • HTML (0)
    • CSS (0)
    • JSP (1)
      • 개발 환경 구축방법 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 인스턴스화
  • 자바
  • java
  • 이클립스 자바
  • if else if
  • 인텔리J
  • 으
  • 설정방법
  • sercurity
  • java 오류해결
  • 스프링부트
  • 다중 if문
  • if else
  • 이클립스오류해결
  • java 에러
  • 메서드
  • 마이그레이션
  • 이클립스오류
  • 객체타입
  • 자바 조건문

최근 댓글

최근 글

hELLO · Designed By 정상우.
BHunter
[JAVA]기본 API 클래스
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.