여러가지 기본적인 java.lang 패키지의 클래스를 공부해보자.
ㅇSystem 클래스 <<요거를 보자
java.lang 패키지의 System 클래스를 이용하면 "운영체제의 일부 기능을 이용할 수 있다.
자바프로그램은 운영체제에서 바로 실행되지 않고 JVM위에서 실행된다고 공부했었다.
그런데 이 System클래스에서 운영체제 이용을 할 수 있다는 점이 특별하게 느껴진다!! ㅇ0ㅇ
예를 들면
"프로그램 종료, 키보드로부터 입력, 모니터로 출력, 현재 시간 읽기" 등!
System클래스의 모든 필드와 메소드는 정적(static)이다~~~!
필드도 다 static이고!!
헉 메소드가 진짜 많다. 근데 정말 다 static 메소드다!! (사진에 있는게 다가 아니다. 엄청 많다..!) Object에 선언된 메소드도 따로 정리되어 있었다. 아무튼... 혼공자 책에서는 exit()와 currentTimeMillis(), nanoTime() 메소드를 공부한다.
다음 메소드를 공부할 것이다.
ㅇexit() : 프로그램 종료
ㅇcurrentTimeMillis(), nanoTime() : 현재 시간 읽기
프로그램 종료 exit() 메소드
강제적으로 JVM을 종료시킬 때도 있다! 이럴 때 System클래스의 exit()메소드를 호출한다.
-->현재 실행중인 프로세스를 강제 종료
-->int매개값을 지정해야 한다 : "종료 상태값"이라고 부른다. : 정상 종료일 경우 0값을 준다.
System.exit(0)
혼공자 책에서는 반복문이 돌아가는 도중 exit()로 프로그램을 종료하는 예시를 보여주고 있다.
현재 시각 읽기 : currentTimeMillis(), nanoTime()
>>현재 시간을 읽어서 각각 밀리세컨드(1/1000초)단위와 나노세컨드(1/10^9초) 단위의 long값을 리턴한다.
ㄴ리턴값은 주로 프로그램 실행소요시간 측정에 사용된다. 시작할때랑 끝날 때 읽어서 차이를 구하면 된다.
예제에서 직접 확인하자. 1~1000000까지 합을 구하는데 소요된 시간 측정하기
ㅠㅠ 혼공자 책에서는 2407700나노초 걸렸다고 써있는데
나는 ㅠ,ㅠ 25004000나노초가 걸렸다고 한다... 흑흑 계산이 10배는 더 느린곤가 그래두 내컴퓨터 사랑해
'JAVA' 카테고리의 다른 글
[JAVA] java.lang 패키지의 String 클래스 (0) | 2020.07.23 |
---|---|
[JAVA] java.lang 패키지의 Class클래스 (0) | 2020.07.23 |
[JAVA] java.lang 패키지의 Object클래스 (0) | 2020.07.22 |
[혼자 공부하는 자바] 7/21 11-1 [기본 API클래스] [java.lang 패키지] (0) | 2020.07.21 |
[혼자 공부하는 자바] 7/19 10-2 [예외 처리] (0) | 2020.07.19 |