ජාවා භාෂාව පිරිවිතර නිර්වචනය E1 op= E2
සමාන විය E1 = (T) ((E1) op (E2))
එහිදී T
වර්ගයකි E1
හා E1
වරක් ඇගැයීමකට ලක් .
එය තාක්ෂණික පිළිතුරකි, නමුත් එය එසේ වන්නේ මන්දැයි ඔබ කල්පනා කරනවා විය හැකිය. හොඳයි, අපි පහත වැඩසටහන සලකා බලමු.
public class PlusEquals {
public static void main(String[] args) {
byte a = 1;
byte b = 2;
a = a + b;
System.out.println(a);
}
}
මෙම වැඩසටහන මුද්රණය කරන්නේ කුමක්ද?
ඔබ 3 අනුමාන කළාද? ඉතා නරකයි, මෙම වැඩසටහන සම්පාදනය නොකරයි. මන්ද? හොඳයි, එය එසේ වන්නේ ජාවා හි බයිට් එකතු කිරීම අර්ථ දැක්වීමක් ලෙස යint
. මෙය, මම විශ්වාස කළේ ජාවා අතථ්ය යන්ත්රය බයිට් කේත මත සුරැකීම සඳහා බයිට් මෙහෙයුම් නිර්වචනය නොකරන බැවිනි (ඒවායින් සීමිත සංඛ්යාවක් ඇත, සියල්ලට පසු), පූර්ණ සංඛ්යා මෙහෙයුම් භාවිතා කිරීම භාෂාවක නිරාවරණය කිරීමේ විස්තරයකි.
නමුත් a = a + b
ක්රියා නොකරන්නේ නම් , එයින් අදහස් a += b
වන්නේ එය බයිට් E1 += E2
ලෙස අර්ථ දක්වා ඇත්නම් එය කිසි විටෙකත් ක්රියා නොකරන බවයි E1 = E1 + E2
. පෙර උදාහරණයෙන් පෙන්නුම් කරන පරිදි, එය එසේ වනු ඇත. කිරීමට ඇති නම්න් ලෙස +=
බයිට් හා කොට කලිසම් සඳහා ක්රියාකරු වැඩ, ඒ හා සම්බන්ධ ගම්ය කාස්ට් නැත. එය එතරම් විශාල කඩුල්ලක් නොවේ, නමුත් ජාවා 1.0 වැඩ අතරතුරදී, අවධානය යොමු වූයේ භාෂාව මුදා හැරීම ආරම්භ කිරීම සඳහා ය. දැන්, පසුගාමී අනුකූලතාවය නිසා, ජාවා 1.0 හි හඳුන්වා දුන් මෙම හැක් ඉවත් කළ නොහැක.