যদি গাণিতিক ক্রিয়াকলাপগুলিতে shortস্বয়ংক্রিয়ভাবে পদোন্নতি হয় intতবে তা কেন:
short thirty = 10 * 3;
shortভেরিয়েবলের আইনী অ্যাসাইনমেন্ট thirty?
ঘুরেফিরে, এই:
short ten = 10;
short three = 3;
short thirty = ten * three; // DOES NOT COMPILE AS EXPECTED
ঠিক এটার মতন:
int ten = 10;
int three = 3;
short thirty = ten * three; // DOES NOT COMPILE AS EXPECTED
সংকলন করে না কারণ প্রত্যাশা অনুযায়ী ingালাই ছাড়াই কোনও intমান নির্ধারণের shortঅনুমতি নেই।
সংখ্যাগত আক্ষরিক সম্পর্কে কি বিশেষ কিছু চলছে?
10 * 3ফলাফলের সাথে ভেরিয়েবল গণনা করে এবং সূচনা করে। আপনার কর্মহীন উদাহরণে গণনাটি রানটাইমে ঘটে যেখানে জেভিএম সংক্ষিপ্ত কাস্ট করে।
final int ten = 10; final int three = 3; short thirty = ten * three;জরিমানা সংকলন।
If short is automatically promoted to int in arithmetic operations- এটি প্রাসঙ্গিক নয়। আমরাও 10না 3হাফপ্যান্ট করছি লিটারেল হয় না এবং তারা উন্নীত হয়, তারা।
10এবং সংকলক দ্বারা s 3হিসাবে মূল্যায়ন করা intহয়?
short thirty = 10 * 3;সম্ভবতshort thirty = 30;সংকলক দ্বারা প্রতিস্থাপিত হয় যা একটি বৈধ বিবৃতি then (যদিও আমাকে প্রাসঙ্গিক জেএলএস বিভাগটি সন্ধান করতে হবে)।