MAX_VALUE alanı
Şöyle yaparız.
Şöyle yaparız.
Örnek
Şöyle yaparız.
Elimizde şöyle bir string olsun. Bu metod scientific notation ile gösterilen bir sayıyı parse edemez. Exception fırlatır.
Şu durumlarda exception fırlatır.
Örnek - 2'lik taban
Şöyle yaparız.
Şöyle yaparız.
Bitlerin yerini sırasını değiştirir. MSB bit LSB bit haline gelir.
Bu işlem sonucunda şöyle olur
Şöyle yaparız.
Açıklaması şöyle. Math.signum() ile aynıdır.
toBinaryString metodu
Şöyle yaparız.
Bu metod baştaki 0 karakterini siliyor. O yüzden her zaman buna dikkat etmek lazım.. Aynı problem BigInteger.toString() metodunda da var.
Şöyle yaparız.
int max=Integer.MAX_VALUE;
MIN_VALUE alanıŞöyle yaparız.
int min=Integer.MIN_VALUE;
divideUnsigned metodu
Açıklaması şöyle
The divideUnsigned() method is a method from the Integer class that allows you to divide two numbers and return an unsigned quotient.
Unsigned integers, in comparison to the regular signed integers, can only represent positive numbers. Both unsigned and signed integers have the same number of numbers in their range (the range size is both 65 536 numbers).
However, since unsigned integers cannot be negative, their maximum value in the positive range is much higher than the maximum value for a regular signed integer.
To simplify this, we can instead look at an example of a signed and unsigned byte. Bytes have a range of 256 numbers. A regular byte can be from -128 to 127. However, an unsigned byte can go from 0 all the way to 255.
Other than that, the function works exactly like regular division.
Örnek
Şöyle yaparız
int dividend = 10;
int divisor = 5;
int quotient = Integer.divideUnsigned(dividend, divisor);
System.out.println(quotient);
// Output: 2
getInteger metodu
System.getProperty() ile sadece String okunabilir. Integer bir değer okumak mümkün
Örnek
Şöyle yaparız
int calculatePartBufferSize() {
int partSize = 0;
try {
partSize = Integer.getInteger("jobupload.partsize", 10_000_000);
} catch (Exception ignored) {
}
return partSize;
}
operator == metodu - Object + primitive
Açıklaması şöyle. Yani Object ve primitive == ile karşılaştırılınca reference karşılaştırması değil değer karşılaştırması yapılır.
Elimizde şöyle bir kod olsun.
Şöyle yaparız. Sarmalanan değer unboxing işlemine uğrar.ÖrnekIf r is a reference of type Integer, then unboxing conversion converts r into r.intValue()
Elimizde şöyle bir kod olsun.
Integer a = new Integer(10);
Integer b = 10;
int c=10;
System.out.println(b==c); //true
System.out.println(a==c); //true
Bu kod aslında unboxin ile şu koda çevrilir.a.intValue() == c
operator >= metoduInteger a=150;
Integer b=150;
System.out.println(a>=b); // returns true
parseInt metodu - stringÖrnek
Şöyle yaparız.
String str = "...";
int value = Integer.parseInt (str)
Örnek - scientific notationElimizde şöyle bir string olsun. Bu metod scientific notation ile gösterilen bir sayıyı parse edemez. Exception fırlatır.
String value = 4.30000000e+01;
parseInt metodu - string + radixŞu durumlarda exception fırlatır.
Radix'in belli bir aralıkta olması gerekir. Ayrıca string ile verilen sayının Integer.MIN_VALU ve Interger.MAX_VALUE aralığında olması gerekir.if string cannot be parsed as an integer value, or radix < Character.MIN_RADIX || radix > Character.MAX_RADIX.
Örnek - 2'lik taban
Şöyle yaparız.
int a = Integer.parseInt("11010100", 2);
Örnek - 16'lık tabanŞöyle yaparız.
System.out.println(Integer.parseInt("ff",16));
reverse metoduBitlerin yerini sırasını değiştirir. MSB bit LSB bit haline gelir.
Bu işlem sonucunda şöyle olur
ilk hali : 00000000 00000000 00000000 00000111reverseBytes metodu
reverse : 11100000 00000000 00000000 00000000
Şöyle yaparız.
int t = ...;
t = Integer.reverseBytes (t);
signum metoduAçıklaması şöyle. Math.signum() ile aynıdır.
Returns the signum function of the specified int value. (The return value is -1 if the specified value is negative; 0 if the specified value is zero; and 1 if the specified value is positive.)
Şöyle yaparız.
int n = 100;
String str = Integer.toBinaryString (n);
toHexString metoduBu metod baştaki 0 karakterini siliyor. O yüzden her zaman buna dikkat etmek lazım.. Aynı problem BigInteger.toString() metodunda da var.
public static String bytesToHex(byte[] digest) {
StringBuilder hexString = new StringBuilder(2 * digest.length);
for (byte b : digest) {
String hex = Integer.toHexString(0xff & b);
if (hex.length() == 1) {
hexString.append('0');
}
hexString.append(hex);
}
return hexString.toString();
}
Örnek
Şöyle yaparız.
Açıklaması şöyle.
İmzası şöyle.
int a = ...;
System.out.println(Integer.toHexString(a));
toString metodu - int + radixAçıklaması şöyle.
Converting a number into a string is very similar to the division algorithm, but has more overhead because it has to create a string.Aslında algoritma şuna benziyor. Yani bir bölme işlemi var.
int digits = 0;
while(x > 0) {
digits ++;
x /= 10;
}
Metodun içi şöyledir. Girdiyi önce daha buyuk bir set olan eksi sayıya çevirir. Daha sonra bir buffer 'a sağdan - yani sondan - başlayarak radix ile mod'unu alarak yazar.public static String toString(long i, int radix) {
if (radix < Character.MIN_RADIX || radix > Character.MAX_RADIX)
radix = 10;
if (radix == 10)
return toString(i);
char[] buf = new char[65];
int charPos = 64;
boolean negative = (i < 0);
if (!negative) {
i = -i;
}
while (i <= -radix) {
buf[charPos--] = Integer.digits[(int)(-(i % radix))];
i = i / radix;
}
buf[charPos] = Integer.digits[(int)(-i)];
if (negative) {
buf[--charPos] = '-';
}
return new String(buf, charPos, (65 - charPos));
}
valueOf metoduİmzası şöyle.
public static Integer valueOf(int i);
Integer.valueOf () metodu -128 ile 127 arasındaki değerleri içinde sakladığı önbellekten yaratır. Açıklaması şöyleDiğer sınıfların da bu isimli metodları var. Bunlar şöyle.Basically, the Integer class keeps a cache of Integer instances in the range of -128 to 127, and all autoboxing, literals and uses of Integer.valueOf() will return instances from that cache for the range it covers.
Integer.valueOf(int)
Double.valueOf(double)
Float.valueOf(float)
Hiç yorum yok:
Yorum Gönder