2.3 ¿¬»êÀÚ

ÀÛ¼ºÀÚ : ÁøÀº¿µ ( 2004-07-05)

[¸ÞÀÎ] [¸ñ·Ï]

¸ñÂ÷
  • ÇÒ´ç ¿¬»êÀÚ
  • »ê¼ú ¿¬»êÀÚ
  • °ü°è ¿¬»êÀÚ
  • ³í¸® ¿¬»êÀÚ
  • ? ¿¬»êÀÚ

2.3.1 ÇÒ´ç ¿¬»êÀÚ

ÇÒ´ç ¿¬»êÀÚ´Â = ±âÈ£·Î ³ªÅ¸³½´Ù.
º¯¼ö¸í = °ª ;
¿©±â¿¡¼­ º¯¼ö¸í°ú °ªÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀÌ °°¾Æ¾ß ÇÑ´Ù. ¸¸¾à °°Áö ¾ÊÀ» °æ¿ì¿¡´Â ¿À¸¥ÂÊÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀÌ ¿ÞÂʺ¸´Ù ÀÛ¾Æ¾ß ÇÑ´Ù. ¾Æ·¡ÀÇ ¿¹¸¦ »ìÆ캸ÀÚ.
public class ExprTest {
  public static void main( String [] args ){
    byte b1 ; 
    int i1 ; 

    b1 = 128 ; // error
    i1 = 0 ; 
  }
}
ÄÄÆÄÀÏ

---------- javac ----------
ExprTest.java:6: possible loss of precision
found : int
required: byte
b1 = 128 ;
^
1 error
Ãâ·Â ¿Ï·á (1ÃÊ °æ°ú) - Á¤»ó Á¾·á
¿À·ù ¸Þ½ÃÁö¸¦ º¸¸é ¹ß°ßÇÑ °ÍÀº int Àε¥, ÇÊ¿äÇÑ °ÍÀº byte ŸÀÔÀ̶ó°í ³ª¿Â°ÍÀ» ¾Ë ¼ö ÀÖ´Ù. Áï byte ŸÀÔÀÇ ¹üÀ§´Â 127±îÁö Àε¥ 128À» ³ÖÀ¸´Ï ¹üÀ§¿¡ ¹þ¾î³­´Ù´Â °ÍÀÌ´Ù. Á¤¼öÇü¿¡¼­ÀÇ ±âº»°ªÀº int¶ó°í ¾ê±âÇß´Ù. ¿À¸¥ÂÊÀÇ °ªÀÇ µ¥ÀÌÅÍŸÀÔÀº intÀε¥, ¿ÞÂÊÀº byte·Î µÇ¾î Àֱ⠶§¹®¿¡ ÄÄÆÄÀÏ ½Ã¿¡ ¿À·ù°¡ ³­ °ÍÀÌ´Ù. °ªÀ» byteŸÀÔÀ¸·Î ¹Ù²Ù´ø°¡ , ¾Æ´Ï¸é ¿ÞÂÊ º¯¼öÀÇ Å¸ÀÔÀ» byteº¸´Ù Å«ÇüÀ¸·Î ¹Ù²Ù¾î¾ß ÇÒ °ÍÀÌ´Ù.


2.3.2 »ê¼ú ¿¬»êÀÚ

¨ç ±âº» »ê¼ú ¿¬»êÀÚ
¿¬»êÀÚ °á°ú
+´õÇϱâ
-»©±â
*°öÇϱâ
/³ª´©±â
%³ª¸ÓÁö
++Áõ°¡¿¬»êÀÚ
+=µ¡¼À ÇÒ´ç
=»¬¼À ÇÒ´ç
*=°ö¼À ÇÒ´ç
/=³ª´°¼À ÇÒ´ç
%=³ª¸ÓÁö ÇÒ´ç
--°¨¼Ò

»ê¼ú ¿¬»êÀÚÀÇ ÇÇ¿¬»êÀÚ´Â ¼öÄ¡ ŸÀÔÀ̾î¾ß ÇÑ´Ù.

¾Æ·¡ÀÇ ¿¹¸¦ ½ÇÇàÇغ¸ÀÚ

public class ExprTest1 {
  public static void main( String [] args ){
    System.out.println( "Á¤¼öÇü »ê¼ú ¿¬»ê.........." ) ; 
    int a = 1 + 1 ; 
    int b = a * 3 ; 
    int c = b / 4 ; 
    int d = c - a ;
    int e = -d ; 
   
    System.out.println( "a = " + a ) ; 
    System.out.println( "b = " + b ) ; 
    System.out.println( "c = " + c ) ; 
    System.out.println( "d = " + d ) ; 
    System.out.println( "e = " + e ) ; 

    System.out.println( "½Ç¼öÇü »ê¼ú ¿¬»ê.........." ) ; 
    double da = 1 + 1 ; 
    double db = da * 3 ; 
    double dc = db / 4 ; 
    double dd = dc - a ;
    double de = -dd ; 

    System.out.println( "da = " + da ) ; 
    System.out.println( "db = " + db ) ; 
    System.out.println( "dc = " + dc ) ; 
    System.out.println( "dd = " + dd ) ; 
    System.out.println( "de = " + de ) ; 

  }
}
°á°ú

---------- java ----------
Á¤¼öÇü »ê¼ú ¿¬»ê..........
a = 2
b = 6
c = 1
d = -1
e = 1
½Ç¼öÇü »ê¼ú ¿¬»ê..........
da = 2.0
db = 6.0
dc = 1.5
dd = -0.5
de = 0.5
Ãâ·Â ¿Ï·á (0ÃÊ °æ°ú) - Á¤»ó Á¾·á

¨è Áõ°¡¿Í °¨¼ö
++ ¿Í -- ´Â Áõ°¡ , °¨¼Ò ¿¬»êÀÚÀÌ´Ù. ++´Â ÇÇ¿¬»êÀÚ¸¦ Çϳª¸¸Å­ Áõ°¡½ÃŲ´Ù
x = x + 1 >=> x++
¿Í °°ÀÌ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.
x = x - 1 >=> x--


2.3.3 °ü°è¿¬»êÀÚ

°ü°è ¿¬»êÀÚ´Â ÇÇ¿¬»êÀÚ°£ÀÇ °ü°è¸¦ °áÁ¤ÇÏ´Â °ÍÀÌ´Ù. ÀÌµé ¿¬»êÀÇ °á°ú´Â ºí¸®¾ð°ªÀ¸·Î ³ªÅ¸³­´Ù.
¿¬»êÀÚ ¿¬»ê°á°ú°á°ú
>µ¿ÀÏÇÏ´Ù
!=¼­·Î ´Ù¸£´Ù
>´õ Å©´Ù
<´õ ÀÛ´Ù
>=Å©°Å³ª °°´Ù
<=À۰ųª °°´Ù

ÀÚ¹Ù¿¡¼­ µ¿ÀÏÇϴٴ ǥÇöÀº = ÀÌ ¾Æ´Ï¶ó == À̶ó´Â Á¡À» ÁÖÀÇÇÏÀÚ. ¶ÇÇÑ ¼øÀ§¸¦ °áÁ¤ÇÏ´Â ¿¬»êÀÚ´Â ¼öÄ¡ ŸÀÔ¿¡¸¸ Àû¿ëµÈ´Ù. ¿¹¸¦ µé¾î ¾Æ·¡ ÄÚµå´Â Ÿ´çÇÑ °ÍÀÌ´Ù.
int a = 4 ;
int b = 1;
boolean c = a < b ;


2.3.4 ³í¸®¿¬»êÀÚ

³í¸® ¿¬»êÀÚ´Â ºí¸®¾ð ÇÇ¿¬»êÀÚ¿¡ ´ëÇؼ­¸¸ Àû¿ëµÈ´Ù.
¿¬»êÀÚ ¿¬»ê°á°ú°á°ú
& ³í¸®°ö
|³í¸®ÇÕ
^¹èŸÀû ³í¸®ÇÕ
||Short-curcuit ³í¸®ÇÕ
&& Short-circuit ³í¸®°ö
!³í¸® ´ÜÇ× ºÎÁ¤

¿©±â¿¡¼­´Â short-circuit °ú ±âº» ³í¸®¿¬ÀÜÀÚ¿¡ ´ëÇØ ±¸ºÐÇØ º¸ÀÚ
¾Æ·¡ÀÇ ¿¹¸¦ »ìÆ캸ÀÚ
public class BoolLogin {
  public static void main( String [] args ){
      int a = 0 ; 
      int b = 0 ;
      int c = 0 ; 
      int d = 0 ; 

      System.out.println( (a > b ) & (a++ > b ) ) ;
      System.out.println( "a = " + a + " , b = " + b ) ; 
      System.out.println( (c > d ) && (c++ > d ) ) ;
      System.out.println( "c = " + c + " , d = " + d ) ; 
  }
}
°á°ú

---------- java ----------
false
a = 1 , b = 0
false
c = 0 , d = 0
Ãâ·Â ¿Ï·á (0ÃÊ °æ°ú) - Á¤»ó Á¾·á
À§ÀÇ ¿¹¸¦ º¸¸é & ¿Í && ÀÇ Â÷ÀÌÁ¡À» ¾Ë ¼ö ÀÖ´Ù. & ´Â ¿ÞÂÊÀÇ °á°ú°¡ ¹«¾ùÀ̵çÁö »ó°ü¾øÀÌ ¹«Á¶°Ç ¿À¸¥ÂÊÀÇ ¿¬»êµµ ½ÇÇàÇÑ´Ù. ±×·¯³ª short-circuitÀÇ &&´Â ¿ÞÂÊÀÇ false¶ó¸é ¿À¸¥ÂÊÀ» ½ÇÇàÇغÁµµ falseÀ̱⠶§¹®¿¡ ¿À¸¥ÂÊÀÇ ¿¬»êÀº ½ÇÇàÇÏÁö ¾Ê´Â´Ù. | ¿Í ||µµ ¸¶Âù°¡ÁöÀÌ´Ù. ³ªÁß¿¡ °³¹ßÀ» ÇÏ´Ùº¸¸é & ¿Í && ¸¦ ±¸ºÐÇؼ­ ½á¾ß ÇÒ¶§°¡ ¿À±â¶§¹®¿¡ ²À ¾Ë¾ÆµÖ¾ß ÇÒ °ÍÀÌ´Ù.


2.3.4 ³í¸®¿¬»êÀÚ

ÀÚ¹Ù¿¡¼­´Â if - then - else ¸¦ ´ëóÇÏ´Â »ïÇ× ¿¬»êÀÚ°¡ ÀÖ´Ù. ÀÌ ¿¬»êÀÚ´Â ?·Î Ç¥±âÇϸç ÀÌÇظ¸ ÀßÇϸé À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù.
Á¶°Ç ? true : false
Á¶°ÇÀÌ ¸Â´Ù¸é true¸¦ ½ÇÇàÇÏ°í ±×·¸Áö ¾ÊÀ¸¸é false¸¦ ½ÇÇàÇÏ¸é µÈ´Ù.
¾Æ·¡ÀÇ ¿¹¸¦ »ìÆ캸´Ù.
public class Ternary {
  public static void main( String [] args ){
      int i , k ; 
      i = 10 ; 
      k = i < 0 ? -i : i ; 
      System.out.println( "k=" + k ) ;
  }
}
°á°ú

---------- java ----------
k=10
Ãâ·Â ¿Ï·á (0ÃÊ °æ°ú) - Á¤»ó Á¾·á

Âü°í¹®Çå
  • The Complete Reference Java2 [´ë±¤¼­¸²]