Skocz do zawartości
*.jar

Deklaracja, inicjalizacja i kalkulacja - Java!

Rekomendowane odpowiedzi

Dzień doberek ;)

 

W poprzednim poradniku pokazałem Wam jak zrobić prosty program Java drukujący podaną przez nas linię w konsoli. Dziś postanowiłem nauczyć Was kolejnej rzeczy - deklaracji zmiennych. Gdy już to opanujemy postanowiłem, że wykorzystamy wiedzę z poprzedniej lekcji i obecnej i stworzymy banalny kalkulator obliczający podstawowe rzeczy - dodawanie, odejmowanie, mnożenie i dzieleni. Zaczynajmy!!!

 

Deklaracja i inicjalizacja zmiennych i ich typy

 

Każdy język oprogramowania ma swoje zmienne. I w każdym języku trzeba te zmienne zadeklarować i zainicjalizować. Czym jest deklaracja, a czym inicjalizacja? Nic trudnego.

 

Deklaracja to po prostu określenie typu i nazwy danej zmiennej:

String nazwa;

W powyższym przykładzie zadeklarowałem zmienną o nazwie "nazwa", która jest typem "String". O typach zmiennych napiszę później.

 

Inicjalizacja to nadanie wartości zadeklarowanej zmiennej:

nazwa = "Fragujemy.com";

W powyższym przykładzie zainicjalizowałem zmiennej "nazwa" wartość "Fragujemy.com".

 

Istnieje również możliwość deklaracji i inicjalizacji zmiennej w tej samej linijce kodu. Wygląda to następująco:

String nazwa = "Fragujemy.com";

I jest to najczęściej spotykana forma w programowaniu.

 

Typy zmiennych

Wiemy już jaka jest różnica między deklaracją a inicjalizacją. Ale skąd wiedzieć jaki typ zmiennej zadeklarować? Poniżej przedstawiam listę podstawowych zmiennych w Javie.

  • String - typ obiektowy zmiennej (jedyny, który podam w tym zestawieniu), który przechowuje ciąg znaków czyli najprościej mówiąc - tekst.
  • boolean - przyjmuje tylko wartość true i false.
  • char - po prostu "znak". Odpowiada na przykład jednej literze, ale może przechować liczbę od 0 do 65 535.
  • float - przechowuje ułamki. Maksymalnie może przechowywać liczbę z ok. 6-7 miejsc po przecinku.
  • double - zaawansowana forma float. Może przechować maksymalnie liczbę z ok. 15 miejsc po przecinku.
  • int - podobnie jak powyższe przechowuje liczby, jednak w przeciwieństwie do float i double przechowuje jedynie liczby całkowite.

 

Dodatkowo oprócz zmiennej int mamy również short i long. Zmienna short przechowuje po prostu mniejszy zakres liczb całkowitych niż int. Jak można się teraz domyślić, zmienna long przechowuje większy zakres liczb całkowitych niż int. Zakresy tych liczb są podane w bajtach, ale nie będę się tutaj rozpisywać bo i tak nikt tego nie zapamięta :) Najczęściej używa się int  do liczb całkowitych i double jeśli chcemy zapisać liczbę zmiennoprzecinkową.

 

Mój pierwszy kalkulator!

Skoro znamy już typy zmiennych, a także wiemy jak je deklarować i inicjalizować to rozpocznijmy naszą podróż w głębokie wody tworzenia prostego kalkulatora, dzięki któremu będziemy mogli dowiedzieć się czy Pani na kasie w biedronce dobrze nam oddała resztę. Zaczynamy!

 

Po pierwsze uruchamiamy sobie nasz program (w moim przypadku IntelliJ). Po uruchomieniu tworzymy nową klasę:

image.thumb.png.0e092cec6dc0920d4d55bb93122b7353.png

 

Nazwijmy ją sobie Calculator i wciśnijmy przycisk OK. Pojawi nam się nasza klasa:

image.png.52e57f5db75b5011c998e626f7c41ddd.png

 

Pierwszą rzeczą jak już poprzednio wspominałem jest utworzenie metody main. W IntelliJ wystarczy wpisać psvm, a następnie kliknąć ctrl+spacja i Enter, a podpowiedź sama wstawi nam gotową linijkę kodu:

 

image.thumb.png.a2a6fb36eec94c519ce59b380e86e1ad.png

image.png.3946eee2ffb8952893ab772f1e1c8b86.png

 

Teraz zadeklarujmy sobie dwie zmienne typu int o nazwie number1 i number2.

image.png.8a25df69beca2567e400e625e3631e18.png

 

Mając zadeklarowane dwie zmienne int o nazwach number1 i number2 możemy przechować w nich wartości. Przykładowo wpiszmy, że number1 to 76423, a number2 to 2314.

image.png.45400a95ae655499042421f0c5d8bb84.png

 

Powyższe wartości możecie zmieniać w każdym momencie. Możecie też zadeklarować więcej zmiennych o różnych typach, wszystko jest dowolne. Narazie skupmy się na powyższym.

 

Teraz nasze zmienne przechowują powyższe dwie liczby. Teraz zadeklarujmy sobie 4 różne zmienne. Przykład jak to wygląda u mnie:

image.thumb.png.472c4b781c60dfdf41360db20839b0de.png

 

Idąc od góry: mnożenie, dzielenie, odejmowanie, dodawanie. Tak nazwałem swoje zmienne i zdeklarowałem je jako Integer (int). Teraz chciałbym, aby program wykonał wszystkie powyższe rodzaje działań biorąc pod uwagę powyższe dane. Więc inicjalizuję sobie w nowych zmiennych działania tak jak jest to widoczne na poniższym screenie:

image.thumb.png.fedb96f6272133565e5ddc38dbd8bb14.png

 

Podczas wpisywania mogliście zaobserwować, że program sam podpowiadał Wam zadeklarowane zmienne. Jeśli mają one skomplikowane nazwy lub po prostu chcecie przyspieszyć Wasz proces pisania kodu to jest to bardzo pomocne.

 

Mając zadeklarowane zmienne dotyczące wykonywania operacji matematycznych i zainicjalizowaliście w nich te działania to teraz należy wydrukować wyniki, które Wam powstały. Wykorzystajmy do tego wiedzę z poprzedniego poradnika i spróbujcie sami napisać linijkę, która wydrukuje Wam wyniki działań. Jednak nie tak szybko! Poprzednio drukowaliśmy tylko samego String'a, tutaj mamy już inne zmienne - Integer. W tym wypadku nie można wpisać po prostu

System.out.println(multiplication, division, subtraction, addition);

Program wtedy wyrzuci nam błąd bo będzie chciał wydrukować wszystko naraz (w tym samym momencie będzie chciał wypluć w konsoli wyniki każdego działania). Nie możemy tego również zapisać w ten sposób:

System.out.println(multiplication + division + subtraction + addition);

Dlaczego? Bo program wydrukuje wynik dodawania wszystkich wcześniej otrzymanych wyników. Aby poprawnie wydrukować otrzymane wyniki, musimy w nawiasie dać jakikolwiek String. Przykładowo u mnie wygląda to tak:

System.out.println("Result of multiplication: " + multiplication + ". Result of division: " + division + ". Result of subtraction: " + subtraction + ". Result of addition: " + addition + ".");

Jeśli teraz uruchomimy program to otrzymamy taki output w konsoli:

image.thumb.png.2088f7b7ba9ce93c3e61dd40eec9c2f6.png

 

Jak widzicie nie jest to zbyt czytelne. Dodajmy więc sobie separator linii \n przed każdym słowem Result. Powinno to wyglądać tak:

System.out.println("Result of multiplication: " + multiplication + ". \nResult of division: " + division + ". \nResult of subtraction: " + subtraction + ". \nResult of addition: " + addition + ".");

Teraz wynik w konsoli będzie taki:

image.png.f12258d785b0ac364f4820970cfdb374.png

 

I to już wszystko :) Popróbujcie sami i w razie pytań zapraszam do komentarzy!!!

  • Ustrzel fraga! (+) 1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

  • Podobna zawartość

    • Przez E.R
      Banany Blue Java są prawdopodobnie najsmaczniejszym przysmakiem, jakie kiedykolwiek będziecie mogli spróbować, ponieważ smakują jak... lody waniliowe, a nawet mają podobną konsystencję!
      Nazwa pochodzi od koloru ich niedojrzałej skórki. Kiedy dojrzewają, ich skórka robi się blado-żółta lub zielonkawa. Większość odmian bananów nie lubią zimnych miejsc i dobrze rozwijają się w tropikalnych miejscach. Jednak banany Blue Java mogą rosnąć w niskich temperaturach, nawet do -7 stopni Celsjusza.
      Na Fidżi nazywają go bananem hawajskim, a na Hawajach bananem lodowym.
      Banany Blue Java posiadają szerokie i mocne liście. Używa się ich zamiast pergaminu, folii aluminiowej lub czegokolwiek innego zdatnego do suszenia, grillowania, pieczenia, parzenia i ogólnie do gotowania.
      Mają niską zawartość tłuszczu i dostarczają dużo energii. 100-gramowa porcja daje 89 kalorii, 22,8 grama węglowodanów i 0,3 grama tłuszczu.
       
      Jest ktoś chętny na spróbowanie?  
       

       
      Źródło
       
      Spodobało się?   
      Zostaw serduszko!
    • Przez *.jar
      Cześć i czołem
       
      W poprzednim poradniku nauczyliśmy się jak napisać prosty kalkulator wykonujący podstawowe operacje na wprowadzonych w kodzie liczbach. Jednak nie jest on zbyt praktyczny prawda? W końcu nie będziemy komuś wysyłać kodu, żeby sobie wkleił swoje liczby i potem sprawdził co mu wyjdzie. Lepszym pomysłem będzie zapytać użytkownika o te liczby. I tego też nauczymy się dziś.
       
      W tym krótkim poradniku pokażę Wam czym jest Scanner i jak się go używa. Jest to prosta rzecz, która na początku będzie dla Was podstawą i będziecie mogli z niej dużo wyciągnąć (budowanie zdań, obliczanie liczb itp.). Zapraszam do programowania!
       
      Pobieranie danych od użytkownika
       
      Zdaję sobie sprawę, że poprzednie poradniki mogły wydać się Wam... niepotrzebne. Ale to mylne podejście. To czego nauczyliście się wcześniej to podstawa do wykonywania bardziej złożonych kodów. Tak naprawdę deklaracje, inicjalizacje czy wyświetlanie danych będzie Wam potrzebne cały czas, a przynajmniej napewno w pierwszej fazie nauki programowania w języku Java.
       
      Pobieranie danych od użytkownika to chyba jedna z najważniejszych rzeczy bo dzięki niej nasz program ma większe "pole manewru". Jest wiele opcji pobierania danych od użytkownika, ale my nauczymy się dziś chyba najprostszej z nich - System.in i klasy Scanner. Poniżej przykład jak wygląda prosty kod przyjmujący imię od użytkownika i wyświetlający je:
       
      import java.util.Scanner; public class Greeting{ public static void main(String[] args){ String imie; //tutaj deklarujemy zmienną, w której zapiszemy podane przez użytkownika dane Scanner input = new Scanner(System.in); //tutaj pobierzemy dane od użytkownika imie = input.nextLine(); //tutaj program wprowadzi pobrane dane do zmiennej "imie" System.out.println("Witaj " + imie+ "."); //wyświetlamy wraz z pobranym imieniem użytkownika } } Jak widzicie pierwszą rzeczą w tym programie jest zadeklarowanie zmiennej imie i przypisanie jej typu String. Oznacza to, że będzie tu przechochowywany tekst.
       
      Następnie zadeklarowaliśmy obiekt Scanner nadając mu "nazwę" input. Po tym etapie musieliśmy stworzyć obiekt Scanner za pomocą operatora new. Poniżej wytłumaczenie po kolei co i jak:
      Scanner input = new Scanner(System.in); //deklaracja obiektu Scanner o nazwie input = utworzenie obiektu Scanner(nadanie mu parametru System.in czyli wejście danych od użytkownika) Jak widzicie tworzenie i deklaracja nowego obiektu jest bardzo podobna do deklaracji i inicjalizacji zmiennej. Jest to część Programowania obiektowego, o którym pisać będę w dalszych poradnikach. Ważne jest, abyście zrozumieli co wydarzyło się powyżej bo na tym będzie opierać się dużo przyszłych poradników.
       
      Jak mamy już utworzony obiekt Scanner i przypisaliśmy mu parametr System.in to należy teraz odebrać dane od użytkownika i zapisać je w naszej zmiennej imie. Do tego służy ta linijka:
      imie = input.nextLine(); Analogicznie do poprzedniej lekcji - inicjalizujemy wprowadzone dane przez użytkownika w zmiennej imie. Istnieje wiele metod odczytu danych w przypadku obiektu Scanner. Powyższy nextLine() służy do pobrania ciągu znaków czyli po prostu String. Inne istniejące możliwości to na przykład:
      nextInt() - pobiera liczbę całkowitą od użytkownika np. 10 nextDouble() - pobiera liczbę zmiennoprzecinkową od użytkownika np. 10,0123  
      Sam obiekt Scanner ma masę innych funkcji, ale te powyższe przedstawiłem podstawowe. Generalnie polecam poczytać o tym tu jeśli ktoś będzie chciał się tym pobawić:
      https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html
       
      Prosty kalkulator przyjmujący dane
       
      Teraz wejdźmy sobie w nasz stworzony wcześniej projekt kalkulatorka:
      public class Calculator { public static void main(String[] args) { int number1 = 76423; int number2 = 2314; int multiplication = number1 * number2; int division = number1 / number2; int subtraction = number1 - number2; int addition = number1 + number2; System.out.println("Result of multiplication: " + multiplication + ". \nResult of division: " + division + ". \nResult of subtraction: " + subtraction + ". \nResult of addition: " + addition + "."); } } Spróbujmy na podstawie powyższych moich wypocin zedytować ten kod, aby przyjmował dwie zmienne int od użytkownika i zapisywał je jako number1 i number2.
       
      Poniżej rozpisuję kroki:
      Stworzenie i deklaracja dwóch obiektów Scanner z parametrem wejścia użytkownika (System.in). Nazwa dowolna (na przykłąd input1 i input2) Zapisanie pobranych danych z jednego Scannera i drugiego do dwóch zmiennych Integer - number1 i number2  
      Powinno to wyglądać w ten sposób:
        
       
      Dlaczego tyle czerwonego? Bo nie zaimportowaliśmy klasy Scanner. Jeśli korzystamy z IntelliJ jedyne co trzeba zrobić to będąc kursorem na linijce deklarowania Scannera kliknąć Alt+Enter i automatycznie zostanie nam zaimportowany Scanner. Drugim sposobem jest po prostu przepisanie poniższego importu:
      import java.util.Scanner; Gdy to zrobimy wszystko będzie wyglądać normalnie i nie będziemy mieć żadnych błędów.
       
      Uruchamiając teraz program wszystko zadziała poprawnie. Jednak jest jeden problem. Program od razu będzie chciał pobrać od użytkownika dwie liczby. Skąd użytkownik ma wiedzieć, aby je podać? Nic się nie wyświetli w konsoli.
       
      Aby wszystko było jasne i zrozumiałe należy na początku kodu dopisać linijkę, która wyświetli tekst proszący o podanie dwóch liczby przez użytkownika.
       
      Cały program ostatecznie będzie wyglądać w ten sposób:
      import java.util.Scanner; public class Calculator { public static void main(String[] args) { int number1; int number2; Scanner input1 = new Scanner(System.in); Scanner input2 = new Scanner(System.in); System.out.println("Podaj pierwszą liczbę: "); number1 = input1.nextInt(); System.out.println("Podaj drugą liczbę: "); number2 = input2.nextInt(); int multiplication = number1 * number2; int division = number1 / number2; int subtraction = number1 - number2; int addition = number1 + number2; System.out.println("Result of multiplication: " + multiplication + ". \nResult of division: " + division + ". \nResult of subtraction: " + subtraction + ". \nResult of addition: " + addition + "."); } }  
      Gratulacje! To działa!
       
      Teraz poćwiczcie. Już niedługo kolejny poradnik!
       
      Zadanie dla Was:
      Stwórz program, który będzie przyjmował Twoje imie, nazwisko i datę urodzin, a następnie wszystko zwracał użytkownikowi.
    • Przez *.jar
      Programowanie nie musi być trudne i skomplikowane. Wystarczy odpowiednie zaangażowanie i nie pchanie się na głęboką wodę bez doświadczenia, bo stracimy do tego chęci i nas to przerośnie.
       
      Generalnie najlepiej na samym początku popróbować sobie kilka języków i sprawdzić, w którym czujemy się dobrze. Osobiście zaczynałem od skryptowania w HTML, potem Python, a teraz od kilku miesięcy uczę się Javy. W celu utrwalenia mojej wiedzy i przekazania jej Wam z nadzieją wzbudzenia zainteresowania u niektórych postanowiłem co jakiś czas wypuszczać mały poradniczek jak zrobić daną rzecz. Mi najlepiej podszedł język Java.
       
      Dlaczego Java?
      Nikogo przekonywać nie będę bo każdy ma swój rozum. Mi osobiście spodobało się kilka rzeczy:
       
      1. Java to język obiektowy
      Co to właściwie znaczy? To jest naprawdę proste - patrząc na nasze biurko znajdziemy tam monitor, mysz, klawiaturę, podkładkę i wiele więcej. To wszystko to obiekty. Każdy z nich zawiera jakąś informację (mysz jest szara, klawiatura ma klawisze, monitor wyświetla obraz).
       
      2. Java działa na każdej platformie
      Istnieje coś takiego jak Java Virtual Machine (JVM). Dzięki niej napisany program można uruchomić na każdej platformie (Windows, Linuks i wiele więcej).
       
      3. Java jest prosta...
      ... dla niektórych. Nie każdy może być programistą. Nie każdy może być też lekarzem/prawnikiem/nauczycielem czy kierowcą. Dla jednych dana czynność jest łatwa, dla innych to kosmos. Według mnie Java jest łatwo skonstruowana. Przykład:
       
      System.out.println("Hello World"); cout<<"Hello World"  
      Jak myślicie, który kod to Java?
      .
      .
      .
      Pierwszy. Drugi to C++.
       
      Tłumacząc:
      System.out.println("Hello World"); To "wyjście systemu" (System.out), które w konsoli pokaże nam linię (println) z nawiasu: "Hello World".
       
      Dla porównania w C++:
      cout<<"Hello World" cout to "see out" czyli to samo co System.out.println
      Znaki <<  wskazują, że to co po prawej stronie jest wykonywane za pomocą komendy po lewej stronie. W tym przypadku String "Hello World" zostanie wykonany przez komendę cout czyli zostanie pokazany w konsoli.
       
      W mojej opinii prostsze jest:
      System.out.println("Hello World"); Bo od razu jasno precyzuje, że System wydrukuje linię "Hello World".
       
      Pierwszy program "Hello World"
      Napisanie pierwszego programu w Javie (po zainstalowaniu odpowiedniego oprogramowania) jest dziecinnie proste. Ja korzystam z IntelliJ Community Edition, ale wiele osób korzysta z Eclipse (darmowy i dobry program, zaczynałem od niego). Instalacja programu jest łatwa. Pobieramy instalkę z internetu i klikamy dwa razy. Do tego trzeba zainstalować Java Development Kit (JDK). Wpisujemy to w Google i pobieramy ze strony Oracle.
       
      Po instalacji wszystkiego możemy uruchomić program i zrobić swój pierwszy projekt. Nie będę tutaj pokazywać jak to wszystko po kolei uruchomić, skonfigurować JDK itp. bo w tym poradniku nie na tym się skupię. Jeśli chcecie drugi poradnik dotyczący instalacji i konfiguracji środowiska to dajcie znać w komentarzach.
       
      Sam program wygląda tak:

       
      Nic ciekawego tu nie ma. Gdzie tu pisać kod?
      Klikamy prawym przyciskiem myszy na "src", wybieramy New, a potem Java Class
       

       
      Klasy przyjęło się, że nazywamy wielką literą. Nazwijmy ja sobie "Beginning" i kliknijmy "OK".
      Zauważymy, że pojawiły nam się dwie linijki kodu:

       
      Co one oznaczają? Tylko tyle, że właśnie stworzyliśmy publiczną klasę o nazwie Beginning. Nawiasy klamrowe informują, że pomiędzy nimi jest reszta kodu.
      No dobra, to spróbujcie teraz wpisać między nimi
      System.out.println("Hello World"); I co? I nic. Nie można tak zrobić. Pokaże nam się błąd:

       
      Ale dlaczego? Przecież tak to działa.
      Dlatego, że w klasie nie ma metody main. Jest to metoda od której wszystko się zaczyna i wywoływana jest jako pierwsza, gdy uruchamiamy program. W każdym programie Java musi być metoda main w głównej klasie.
       
      Jak dodać taką metodę? To proste. Metoda sama w sobie wygląda tak:

       
      Skomplikowanie? Trochę. Ale mam dobrą wiadomość. Nie musicie tego wszystkiego przepisywać! Jeśli korzystacie z tego programu co ja (IntelliJ) to wystarczy wpisać psvm i wcisnąć ctrl+spacja. Wtedy pojawi nam się podpowiedź i gdy klikniemy enter doda nam się cała metoda i wszystko będzie wyglądać jak na powyższym screenie.
       
      Teraz jedyne co trzeba zrobić to wpisać pomiędzy nawiasami klamrowymi metody main:
      System.out.println("Hello World");  
      Ale tu też mam dla Was dobrą informację - nie musicie tego całego pisać! Wystarczy wpisać sout, wcisnąć ctrl+spacja i kliknąć enter i pojawi Wam się linijka z gotowym nawiasem do wpisania zawartości.
       

       
      Teraz jak wpiszecie w nawiasie "Hello World" i uruchomicie program, to w konsoli pojawi się napis z nawiasu.
       
      Pytania? Zapraszam do komentarzy Chętnie wszystko wytłumaczę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Polityka prywatności