Zalecane, 2021

Wybór Redakcji

Różnica między int i long

Typy danych int i long należą do dwóch typów danych liczbowych całkowitych opisanych w języku Java. W Javie typy int i long są podpisane, wartości + ve i -ve. Java nie obsługuje niepodpisanych typów int i long. Podstawową różnicą między typem danych int i long jest szerokość każdego typu. Typ danych int ma szerokość 32-bitową dla zmiennej typu int. Z drugiej strony, typ danych ma długość 64-bitową dla zmiennej typu long. Poniższy wykres porównawczy pokazuje inne różnice między int i long.

Wykres porównania

Podstawa do porównaniaintdługie
PodstawowyTyp danych int składa się z 32 bitów.Typ danych ma długość 64 bitów.
BajtyJeśli liczone w bajtach, int wynosi 4 bajty.Jeśli liczone w bajtach, długie jest 8 bajtów.
ZasięgW Javie zakres typu int wynosi -2, 147, 483, 648 do 2 147 483 647.W Javie zakres typu long to
-22223372 036 854 775 808 do 9 223 372 036 854 775 807.
Słowo kluczoweSłowo kluczowe użyte do zadeklarowania zmiennej typu int to "int".Słowo kluczowe użyte do zadeklarowania zmiennej typu long jest "długie".
PamięćPamięć wymagana do przechowywania zmiennej int jest mniejsza w porównaniu z długością.Pamięć wymagana do przechowywania długiej zmiennej jest większa w porównaniu do int.

Definicja typu int

Typ danych int jest najczęściej używanym typem danych, który zawiera w sobie wartość całkowitą. Wartość, którą może pomieścić zmienna int, nie jest zbyt krótka ani zbyt długa. Ogólnie, wartość zmiennej int jest używana jako zmienna pętli, która kontroluje pętlę lub jest używana jako zmienna indeksowa tablicy. Bajty typu danych i krótkie mają mniejszy zakres w porównaniu z typem danych int, ale nie mogą zastąpić int, nawet jeśli wartość zmiennej int ma mniejszy zakres. Powodem tego jest to, że kiedy używamy bajtu typu danych i skrótu w wyrażeniu, to podczas oceniania tego wyrażenia bajt i kod typu danych są promowane do int przez kompilator. Tak więc, z tego można powiedzieć, że lepiej jest użyć int wszędzie tam, gdzie potrzebna jest liczba całkowita.
Rzućmy okiem na użycie int typu danych.

 bajt a = 70; bajt b = 80; int c = a * b; //żaden błąd. bajt d = a + 10; // Błąd czasu kompilacji. 

Jak widać w powyższym kodzie, dwie zmienne bajtowe a i b zawierające wartości 70 i 80, które są poprawnymi wartościami w bajtach. Ale wynik pośredni a * b; przekracza limit bajtu. Dlatego kompilator automatycznie promuje zmienne bajtowe, krótkie i char do typu int, jeśli są używane w wyrażeniu. Teraz możesz zobaczyć, że wynik a * b jest przypisany do zmiennej int, która nie powoduje żadnego błędu i kompiluje się płynnie, ponieważ zmienne a i b są promowane do typu int i przypisanie typu int do typu int doesn ' t powoduje błąd.

W ostatnim wierszu kodu znajduje się wyrażenie, w którym wartość 10 jest dodawana do zmiennej bajtowej "a" jej wynik nadal nie przekracza limitu bajtu. Ale przypisanie pośredniego wyniku wyrażenia "a + 10" do bajtowej zmiennej "d" powoduje błąd czasu kompilacji, ponieważ podczas gdy zmienna bajtowa oceny wyrażenia "a" jest promowana do typu int. A przypisanie typu int do typu jest niedozwolone. W związku z tym powoduje błąd czasu kompilacji.

Definicja typu długiego

Typ danych ma największy zakres i szerokość w porównaniu do typów bajtów, krótkich i int. W języku Java typ long to 64-bitowa liczba całkowita ze znakiem. Typ long jest używany tam, gdzie typ int nie jest tak duży, aby pomieścić żądaną wartość. Zakres długości wynosi -2923372 036 854 775 808 do 9 223 372 036 854 775 807, co jest dość duże, aby pomieścić większe wartości, takie jak duże liczby całkowite. Możemy zrozumieć typ długo z poniższym przykładem.

 masa klasy {public static void main (String args []) {pozycja int; int wt_per_item; długie gramy; długi Box; pozycja = 10000000; // określ liczbę pozycji wt_per_item = 10000; // podaj wagę jednego przedmiotu w kilogramach gram = wt_item * 1000; // przelicz wagę na gram Box = item * grams; // oblicz masę skrzyni w gramach System.out.println ("Number of item" + item); System.out.println ("waga za przedmiot" + wt_per_item + "kilogramy"); System.out.println ("waga pudełka w gramach" + pudełko + "kilogramy"); }} Numer produktu 10000000 Waga za sztukę 10000 kg Waga pudełka w gramach 100000000000000 kg 

Obserwuj wynik w powyższym kodzie; wynik obliczony dla wagi całego pudełka zawierającego pudełko zawierające 10000000 sztuk, które na sztukę waży 10000 kilogramów. Obliczona wartość wagi pudełka w gramach nie może być trzymana przez zmienną typu int. W związku z tym czasami konieczne staje się użycie długiego typu, gdy duże wartości mają zostać obliczone lub wstrzymane.

Kluczowe różnice między int i long

  1. Podstawową różnicą między typem int i long jest ich szerokość, gdzie int jest 32-bitowe, a long - 64-bitowe.
  2. Typy int i długie, gdy są liczone w bajtach zamiast bitów typu int, to 4 bajty, a typ long jest tylko dwa razy, jeśli typ int, czyli 8 bajtów.
  3. W Javie zakres typu int wynosi od -2, 147, 483, 648 do 2 147 483 647, natomiast zakres typu long wynosi od -2, 223, 372, 036, 854, 775, 808 do 9 223 372 036 854 777 807, co jest wynikiem znacznie większym niż typ int.
  4. Słowo kluczowe użyte do zadeklarowania zmiennej typu int to "int". Z drugiej strony, słowo kluczowe użyte do zadeklarowania zmiennej typu long jest "długie".
  5. Ogólnie rzecz biorąc, pamięć wymagana do przechowywania wartości typu int jest mniejsza w porównaniu z długością.

Wniosek:

Podczas pisania kodu, jeśli istnieje potrzeba wartości średniego zakresu, można użyć typu int, ale gdy wynik uzyskany przez dowolne wyrażenie będzie większy lub większe wartości są używane do obliczeń, to należy użyć zmiennej typu long wartości.

Top