본문 바로가기

Java

(130)
[Java] 우선순위 스레드(Priority Thread) 이중 스레드에서 우선순위를 정해서 실행할 수 있을까? . . class MessageThread extends Thread{ String message; public MessageThread(String str, int prio){ message = str; setPriority(prio); // 받아온 우선 순위를 현 인스턴스(스레드)에 지정 } public void run(){ for (int i = 0 ; i < 10 ; i++ ){ System.out.println(message + "(" + getPriority() + ")"); // getPriority() : 현재 동작중인 스레드의 우선순위 리턴 } } } class PriorityTest{ public static void main(Str..
[Java] Runnable 스레드(Runnable thread) 스레드의 라이프 사이클 - new -> runnable -> blocked -> dead new : new 키워드로 Thread클래스를 상속받은 스레드 인스턴스 생성 runnable : start()메소드가 실행되어 run()메소드를 호출하고 실행하는 상태 blocked : 실행중인 스레드가 sleep()이나 join()메소드를 호출하거나, CPU의 할당이 필요치 않은 입출력 연산을 하게 되면, CPU를 다른 스레드에 넘기고 본인은 blocked 상태가 되며, blocked상태가 끝나면 다시 runnable상태가 됩니다. dead : run()메소드의 실행이 종료되면 dead상태가 됩니다. . . class Sum{ int num; public Sum(){ num = 0; } public void add..
[Java] 스레드(Thread) 스레드(thread) - java.lang 패키지에 있는 클래스 - 프로그램의 실행흐름을 의미하는 것으로 일반적으로 main()메소드를 시작으로 하나의 흐름으로 진행됩니다. - 두 개이상의 흐름을 작업하면 멀티스레드라 하여 각 실행 흐름을 제어합니다. . . 예제 class ShowThread extends Thread{ //Thread클래스를 상속받음으로써 ShowThread클래스는 하나의 쓰레드로 동작할 수 있음 String threadName; public ShowThread(String name){ threadName = name; } public void run(){ // Thread클래스의 메소드로 오버라이딩하여 작업해야 함 // 실제 현 스레드에서 해야 할 작업을 구현해 놓는 메소드 // s..
[Java] StringTokenizer 클래스 StringTokenizer클래스 - java.util 패키지에 있는 클래스로 문자열을 지정한 구분자를 기준으로 자릅니다. - String클래스의 split() 메소드와 비슷한 부분이 있으나 구분자 지정방법에서 다릅니다. - 생성자 StringTokenizer(String str) : 문자열을 공백(띄어쓰기)을 기준으로 자름 StringTokenizer(String str, String delim) : str을 delim기준으로 자름(delim은 미포함) stringTokenizer(String str, String delim, boolean returnDelims) : str을 delim기준으로 자름(delim은 boolean returnDelims이 true이면 포함시킴) - 주요 메소드 리턴 / 메..
[Java] 랜덤 클래스 - 로또 번호 만들기 Random클래스 - java.util 패키지에 있는 클래스로 난수(무작위 수, 랜덤 수)를 발생시키는 클래스 난수 : 특별한 규칙없이 나오는 숫자로 기본적으로 0이상 1미만의 실수가 나옵니다. - 주요 메소드 리턴 메소드명 및 설명 double nextDouble() : double형 난수를 리턴(0.0이상 ~ 1.0미만) float nextFloat() : float형 난수를 리턴(0.0이상 ~ 1.0미만) int nextInt(int bound) : int형 난수를 리턴(0이상 ~ bound미만) . . 예제 import java.util.*; class RandomNumber{ public static void main(String[] args) { Random rand = new Random()..
[Java] Math 클래스 Math클래스 - java.lang 패키지에 있는 클래스로 수학관련 기능을 제공하는 클래스 - Math 클래스의 모든 멤버는 static으로 선언되어 있음. . . 우리가 흔히 알고 있는 수학 함수 및 용어들(sin(), cos() PI 등등)을 쉽게 사용할 수 있다. . . 예제 class MathClass { public static void main(String[] args) { System.out.println("원주율 : " + Math.PI); System.out.println("2의 제곱근 : " + Math.sqrt(2)); double radian45 = Math.toRadians(45); System.out.println("싸인 45 : " + Math.sin(radian45)); Sy..
[Java] BigDecimal 클래스 BigDecimal 클래스 - java.math 패키지에 있으며 정확한 실수끼리의연산을 위한 클래스 - 정확한 실수끼리의 연산을 위한 클래스 - 주요메소드 리턴타입 / 메소드명 및 설명 BigDecimal / abs() : 절대값으로 리턴 BigDecimal / add(BigDecimal val) : BigDecimal끼리의 덧셈 BigDecimal / divide(BigDecimal val) : BigDecimal끼리의 나눗셈 double / doubleValue() : BigDecimal를 double형 데이터로 변환 float / floatValue() : BigDecimal를 float형 데이터로 변환 int / intvalue() : BigDecimal를 int형 데이터로 변환 long / lo..
[Java] BigInteger 클래스 BigInteger 클래스 - java.math 패키지에 있으며 long으로도 표현 못하는 큰 정수를 표현하는 클래스 - 생성자 BigInteger(String val) : 문자열로 표현하려는 숫자를 입력하여 생성 - 주요메소드 리턴타입 / 메소드명 및 설명 BigInteger / abs() : 절대값으로 리턴 BigInteger / add(BigInteger val) : BigInteger끼리의 덧셈 BigInteger / divide(BigInteger val) : BigInteger끼리의 나눗셈 double / doubleValue() : BigInteger를 double형 데이터로 변환 float / floatValue() : BigInteger를 float형 데이터로 변환 int / intval..