[JAVA] NaN๊ณผ Infinity

2023. 11. 2. 18:01ยท๐Ÿ“† Today I Learned(๊ฐœ๋ฐœ์–ธ์–ดํ•™์Šต)/JAVA

NaN ๊ณผ Infinity ๋ฐœ์ƒ ๊ฒฝ์šฐ

  • ๋‚˜๋ˆ—์…ˆ ๋˜๋Š” ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ ์‹œ ์ขŒ์ธก ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ์ •์ˆ˜์ด๊ณ  ์šฐ์ธก ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ 0์ผ ๊ฒฝ์šฐ ์˜ˆ์™ธ(ArithmeticException)๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๋ฌดํ•œ๋Œ€์˜ ๊ฐ’์„ ์ •์ˆ˜๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. (ex int result = 5 / 0)
  • ์ขŒ์ธก ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ์‹ค์ˆ˜ ์ด๊ฑฐ๋‚˜ ์šฐ์ธก ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ 0.0๋˜๋Š” 0,0f์ด๋ฉด ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ  ์—ฐ์‚ฐ์˜ ๊ฒฐ๊ณผ๋Š” Infinity ๋˜๋Š” NaN(Not a Number)์ด ๋œ๋‹ค. ์ด ๊ฒฝ์šฐ ์–ด๋–ค ์—ฐ์‚ฐ์„ ํ•˜๋”๋ผ๋„ ๊ฒฐ๊ณผ๋Š” ๊ณ„์† ๊ฐ™์€ ๊ฒƒ์ด๊ธฐ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๊ฐ€ ์—‰๋ง์ด ๋  ์ˆ˜์žˆ์œผ๋ฏ€๋กœ ๊ณ„์†ํ•ด์„œ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค. (ex Infinity + 2 → Infinity, NaN + 2 →  NaN)

 

๋ฏธ๋ฆฌ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•

  • Double.isInfinite() ์™€ Double.inNaN() ์‚ฌ์šฉ
public class InfinityAndNaNCheckExample {
	public static void main(String[] args) {
		int x = 5;
		double y = 0.0;
		double z = x / y;
		//double z = x % y;
		
		//์ž˜๋ชป๋œ ์ฝ”๋“œ
		System.out.println(z + 2);	
		
		//์•Œ๋งž์€ ์ฝ”๋“œ
		if(Double.isInfinite(z) || Double.isNaN(z)) { 
			System.out.println("๊ฐ’ ์‚ฐ์ถœ ๋ถˆ๊ฐ€"); 
		} else { 
			System.out.println(z + 2); 
		}
	}
}

 

 

 

 

 

์ถœ์ฒ˜:์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค(๊ต์œก ํ˜„์žฅ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ๋ณธ์„œ)
https://search.shopping.naver.com/book/catalog/34238594620?cat_id=50010920&frm=PBOKMOD&query=%EC%9D%B4%EA%B2%83%EC%9D%B4%EC%9E%90%EB%B0%94%EB%8B%A4&NaPm=ct%3Dlocm18y8%7Cci%3D0e64b25f86693278b2d96906cbe4b981fe74c6d5%7Ctr%3Dboknx%7Csn%3D95694%7Chk%3D95e00da716b01b77d749d200eae34c788eb63950
์ €์ž‘์žํ‘œ์‹œ

'๐Ÿ“† Today I Learned(๊ฐœ๋ฐœ์–ธ์–ดํ•™์Šต) > JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JAVA] ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ถ„๋ฅ˜  (0) 2023.11.04
[JAVA] Switch Expressions (Java 12์ดํ›„)  (0) 2023.11.03
[JAVA] ๋ฌธ์ž์—ด ๋ฐ˜๋ณต ( String.repeat()ํ™œ์šฉ )  (0) 2023.10.31
[JAVA] ๋ฌธ์ž ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ  (0) 2023.10.30
[JAVA] ๋ฌธ์ž์—ด ์ž๋ฅด๊ธฐ(substring() ํ™œ์šฉ)  (0) 2023.10.27
'๐Ÿ“† Today I Learned(๊ฐœ๋ฐœ์–ธ์–ดํ•™์Šต)/JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [JAVA] ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ถ„๋ฅ˜
  • [JAVA] Switch Expressions (Java 12์ดํ›„)
  • [JAVA] ๋ฌธ์ž์—ด ๋ฐ˜๋ณต ( String.repeat()ํ™œ์šฉ )
  • [JAVA] ๋ฌธ์ž ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ
JinSeong
JinSeong
์žฌ๋ฏธ์—†์œผ๋ฉด ์•ˆํ•œ๋‹ค.
  • JinSeong
    As you think, so shall you become.
    JinSeong
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (96)
      • ๐Ÿ“† Today I Learned(๊ฐœ๋ฐœ์–ธ์–ดํ•™์Šต) (76)
        • JAVA (20)
        • HTML (1)
        • JSP (46)
        • SPRING (2)
        • ORACLE(DB) (6)
        • CSS (1)
      • ๐Ÿ“† Today I Learned(์ฝ”๋”ฉํ…Œ์ŠคํŠธ) (0)
        • JAVA (0)
      • Computer Science (9)
        • ์ปดํ“จํ„ฐ ๊ตฌ์กฐ (9)
        • ์šด์˜์ฒด์ œ (0)
        • ์ž๋ฃŒ๊ตฌ์กฐ & ์•Œ๊ณ ๋ฆฌ์ฆ˜ (0)
        • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (0)
      • ์ฐฝ๊ณ  (11)
        • ๊ธฐ์ดˆ์ง€์‹ (7)
        • ํŒŒ์ผ์ฐฝ๊ณ  (0)
        • ๊ธฐ์ˆ ์ง€์‹์ฐฝ๊ณ  (0)
        • ๋ฒ„๊ทธ๋ฒ„๊ทธ ๐Ÿ‘€ (4)
      • Tools๐Ÿ”ง (0)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    java๋ฒ„์ „ ํ‘œํ˜„
    no converter found for
    CPU
    ์ œ์–ด์žฅ์น˜
    substring()
    Oracle
    instanceof ์—ฐ์‚ฐ์ž
    java json๋ฆฌํ„ด ์—๋Ÿฌ
    spring ์Šค์ผ€์ค„๋Ÿฌ
    ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ฐจ์ด
    jdk๊ตฌ๋ถ„
    java ์Šค์ผ€์ค„๋Ÿฌ
    java ๊ฐ์ฒดํƒ€์ž…ํ™•์ธ
    SQL
    ์ดํด๋ฆฝ์Šค ์˜ค๋ฒ„๋ผ์ด๋”ฉ ๋ฉ”์†Œ๋“œ ์ž๋™ ์ƒ์„ฑ ๊ธฐ๋Šฅ
    ๋ช…๋ น์–ด
    ALU
    JAVA๋ฌธ์ž์—ด์ž๋ฅด๊ธฐ
    ๋ ˆ์ง€์Šคํ„ฐ
    DB
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
JinSeong
[JAVA] NaN๊ณผ Infinity
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”