4-4.À¯Æ¿¸®Æ¼ Ŭ·¡½º

System

SystemÀº ÇÁ·Î±×·¥ ¿ÜºÎÀÇ È¯°æÀ» Á¦¾îÇÏ´Â ±â´ÉµéÀ» ¸ð¾Æ ³õÀº Ŭ·¡½ºÀÌ´Ù. ¿î¿µÃ¼Á¦¸¦ Á¦¾îÇÏ´Â ±â´ÉÀ̶óµç°¡ ÄÜ¼Ö ÀÔÃâ·Â, º¸¾È °ü·Ã ±â´É µîÀÌ Á¦°øµÈ´Ù. ¸ðµç ¸â¹ö°¡ Á¤ÀûÀ̹ǷΠ°´Ã¼¸¦ ¸¸µé ÇÊ¿ä°¡ ¾ø´Ù. System.¸â¹ö ½ÄÀ¸·Î È£ÃâÇϱ⸸ ÇÏ¸é µÈ´Ù.

SystemÀÇ ¸â¹öÁß °¡Àå ´ëÇ¥ÀûÀÎ °ÍÀÌ ÄÜ¼Ö ÀÔÃâ·ÂÀ» ´ã´çÇÏ´Â in, out ÇʵåÀÌ´Ù. ÀÌ Çʵ忡 println, printf, read °°Àº ¸Þ¼­µå°¡ Á¤ÀûÀ¸·Î ¼±¾ðµÇ¾î ÀÖÀ¸¸ç ¾Õ¿¡¼­ Áö°ã°Ô ¸¹ÀÌ ½Ç½ÀÇØ º¸¾ÒÀ¸¹Ç·Î ´õ ¼³¸íÇÒ ÇÊ¿ä°¡ ¾øÀ» °ÍÀÌ´Ù. ´ÙÀ½Àº System¿¡ Á÷Á¢ÀûÀ¸·Î Æ÷ÇÔµÈ ¸Þ¼­µåµéÀÌ´Ù. ¿¹¿Ü¾øÀÌ Á¤ÀûÀ̹ǷΠstatic Å°¿öµå´Â »ý·«Çß´Ù.

 

¸Þ¼­µå

¼³¸í

void exit(int status)

ÇÁ·Î±×·¥À» Áï½Ã Á¾·áÇÑ´Ù.

String getenv(String name)

¿î¿µÃ¼Á¦ÀÇ È¯°æ º¯¼ö¸¦ Àд´Ù.

void gc()

°¡ºñÁö Ä÷ºÅ͸¦ ½ÇÇàÇÑ´Ù.

void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

¹è¿­À» º¹»çÇÏ´Â ÀÏÁ¾ÀÇ À¯Æ¿¸®Æ¼ ÇÔ¼öÀÌ´Ù.

long currentTimeMillis()

ÇöÀç ½Ã°£À» Á¶»çÇÑ´Ù.

Properties getProperties()

½Ã½ºÅÛ ÇÁ·ÎÆÛƼ Àüü¸¦ Àд´Ù.

String getProperty(String key)

Àμö·Î ÁöÁ¤ÇÑ ÇÁ·ÎÆÛƼ¸¸ Àд´Ù.

String setProperty(String key, String value)

ÇÁ·ÎÆÛƼ¸¦ º¯°æÇÑ´Ù.

void runFinalization()

Á¦°¡ ´ë±âÁßÀÎ °´Ã¼ÀÇ finalize ¸Þ¼­µå¸¦ È£ÃâÇÑ´Ù.

 

½Ç¿ëÀûÀÎ ¿¹Á¦ Çϳª¸¸ ¼Ò°³ÇØ º¸ÀÚ. ´ÙÀ½ ÇÁ·Î±×·¥Àº ¹®ÀÚ¿­À» ¸¸¹ø Ãâ·ÂÇÏ´Â ¼öÇà ½Ã°£À» ÃøÁ¤ÇÑ´Ù.

 

class JavaExam {

     public static void main(String args[]) {

          long start = System.currentTimeMillis();

          for (int i = 0; i < 10000; i++) {

              System.out.println(i + "¹ø° ÁÙ");

          }

          long end = System.currentTimeMillis();

          System.out.println((end-start)/1000.0 + " ÃÊ °É¸²");

     }

}

 

ÀÛ¾÷À» ½ÃÀÛÇÒ ¶§ ½Ã°£À» ±¸ÇØ ³õ°í ³¡³¯ ¶§ ½Ã°£À» ±¸ÇØ »©¸é °É¸° ½Ã°£À» ¾Ë ¼ö ÀÖ´Ù. ½Ã½ºÅÛ ¼Óµµ¿¡ µû¶ó °á°ú´Â ´Þ¶óÁö´Âµ¥ ³» ÄÄÇ»ÅÍ¿¡¼­´Â 0.172ÃÊ°¡ °É·È´Ù.

Math

Math´Â ¼öÇÐ ¿¬»ê ¸Þ¼­µå¸¦ Á¦°øÇϴ Ŭ·¡½ºÀÌ´Ù. ÀÚ¹Ù ÀÚü¿¡µµ ¿¬»êÀÚ°¡ ÀÖ±â´Â ÇÏÁö¸¸ Á» ´õ º¹ÀâÇÑ ¿¬»êÀÌ ÇÊ¿äÇÒ ¶§´Â MathÀÇ ¸Þ¼­µå¸¦ È£ÃâÇÑ´Ù. ´ÙÀ½Àº ÀÚÁÖ »ç¿ëµÇ´Â ¸Þ¼­µåµéÀÌ´Ù.

 

¸Þ¼­µå

¼³¸í

int abs(int a)

Àý´ë°ªÀ» ±¸ÇÑ´Ù.

int min(int a, int b)

a¿Í bÁß ÀÛÀº °ªÀ» ¸®ÅÏÇÑ´Ù.

int max(int a, int b)

a¿Í bÁß Å« °ªÀ» ¸®ÅÏÇÑ´Ù.

double sin(double a)

»ï°¢ÇÔ¼ö sinÀ» °è»êÇÑ´Ù. Àμö a´Â ¶óµð¾È °ªÀÌ´Ù.

double cos(double a)

»ï°¢ÇÔ¼ö csoÀ» °è»êÇÑ´Ù.

double tan(double a)

»ï°¢ÇÔ¼ö tan¸¦ °è»êÇÑ´Ù.

double pow(double a, double b)

°Åµì½ÂÀ» °è»êÇÑ´Ù.

double sqrt(double a)

Á¦°ö±ÙÀ» °è»êÇÑ´Ù.

double hypot(double x, double y)

xÁ¦°ö + yÁ¦°öÀÇ Á¦°ö±ÙÀ» °è»êÇÑ´Ù.

long round(double a)

a¿Í °¡Àå °¡±î¿î long °ªÀ» ±¸ÇÑ´Ù.

double log(double a)

ÀÚ¿¬ ·Î±×¸¦ °è»êÇÑ´Ù.

double log10(double a)

»ó¿ë ·Î±×¸¦ °è»êÇÑ´Ù.

double floor(double a)

a¸¦ ³»¸²ÇÑ´Ù.

double ceil(double a)

a¸¦ ¿Ã¸²ÇÑ´Ù.

double random()

0~1 »çÀÌÀÇ ³­¼ö¸¦ ¹ß»ý½ÃŲ´Ù.

 

ÀÌÁß ÀϺδ float¿Í double ŸÀÔ¿¡ ´ëÇؼ­µµ ¿À¹ö·ÎµùµÇ¾î ÀÖÀ¸¹Ç·Î ¼öÄ¡Çü¿¡´Â °øÅëÀûÀ¸·Î Àû¿ë °¡´ÉÇÏ´Ù. Math¿¡´Â ÀÚ¿¬ ·Î±× E¿Í ¿øÁÖÀ² PI°¡ »ó¼ö·Î Á¤ÀǵǾî ÀÖ´Ù. ¸¸¾à À§ ¸Þ¼­µå°¡ °è»êÇÏ´Â °ª¿¡ ´ëÇØ Àß ¸ð¸¥´Ù¸é ¼öÇÐ Âü°í¼­¸¦ ºÁ¾ß ÇÑ´Ù.

³­¼ö¸¦ »ý¼ºÇÒ ¶§´Â Math.random ¸Þ¼­µå¸¦ »ç¿ëÇÒ ¼öµµ ÀÖÁö¸¸ Á» ´õ Á¤¹ÐÇÑ ³­¼ö¸¦ »ý¼ºÇÒ ¶§´Â java.util ÆÐÅ°Áö¿¡ ¼±¾ðµÈ Random Ŭ·¡½º¸¦ »ç¿ëÇÑ´Ù. »ý¼ºÀÚ´Â ´ÙÀ½°ú °°´Ù.

 

Random()

Random(long seed)

 

³­¼öÀÇ ½ÃÀÛÁ¡À» Àμö·Î ÁöÁ¤Ç쵂 »ý·«ÇÏ¸é ¾Ë¾Æ¼­ Àû´çÇÑ °ªÀ¸·Î ½ÃÀÛÁ¡À» ¼³Á¤ÇÑ´Ù. °´Ã¼¸¦ »ý¼ºÇÑ ÈÄ ´ÙÀ½ ¸Þ¼­µå·Î ¿øÇÏ´Â ³­¼ö¸¦ ¾ò´Â´Ù.

 

int nextInt()

int nextInt(int n)

long nextLong()

double nextDouble()

 

nextInt(int n)ÀÌ °¡Àå ÀϹÝÀûÀ¸·Î »ç¿ëµÈ´Ù. 0 ~ n ¹Ì¸¸ÀÇ ³­¼ö¸¦ ¸®ÅÏÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â 0~99±îÁöÀÇ ³­¼ö 10°³¸¦ »ý¼ºÇÏ¿© Ãâ·ÂÇÑ´Ù.

 

import java.util.Random;

class JavaExam {

     public static void main(String args[]) {

          Random R = new Random();

          for (int i = 0; i < 10; i++) {

              System.out.println(R.nextInt(100));

          }

     }

}

 

¸Å ½ÇÇà½Ã¸¶´Ù Ãâ·ÂµÇ´Â ³­¼ö°¡ ´Þ¶óÁø´Ù.

³¯Â¥¿Í ½Ã°£

³¯Â¥¿Í ½Ã°£À» °ü¸®Çϴ Ŭ·¡½º´Â CalendarÀÌ´Ù. ÀÌ Å¬·¡½º´Â Ãß»óÀ¸·Î ¼±¾ðµÇ¾î Àִµ¥ Áö¿ªÀ̳ª ±¹°¡¿¡ µû¶ó ³¯Â¥¸¦ °ü¸®ÇÏ´Â ¹æ¹ýÀÌ ´Ù¸£±â ¶§¹®ÀÌ´Ù. ¿ì¸®°¡ ÈçÈ÷ »ç¿ëÇÏ´Â ¾ç·ÂÀº GregorianCalender Ŭ·¡½º·Î Ç¥ÇöÇÑ´Ù. »ý¼ºÀÚ´Â ´ÙÀ½°ú °°´Ù.

 

GregorianCalendar()

GregorianCalendar(int year, int month, int dayOfMonth)

GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second)

 

Àμö·Î ³¯Â¥¸¦ Àü´ÞÇÒ ¼öµµ ÀÖ°í ³¯Â¥¿Í ½Ã°£À» °°ÀÌ Àü´ÞÇÒ ¼öµµ ÀÖ´Ù. Àμö¸¦ Àü´ÞÇÏÁö ¾ÊÀ¸¸é ½Ã½ºÅÛ ½Ã°è¸¦ Àоî ÇöÀç ½Ã°£À¸·Î ÃʱâÈ­µÈ´Ù. ½Ã½ºÅÛÀº ±¹Á¦Ç¥ÁؽÃÀÎ GMT·Î µÈ ½Ã°£À» ÀúÀåÇϴµ¥ µðÆúÆ® »ý¼ºÀÚ´Â ÀÌ °ªÀ» ÇöÀç Áö¿ª ½Ã°£À¸·Î ¹Ù²Û °ªÀ¸·Î ÃʱâÈ­ÇÑ´Ù. get ¸Þ¼­µå·Î ³¯Â¥, ½Ã°£ ¿ä¼Ò¸¦ Àб⸸ Çϸé ÇöÀç ½Ã°£À» ½±°Ô ±¸ÇÒ ¼ö ÀÖ´Ù.

 

import java.util.*;

class JavaExam {

     public static void main(String args[]) {

          GregorianCalendar C = new GregorianCalendar();

          System.out.printf("%d³â %d¿ù %dÀÏ %s %d½Ã %dºÐ %dÃÊ",

              C.get(Calendar.YEAR),

              C.get(Calendar.MONTH),

              C.get(Calendar.DATE),

              C.get(Calendar.AM_PM) == Calendar.AM ? "¿ÀÀü":"¿ÀÈÄ",

              C.get(Calendar.HOUR),

              C.get(Calendar.MINUTE),

              C.get(Calendar.SECOND));

     }

}

 

get ¸Þ¼­µåÀÇ Àμö·Î ±¸ÇÏ°íÀÚ ÇÏ´Â ¿ä¼Ò¿¡ ´ëÇÑ »ó¼ö¸¦ Àü´ÞÇϱ⸸ ÇÏ¸é µÈ´Ù. °¢ °ªÀ» ±¸ÇØ ¹®ÀÚ¿­·Î Æ÷¸ËÆÃÇÏ¿© Ãâ·ÂÇß´Ù. ³¯Â¥ Á¤º¸ÀÇ Æ÷¸ËÆÃÀ» µµ¿ÍÁÖ´Â DateFormatÀ̶ó´Â Ŭ·¡½ºµµ ÀÖ´Ù.