ì€ìœí1 - ì§ì ë³ìì ì€ìœí
ë³ìë ì ìží ìì¹ì ë°ëŒ ì§ì ë³ì, ë©€ë² ë³ì(íŽëì€ ë³ì, ìžì€íŽì€ ë³ì)ì ê°ìŽ ë¶ë¥ëë€.
ì§êžê¹ì§ íìµí ë³ìë€ì 몚ë ììŽë¡ ë¡ì»¬ ë³ì(Local Variable) íêžë¡ ì§ì ë³ìëŒ íë€.
ì§ì ë³ìë ìŽëŠ ê·žëë¡ í¹ì ì§ìììë§ ì¬ì©í ì ìë ë³ìëŒë ë»ìŽë€. í¹ì ì§ìì ë²ìŽëë©Ž ì¬ì©í ì ìë€.
ì¬êž°ì ë§íë ì§ììŽ ë°ë¡ ë³ìê° ì ìžë ìœë ëžë¡( { } )ìŽë€. ì§ì ë³ìë ìì ìŽ ì ìžë ìœë ëžë¡ ( { } ) ìììë§ ìì¡Žíê³ , ìì ìŽ ì ìžë ìœë ëžë¡ì ë²ìŽëë©Ž ì ê±°ëë€.
ë°ëŒì ìŽíìë ì ê·Œí ì ìë€ ð¥²ð¥²
Scope1
package scope;
public class Scope1 {
public static void main(String[] args) {
int m = 10; //m ìì¡Ž ìì
if (true) {
int x = 20; //x ìì¡Ž ìì
System.out.println("m = " + m); //m ìì¡Ž ê°ë¥, ëžë¡ ëŽë¶ìì ëžë¡ ìžë¶ë ì ê·Œ ê°ë¥!!
System.out.println("x = " + x); //x ìì¡Ž ê°ë¥
} //x ìì¡Ž ì¢
ë£
//System.out.println("main x = " + x); //x ìì¡Ž ë¶ê°ë¥, ì€ë¥ ë°ì!! ë³ì xì ì ê·Œ ë¶ê°...
System.out.println("main m = " + m); //m ìì¡Ž ê°ë¥
} //m ìì¡Ž ì¢
ë£
}
- int m
- int mì main{ } ì ìœë ëžë¡ ììì ì ìžëìë€.
ë°ëŒì ë³ì륌 ì ìží ìì ë¶í° main{ } ì ìœë ëžë¡ìŽ ì¢ ë£ë ëê¹ì§ ìì¡Ž ê°ë¥íë€. - if{ } ëžë¡ ëŽë¶ììë ìžë¶ ëžë¡ìì ì ìžë mì ì ê·Œí ì ìë€.
ìœê² ìŽìŒêž°íŽì ìì¡Ž ë²ìë§ ë§ìŒë©Ž ë€ ì ê·Œí ì ìë€.
- int mì main{ } ì ìœë ëžë¡ ììì ì ìžëìë€.
- int x
- int xë if{ } ëžë¡ ììì ì ìžëìë€.
ë°ëŒì ë³ì륌 ì ìží ìì ë¶í° if{ } ì ìœë ëžë¡ìŽ ì¢ ë£ë ëê¹ì§ ìì¡Ž ê°ë¥íë€. - if{ } ëŽë¶ììë ìì ì ë²ììì ì ìží xì ë¹ì°í ì ê·Œí ì ìë€.
- if{ } ìœë ëžë¡ìŽ ëëë²ëŠ¬ë©Ž xë ì ê±°ëë€. ë°ëŒì ëë xì ì ê·Œí ì ìë€.
ìŽíì ì ê·Œíë©Ž cannot find symbol ìŽëŒë ë³ì ìŽëŠì ì°Ÿì ì ìë€ë 컎íìŒ ì€ë¥ê° ë°ìíë€.
- int xë if{ } ëžë¡ ììì ì ìžëìë€.
ì 늬íë©Ž ì§ì ë³ìë 볞ìžì ìœë ëžë¡ ìììë§ ìì¡Ž ê°ë¥íë€. ê·žëŠ¬ê³ ìì ì ìœë ëžë¡ ìììë ìŒë§ë ì§ ì ê·Œí ì ìë€.
íì§ë§ ìì ì ìœë ëžë¡ì ë²ìŽëë©Ž ì ê±°ëêž° ë묞ì ì ê·Œí ì ìë€... ð¥²ð¥²
ìŽë ê² ë³ìì ì ê·Œ ê°ë¥í ë²ì륌 ì€ìœí(Scope)ëŒê³ íë€. ì°žê³ ë¡ Scope륌 ë²ìíë©Ž ë²ìëŒë ë»ìŽë€.
int mì main{ } ì 첎ìì ì ê·Œí ì ìêž° ë묞ì ì€ìœíê° ëê³ , int xë if{ } ìœë ëžë¡ ìììë§ ì ê·Œí ì ìêž° ë묞ì ì€ìœíê° ì§§ë€.
Scope2
package scope;
public class Scope2 {
public static void main(String[] args) {
int m = 10; //m ìì¡Ž ìì
for (int i = 0; i < 2; i++) { //i ìì¡Ž ìì, ëžë¡ ëŽë¶, for묞 ëŽììë§...
System.out.println("for m = " + m); //ëžë¡ ëŽë¶ìì ìžë¶ë ì ê·Œ ê°ë¥!!
System.out.println("for i = " + i); //i ìì¡Ž ê°ë¥
} //i ìì¡Ž ì¢
ë£
System.out.println("main m = " + m); //m ìì¡Ž ê°ë¥
System.out.println("main i = " + i); //i ìì¡Ž ë¶ê°ë¥, ì€ë¥ ë°ì!! i ì ê·Œ ë¶ê°ë¥...
} //m ìì¡Ž ì¢
ë£
}
for묞ìŒë¡ ë°ë ê²ì ì ìžíë©Ž ìì ìì ì ë¹ì·í ìì ìŽë€.
for묞ì ê²œì° for(int i = 0; i < 2; i++) 곌 ê°ìŽ for묞 ììì ìŽêž°ìì ì§ì ë³ì륌 ì ìží ì ìë€.
ê·žëŠ¬ê³ ìŽë ê² ì ìží ë³ìë for묞 ìœë ëžë¡ ìììë§ ì¬ì©í ì ìë€.
ì€ìœí2 - ì€ìœí ì¡Žì¬ ìŽì
ë³ì륌 ì ìží ìì ë¶í° ë³ì륌 ê³ì ì¬ì©í ì ìê² íŽë ëì§ ììê¹? ì ë³µì¡íê² ì ê·Œ ë²ì(ì€ìœí)ëŒë ê°ë ì ë§ë€ììê¹? ð€šð€šð€š
Scope3_1
package scope;
public class Scope3_1 {
public static void main(String[] args) {
int m = 10; //m ìì¡Ž ìì
int temp = 0; //temp ìì¡Ž ìì
if (m > 0) {
temp = m * 2; // m, temp ìì¡Ž ê°ë¥!
System.out.println("temp = " + temp); //temp ìì¡Ž ê°ë¥!!
}
System.out.println("m = " + m); //m ìì¡Ž ê°ë¥!
} //m, temp ìì¡Ž ì¢
ë£
}
ì¡°ê±ŽìŽ ë§ìŒë©Ž ë³ì mì ê°ì 2ë°° ìŠê°íŽì ì¶ë ¥íë ìœëìŽë€.
ì¬êž°ì 2ë°° ìŠê°í ê°ì ì ì¥íŽëêž° ìíŽ ìì ë³ì temp륌 ì¬ì©íë€. ê·žë°ë° ìŽ ìœëë ì¢ì ìœëëŒê³ 볎Ʞë ìŽë µë€... ð€š
ìëíë©Ž ìì ë³ì tempë if ì¡°ê±ŽìŽ ë§ì¡±í ë ììë¡ ì ê¹ ì¬ì©íë ë³ììŽë€.
ê·žë°ë° ìì ë³ì temp main( ) ìœë ëžë¡ì ì ìžëìŽ ìë€. ìŽë ê² ëë©Ž ë€ì곌 ê°ì 묞ì ê° ë°ìíë€.
- ë¹íšìšì ìž ë©ëªšëŠ¬ ì¬ì© :
tempë if ìœë ëžë¡ììë§ íìíì§ë§, main( ) ìœë ëžë¡ìŽ ì¢ ë£ë ëê¹ì§ ë©ëªšëŠ¬ì ì ì§ëë€.
ë°ëŒì ë¶íìí ë©ëªšëŠ¬ê° ëë¹ëë€.
ë§ìœ if ìœë ëžë¡ ìì temp륌 ì ìžíë€ë©Ž ìë°ë¥Œ 구ííë ê³³ìì if ìœë ëžë¡ì ì¢ ë£ ìì ì ìŽ ë³ì륌 ë©ëªšëŠ¬ìì ì ê±°íŽì ë íšìšì ìŒë¡ ë©ëªšëŠ¬ë¥Œ ì¬ì©í ì ìë€. - ìœë ë³µì¡ì± ìŠê° :
ì¢ì ìœëë êµ°ëëêž° ìë ëšìí ìœëìŽë€. ðð
tempë if ìœë ëžë¡ììë§ íìíê³ , ì¬êž°ìë§ ì¬ì©íë©Ž ëë€.
ë§ìœ if ìœë ëžë¡ ìì temp륌 ì ìžíë€ë©Ž ifê° ëëê³ ëë©Ž temp륌 ì í ìê°íì§ ììë ëë€. 뚞늬 ììì ìê°í ë³ì륌 íë ì€ìŒ ì ìë€.
ê·žë°ë° ì§êž ìì±í ìœëë if ìœë ëžë¡ìŽ ëëë main( ) ìŽëìë temp륌 ì¬ì í ì ê·Œí ì ìë€. ëêµ°ê° ìŽ ìœë륌 ì ì§ë³Žì í ë mì ë¬Œë¡ ìŽê³ tempê¹ì§ ê³ì ì 겜ìšìŒ íë€. ì€ìœíê° ë¶íìíê² ëì ê²ìŽë€.
ì§êžì ìœëê° ë§€ì° ëšìíŽì ìŽíŽíëë° ìŽë €ììŽ ìê² ì§ë§ ì€ë¬Žììë ìœëê° ë§€ì° ë³µì¡í 겜ì°ê° ë§ë€.
Scope3_2
package scope;
public class Scope3_2 {
public static void main(String[] args) {
int m = 10; //m ìì¡Ž ìì!!
if (m > 0) {
int temp = m * 2; //temp ìì¡Ž ìì!! m ìì¡Ž ê°ë¥!
System.out.println("temp = " + temp); //temp ìì¡Ž ê°ë¥!
} //temp ìì¡Ž ì¢
ë£...
//System.out.println(temp); //temp ì ê·Œ ë¶ê°ë¥... ì€ë¥ ë°ì!
System.out.println("m = " + m); //m ìì¡Ž ê°ë¥!
} //m ìì¡Ž ì¢
ë£...
}
temp륌 if ìœë ëžë¡ ììì ì ìžíë€. ìŽì tempë if ìœë ëžë¡ ììŒë¡ ì€ìœíê° ì€ìŽë ë€.
ëë¶ì temp ë©ëªšëŠ¬ë¥Œ 빚늬 ì ê±°íŽì ë©ëªšëŠ¬ë¥Œ íšìšì ìŒë¡ ì¬ì©íê³ , temp ë³ì륌 ìê°íŽìŒ íë ë²ì륌 ì€ì¬ì ë ì ì§ë³Žì íêž° ì¢ì ìœë륌 ë§ë€ìë€. ðð
while묞 vs for묞 - ì€ìœí êŽì
ìŽì ì€ìœí êŽì ìì while묞곌 for묞ì ë¹êµíë€!!
While
package loop;
public class While2_3 {
public static void main(String[] args) {
int sum = 0;
int i = 10;
int endNum = 12;
while (i <= endNum) {
sum = sum + i;
System.out.println("i = " + i + ", sum = " + sum);
i++;
}
//... ìëì ë ë§ì ìœëë€ìŽ ìë€ê³ ê°ì
}
}
For
package loop;
public class For2 {
public static void main(String[] args) {
int sum = 0;
int endNum = 3;
// 1 + 2 + 3 = 6
for (int i = 1; i <= endNum; i++) {
sum = sum + i;
System.out.println("sum = " + sum);
}
//... ìëì ë ë§ì ìœëë€ìŽ ìë€ê³ ê°ì
}
}
ë³ìì ì€ìœí êŽì ìì 칎ìŽí° ë³ì i륌 ë¹êµíŽë³Žì.
- while묞ì ê²œì° ë³ì iì ì€ìœíê° main( ) ë©ìë ì ì²Žê° ëë€. ë°ë©Žì for묞ì ê²œì° ë³ì iì ì€ìœíê° for묞 ììŒë¡ íì ëë€.
- ë°ëŒì ë³ì iì ê°ìŽ for묞 ìììë§ ì¬ì©ëë 칎ìŽí° ë³ìê° ìë€ë©Ž while묞볎ë€ë for묞ì ì¬ì©íŽì ì€ìœíì ë²ì륌 ì ííë ê²ìŽ ë©ëªšëŠ¬ ì¬ì©ê³Œ ì ì§ë³Žì êŽì ìì ë ì¢ë€. ðð
âïžì°žê³
Ctrl + E í Enter : ë°ë¡ ì íìŒë¡ ëìŽê°ë€.
Ctrl + N : íìŒ ê²ìí ì ìë ë€ë¹ê²ìŽì ìŽ ëìšë€.
âïž ì 늬
- ë³ìë êŒ íìí ë²ìë¡ íì íŽì ì¬ì©íë ê²ìŽ ì¢ë€. ë³ìì ì€ìœíë êŒ íìí ê³³ìŒë¡ íì íŽì ì¬ì©íì.
ë©ëªšëŠ¬ë¥Œ íšìšì ìŒë¡ ì¬ì©íê³ ë ì ì§ë³Žìíêž° ì¢ì ìœë륌 ë§ë€ ì ìë€. - ì¢ì íë¡ê·žëšì 묎íí ìì ê° ìë íë¡ê·žëšìŽ ìëëŒ ì ì í ì ìœìŽ ìë íë¡ê·žëšìŽë€.
íë³í1 - ìë íë³í
íë³í
- ìì ë²ììì í° ë²ìë¡ë ë¹ì°í ê°ì ë£ì ì ìë€.
- ì ) int → long → double
- í° ë²ììì ìì ë²ìë ë€ì곌 ê°ì 묞ì ê° ë°ìí ì ìë€.... ð¥²ð¥²
- ììì ë²ëŠŒ
- ì€ë²íë¡ì°
ìì ë²ììì í° ë²ìë¡ ëì ì íì©íë€.
ìë°ìì ì«ì륌 ííí ì ìë ë²ìë ë€ì곌 ê°ë€.
int < long < double
int볎ë€ë longìŽ, long볎ë€ë doubleìŽ ë í° ë²ì륌 ííí ì ìë€.
ìì ë²ììì í° ë²ìì ê°ì ëì íë ìœë륌 ì€ííë©Ž í¹ë³í 묞ì ììŽ ì ìíëë€.
Casting1
package casting;
public class Casting1 {
public static void main(String[] args) {
int intValue = 10;
long longValue ;
double doubleValue;
longValue = intValue; //int -> long
System.out.println("longValue = " + longValue); //longValue = 10
doubleValue = intValue; //int -> double
System.out.println("doubleValue = " + doubleValue); //doubleValue = 10.0
doubleValue = 20000000000L; //long -> double
System.out.println("doubleValue2 = " + doubleValue); //doubleValue2 = 2.0E10
}
}
ìë°ë Ʞ볞ì ìŒë¡ ê°ì íì ì ê°ì ëì í ì ìë€. ê·žë°ë° ë€ë¥ž íì ì ê°ì ëì íë©Ž ìŽë»ê² ë ê¹?
- int → longì ë¹êµíŽë³Žë©Ž longìŽ intë³Žë€ ë í° ì«ì ë²ì륌 íííë€.
ìì ë²ì ì«ì íì ìì í° ë²ì ì«ì íì ìŽ ëì ì íë©Ž 묞ì ê° ëì§ ìëë€.
ë§ìœ ìŽë° 겜ì°ê¹ì§ ì€ë¥ê° ë°ìíë€ë©Ž ê°ë°ìŽ ë묎 ë¶íží ê²ìŽë€. - long → doubleì 겜ì°ìë doubleì ë¶ë ììì ì ì¬ì©íêž° ë묞ì ë í° ì«ì ë²ì륌 íííë€.
ë°ëŒì ëì í ì ìë€. - ì 늬íë©Ž ìì ë²ììì í° ë²ìë¡ì ëì ì ìë° ìžìŽìì íì©ëë€. ìœê² ìŽìŒêž°íë©Ž í° ê·žëŠì ìì ê·žëŠì ëŽêžŽ ëŽì©ë¬Œì ëŽì ì ìë€.
ìë íë³í
íì§ë§ ê²°êµ ëì íë í(íì )ì ë§ì¶ìŽìŒ íêž° ë묞ì ê°ë ì ìŒë¡ë ë€ì곌 ê°ìŽ ëìíë€.
//intValue = 10
doubleValue = intValue
doubleValue = (double) intValue //í ë§ì¶êž°
doubleValue = (double) 10 //ë³ì ê° ìœêž°
doubleValue = 10.0 //í ë³í
ìŽë ê² ìì (double)곌 ê°ìŽ ì ìŽì£Œë©Ž intíìŽ doubleíìŒë¡ íìŽ ë³íë€. ìŽë ê² íìŽ ë³ê²œëë ê²ì íë³íìŽëŒê³ íë€.
ìì ë²ì ì«ì íì
ìì í° ë²ì ì«ì íì
ìŒë¡ì ëì
ì ê°ë°ìê° ìŽë ê² ì§ì íë³íì íì§ ììë ëë€.
ìŽë° 곌ì ìŽ ìëìŒë¡ ìŒìŽëêž° ë묞ì ìë íë³í, ëë 묵ìì íë³íìŽëŒ íë€.
íë³í2 - ëª ìì íë³í
í° ë²ììì ìì ë²ì ëì ì ëª ìì íë³íìŽ íìíë€.
doubleì ì€ì륌 ííí ì ìë€. ë°ëŒì 1.5ê° ê°ë¥íë€.
ê·žë°ë° intë ì€ì륌 ííí ì ìë€. ìŽ ê²œì° double → intë¡ ëì
íë©Ž ìŽë»ê² ë ê¹?
Casting2
package casting;
public class Casting2 {
public static void main(String[] args) {
double doubleValue = 1.5;
int intValue = 0;
//intValue = doubleValue; //컎íìŒ ì€ë¥ ë°ì!!
intValue = (int) doubleValue; //íë³í
System.out.println(intValue);
}
}
ë€ì ìœëì ì ë¶ë¶ì ìë 죌ìì íë©Ž(죌ìì ì ê±°íë©Ž) 컎íìŒ ì€ë¥ê° ë°ìíë€.
intValue = doubleValue; //컎íìŒ ì€ë¥ ë°ì
java: incompatible types: possible lossy conversion form double to int
// java: ížíëì§ ìë ì í: doubleìì intë¡ì ê°ë¥í ìì€ ë³í
intíì doubleíë³Žë€ ì«ìì íí ë²ìê° ìë€. ê·žëŠ¬ê³ ì€ì륌 ííí ìë ìë€.
ë°ëŒì ìŽ ê²œì° ì«ìê° ìì€ëë 묞ì ê° ë°ìí ì ìë€. ìœê² ìŽìŒêž°íŽì í° ì»µì ëŽêžŽ 묌ì ìì 컵ì ì®ê²š ëŽìŒë €ê³ íë, ìì€ìŽ ë°ìí ì ìë€ë ê²ìŽë€.
ìŽë° 묞ì ë ë§€ì° í° ë²ê·žë¥Œ ì ë°í ì ìë€. ð®ð®
ì륌 ë€ìŽì ìí íë¡ê·žëšìŽ ê³ ê°ìê² ìí ìŽì륌 ê³ì°íŽì ì
êžíŽìŒ íëë° ë§ìœ ìŽë° ìœëê° ìë¬Žë° ì€ë¥ ììŽ ìíëë€ë©Ž ëì°í 묞ì 륌 ë§ë€ ì ìë€. ê·žëì ìë°ë ìŽë° ê²œì° ì»ŽíìŒ ì€ë¥ë¥Œ ë°ììíšë€.
íì ê°ì¡°íì§ë§ 컎íìŒ ì€ë¥ë 묞ì 륌 ê°ì¥ 빚늬 ë°ê²¬í ì ìë ì¢ì ì€ë¥ìŽë€.
íë³í
íì§ë§ ë§ìœ ìŽë° ìíì ê°ë°ìê° ì§ì ê°ìíê³ ë ê°ì ëì
íê³ ì¶ë€ë©Ž ë°ìŽí° íì
ì ê°ì ë¡ ë³ê²œí ì ìë€.
ì륌 ë€ìŽì ëëµì ìž ê²°ê³Œë¥Œ ë³Žê³ ì¶ìë°, ìŽë ììì ì ë²ëŠ¬ê³ ì ìë¡ë§ ë³Žê³ ì¶ì ì ìë€.
íë³íì ë€ì곌 ê°ìŽ ë³ê²œíê³ ì¶ì ë°ìŽí° íì
ì (int)ì ê°ìŽ êŽížë¥Œ ì¬ì©íŽì ëª
ìì ìŒë¡ ì
ë ¥íë©Ž ëë€.
intValue = (int) doubleValue; //íë³í
ìŽê²ì í(íì
)ì ë°êŸŒë€ê³ íŽì íë³íìŽëŒ íë€. ììŽë¡ë ìºì€í
ìŽëŒ íë€. ê·žëŠ¬ê³ ê°ë°ìê° ì§ì íë³í ìœë륌 ì
ë ¥íë€ê³ íŽì ëª
ìì íë³íìŽëŒ íë€.
ìºì€í ì©ìŽ
"ìºì€í "ì ììŽ ëšìŽ "cast"ìì ì ëëìë€. "cast"ë êžììŽë ë€ë¥ž 묌ì§ì ë ¹ì¬ì í¹ì í ííë 몚ììŒë¡ ë§ëë 곌ì ì ì믞íë€.
ëª ìì íë³í 곌ì
//doubleValue = 1.5
intValue = (int) doubleValue;
intValue = (int) 1.5; //doubleValueì ìë ê°ì ìœëë€.
intValue = 1; //(int)ë¡ íë³í íë€. intValueì intíìž ì«ì 1ì ëì
íë€.
íë³í í ì¶ë ¥íŽë³Žë©Ž ì«ì 1ìŽ ì¶ë ¥ëë ê²ì íìží ì ìŽë€.
ì°žê³ ë¡ íë³íì íë€ê³ íŽì doubleValue ì첎ì íì
ìŽ ë³ê²œëê±°ë ê·ž ìì ìë ê°ìŽ ë³ê²œëë ê²ì ìëë€.
doubleValueìì ìœì ê°ì íë³ííë ê²ìŽë€. doubleValue ìì ë€ìŽìë ê°ì 1.5ë¡ ê·žëë¡ ì ì§ëë€.
ì°žê³ ë¡ ë³ìì ê°ì ëì
ì°ì°ì(=)륌 ì¬ì©íŽì ì§ì ëì
í ëë§ ë³ê²œëë€.
íë³í곌 ì€ë²íë¡ì°
íë³íì í ë ë§ìœ ìì ì«ìê° ííí ì ìë ë²ì륌 ëìŽìë©Ž ìŽë»ê² ë ê¹?
Casting3
package casting;
public class Casting3 {
public static void main(String[] args) {
long maxIntValue = 2147483647L; //int ìµê³ ê°
long maxIntOver = 2147483648L; //int ìµê³ ê° + 1(ìŽê³Œ)
int intValue = 0;
intValue = (int) maxIntValue; //íë³í
System.out.println("maxIntValue casting = " + intValue);
intValue = (int) maxIntOver; //íë³í
System.out.println("maxIntOver casting = " + intValue); //ë²ì륌 ëìŽê°ë©Ž intì ê°ì¥ ìì ë²ìë¶í° ë€ì ììëë€!!
}
}
ì ì ë²ì
long maxIntValue = 2147483647 륌 볎멎 intë¡ ííí ì ìë ê°ì¥ í° ì«ììž 2147483647륌 ì
ë ¥íë€.
ìŽ ê²œì° intë¡ ííí ì ìë ë²ìì í¬íšëêž° ë묞ì ë€ì곌 ê°ìŽ long → intë¡ íë³íì íŽë ìë¬Žë° ë¬žì ê° ìë€.
intValue = (int) maxIntValue; //íë³í
maxIntValue = 2147483647; //int ìµê³ ê°
intValue = (int) maxIntValue; //ë³ì ê° ìœêž°
intValue = (int) 2147483647; //íë³í
intValue = 2147483647;
ìŽê³Œ ë²ì
ë€ììŒë¡ long maxIntOver = 2147483648L 륌 볎멎 intë¡ ííí ì ìë ê°ì¥ í° ì«ììž 2147483647ë³Žë€ 1 í° ì«ì륌 ì
ë ¥íë€. ìŽ ì«ìë 늬í°ëŽì int ë²ì륌 ëìŽê°êž° ë묞ì ë§ì§ë§ì Lì ë¶ì¬ì longíì ì¬ì©íŽìŒ íë€.
ìŽ ê²œì° intë¡ ííí ì ìë ë²ì륌 ëêž° ë묞ì ë€ì곌 ê°ìŽ long → intë¡ íë³ííë©Ž 묞ì ê° ë°ìíë€.
intValue = (int) maxIntOver; //íë³í
maxIntOver = 2147483638L; //int ìµê³ ê° + 1
inValue = (int) maxIntOver; //ë³ì ê° ìœêž°
intValue = (int) 2147483648L; //íë³í ìë
intValue = -2147483648;
- 결곌륌 볎멎 -2147483648ìŽëŒë ì í ë€ë¥ž ì«ìê° ë³Žìžë€.
intíì 2147483648L륌 ííí ì ìë ë°©ë²ìŽ ìë€. ìŽë ê² êž°ì¡Ž ë²ì륌 ìŽê³ŒíŽì íííê² ëë©Ž ì í ë€ë¥ž ì«ìê° ííëëë°, ìŽë° íìì ì€ë²íë¡ì°ëŒ íë€. - ë³Žíµ ì€ë²íë¡ì°ê° ë°ìíë©Ž ë§ì¹ ìê³ê° íë°íŽ ë ê²ì²ëŒ ë€ì ì²ìë¶í° ììíë€. ì°žê³ ë¡ -2147483648 ì«ìë intì ê°ì¥ ìì ì«ììŽë€.
- ì€ìí ê²ì ì€ë²íë¡ì°ê° ë°ìíë ê² ìì²Žê° ë¬žì ëŒë ì ìŽë€!
ì€ë²íë¡ì°ê° ë°ìíì ë ê²°ê³Œê° ìŽë»ê² ëëì§ ê³ì°íëë° ìê°ì ëë¹íë©Ž ìëë€!
ì€ë²íë¡ì° ìì²Žê° ë°ìíì§ ìëë¡ ë§ììŒ íë€.
ìŽ ê²œì° ëšìí ëì íë ë³ì(intValue)ì íì ì int → longìŒë¡ ë³ê²œíŽì ì¬ìŽìŠë¥Œ ë늬멎 ì€ë²íë¡ì° 묞ì ê° íŽê²°ëë€.
ê³ì°ê³Œ íë³í
íë³íì ëì ë¿ë§ ìëëŒ, ê³ì°ì í ëë ë°ìíë€.
Casting4
package casting;
public class Casting4 {
public static void main(String[] args) {
int div1 = 3 / 2;
System.out.println("div1 = " + div1); //1
double div2 = 3 / 2;
System.out.println("div2 = " + div2); //1.0
double div3 = 3.0 / 2;
System.out.println("div3 = " + div3); //1.5
double div4 = (double) 3 / 2;
System.out.println("div4 = " + div4); //1.5
int a = 3;
int b = 2;
double result = (double) a / b;
System.out.println("result = " + result); //1.5
}
}
ìë°ìì ê³ì°ì ë€ì 2ê°ì§ë¥Œ êž°ìµíì.
- ê°ì íì
ëŒëŠ¬ì ê³ì°ì ê°ì íì
ì 결곌륌 ëžë€!!!
- int + intë int륌, double + doubleì doubleì ê²°ê³Œê° ëìšë€.
- ìë¡ ë€ë¥ž íì
ì ê³ì°ì í° ë²ìë¡ ìë íë³íìŽ ìŒìŽëë€!!!
- int + longì long + longìŒë¡ ìë íë³íìŽ ìŒìŽëë€.
- int + doubleì double + doubleë¡ ìë íë³íìŽ ìŒìŽëë€.
ë€ìí íì ë³ë¡ ë ììží ë€ìŽê°ë©Ž ìœê° ì°šìŽê° ìì§ë§ ìŽ êž°ì€ìŒë¡ ìŽíŽíë©Ž 충ë¶íë€ ð
int div1 = 3 / 2; //int / int
int div1 = 1; //int / intìŽë¯ë¡ int íì
ìŒë¡ ê²°ê³Œê° ëìšë€.
double div2 = 3 / 2; //int / int
double div2 = 1; //int / intìŽë¯ë¡ int íì
ìŒë¡ ê²°ê³Œê° ëìšë€.
double div2 = (double) 1; //int -> doubleì ëì
íŽìŒ íë€. ìë íë³í ë°ì!
double div2 = 1.0; //1(int) -> 1.0(double)ë¡ íë³íëìë€.
double div3 = 3.0 / 2; //double / int
double div3 = 3.0 / (double) 2; //double / intìŽë¯ë¡, double / doubleë¡ íë³íìŽ ë°ìíë€!
double div3 = 3.0 / 2.0; //double / double -> doubleìŽ ëë€!
double div3 = 1.5;
double div4 = (double) 3 / 2; //ëª
ìì íë³íì ì¬ì©íë€. (double) int / int
double div4 = (double) 3 / (double) 2; //double + intìŽë¯ë¡, double + doubleë¡ íë³íìŽ ë°ìíë€.
double div4 = 3.0 / 2.0; //double / double -> doubleìŽ ëë€.
double div4 = 1.5;
3 / 2ì ê°ìŽ intíëŒëŠ¬ ëëì ì íŽì ììê¹ì§ 구íê³ ì¶ë€ë©Ž div4ì ìì ì²ëŒ ëª ìì íë³íì ì¬ì©íë©Ž ëë€.
ë³ì륌 ì¬ì©íë 겜ì°ìë ë€ì곌 ê°ìŽ íë³íì í ì ìë€.
int a = 3;
int b = 2;
double result = (double) a / b;
ì²ëŠ¬ 곌ì
double result = (double) a / b; //(double) int / int
double result = (double) 3 / 2; //ë³ì ê° ìœêž°
double result = (double) 3 / (double) 2; double + int ìŽë¯ë¡ ë í° ë²ìë¡ íë³í
douvle result = 3.0 / 2.0; //(double / double) -> doubleìŽ ëë€.
double result = 1.5;
ì 늬
íë³í
int → long → double
- ìì ë²ììì í° ë²ìë¡ë ëì
í ì ìë€.
- ìŽê²ì 묵ìì íë³í ëë ìë íë³íìŽëŒ íë€.
- í° ë²ììì ìì ë²ìì ëì
ì ë€ì곌 ê°ì 묞ì ê° ë°ìí ì ìë€. ìŽëë ëª
ìì íë³íì ì¬ì©íŽìŒ íë€.
- ììì ë²ëŠŒ
- ì€ë²íë¡ì°
- ì°ì°ê³Œ íë³í
- ê°ì íì ì ê°ì 결곌륌 ëžë€.
- ìë¡ ë€ë¥ž íì ì ê³ì°ì í° ë²ìë¡ ìë íë³íìŽ ìŒìŽëë€.
'ð Java > ð Java ê°ì' 칎í ê³ ëŠ¬ì ë€ë¥ž êž
Java ì 묞 ê°ì_ë°°ìŽ (0) | 2024.11.07 |
---|---|
Java ì 묞 ê°ì_íë š (4) | 2024.11.06 |
Java ì 묞 ê°ì_ë°ë³µë¬ž (1) | 2024.10.29 |
Java ì 묞 ê°ì_조걎묞 (8) | 2024.10.25 |
Java ì 묞 ê°ì_ì°ì°ì (9) | 2024.10.24 |