OCA Java imtahan mövzuları

Numeric Promotion

İmtahanda hansı tipin nə qədər yaddaş kapsadığını bilməyə ehtiyac yoxdur, amma hansı tipin digərindən daha böyük olduğunu bilmək lazımdır.

Operatorlar dəyişənlərə tətbiq edilərkən aşağıdakı qaydalar mütləq yadda saxlanılmalıdır,

 

Numeric Promotion Rules:

1. Əgər verilmiş iki dəyər fərqli tiplərdədirsə, java bu iki tipdən birini bunlardan ən yüksək olan digərinin tipinə çevirəcək/yüksəldəcək (promote);
(ex, short & int ⇒  int & int)

  • int x = 1;
  • long y = 33;
  • x*y   result is long

2. Əgər dəyərlərdən biri tam (integral), digəri onluq (floating-point) ədəddirsə, java avtomatik olaraq tam ədədi onluq ədəd tipinə çevirəcək;
(ex, double & int ⇒  double & double)

  • double x = 39.21;
  • int y = 2;
  • x+y ⇒  result is double

3. byte, short char tiplərində olan dəyişənlər java binary aritmetik operatorlarla istifadə edilərkən əvvəlcə (əməliyyatdan öncə) int tipinə çevrilirlər, hətta həmin verilənlərdən heç biri int tipində olmasa belə;
(ex, short + short ⇒   int)

  • short x = 10;
  • short y = 3;
  • x/y ⇒  result is int

4. Əgər verilənlər hamısı eyni tipdədirsə, nəticə də eyni tipdə olacaq (istisnalardan başqa);
(ex, int + int ⇒  int)

  • short x = 14;
  • float y = 13;
  • double z = 30;
  • x * y / z  ⇒  result is double

Bu nümunədə bütün qaydalar tətbiq olunur. Aritmetik binary operator istifadə edildiyindən x avtomatik olaraq int tipinə çevrilir. Sonra y dəyişəninə vurulduğu üçün x avtomatik olaraq float tipinə çevrilir. Sonra x*y ifadəsi z dəyişəninə bölünə bilməsi üçün double tipinə çevirilir və bölündükdən sonra son nəticə double olur.

 

Bu mövzu ilə bağlı aşağıdakı linkdən maraqlı kod nümunələrinə baxa bilərsiniz:

http://www.coderanch.com/t/655528/ocajp/certification/Numeric-promotion-rules

 

[topics lang=az]

 

About the author

Mushfiq Mammadov

Leave a Comment


The reCAPTCHA verification period has expired. Please reload the page.

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.