Wprowadzenie

/*
ProstyProgram.java

Programy w Javie zbudowane są z klas, które umieszcza
się w plikach źródłowych z rozszerzeniem .java. Pliki
źródłowe i klasy mają określone nazwy. Klasy pogrupowane
są w pakiety. Pakiet określa się dla wszystkich klas
z danego pliku źródłowego. Jeśli pakiet nie zostanie
określony w sposób jawny, to wszystkie klasy z danego
pliku źródłowego należą do pakietu domyślnego. W danym
pliku źródłowym można umieścić wiele klas, ale tylko jedna
z nich może być publiczna, czyli mieć modyfikator public.
Jeśli w pliku źródłowym znajduje się klasa z modyfikatorem
public, to musi ona mieć taką samą nazwę jak plik źródłowy.

Uwagi:

1. Wszystkie nasze programy będą zawarte w jednym pliku źródłowym.
2. Wszystkie klasy będą należały do pakietu domyślnego.
3. Klasy z pakietu java.lang są bezpośrednio dostępne
   dla wszystkich innych pakietów.

Polskie znaki:
Polskie znaki używamy tylko w komentarzach.

Wpisywanie ciała klas, metod i instrukcji:

1. Nawias otwierający -> Enter.
2. Nawias zamykający -> Strzałka w górę
3. Enter -> Tab.
*/

public class ProstyProgram // nagłówek klasy
{
  public static void main(String[] args) // nagłówek metody main
  {
    System.out.println("Prosty program."); // ciało metody main
  }
}
Prosty program.
Press any key to continue...
/*
ZasiegZmiennych.java

Zmienne lokalna to zmienna, która została zadeklarowana w ciele
lub nagłówku metody lub konstruktora. Zmienna lokalna widoczna
jest od miejsca deklaracji do końca bloku, w którym została
zadeklarowana. Zmienna zadeklarowana w nagłówku metody lub
konstruktora jest widoczna w całym ciele metody lub konstruktora.

Uwagi:

1. Blok jest określony przez parę nawiasów klamrowych.
2. Ciała klas, metod i instrukcji to również bloki.
3. Aby program był czytelny zmienne lokalne należy
   deklarować w taki sposób, aby miały możliwie
   najmniejszy zasięg.
*/

public class ZasiegZmiennych
{
  public static void main(String[] args)
  {
    int a; // deklaracja zmiennej a typu całkowitego int
    a = 1; // przypisanie wartości do zmiennej a
    
    {
      int b; // deklaracja zmiennej b typu całkowitego int
      b = 2; // przypisanie wartości do zmiennej b
      
      System.out.println("a = " + a);
      System.out.println("b = " + b + "\n");
    }
    
    System.out.println("a = " + a);    // b tu nie widać
    // System.out.println("b = " + b); // b tu nie widać
  }
}
a = 1
b = 2

a = 1
Press any key to continue...
/* TypyLiczbowe.java */

public class TypyLiczbowe
{
  public static void main(String[] args)
  {
    // typ całkowity int
    // zmienne typu całkowitego int mogą przechowywać
    // liczby całkowite z zakresu od -2^31 do 2^31-1
    
    int intMin = Integer.MIN_VALUE; // najmniejsza liczba typu int
    int intMax = Integer.MAX_VALUE; // największa liczba typu int
    
    System.out.println("intMin = " + intMin);
    System.out.println("intMax = " + intMax);
    
    // typ całkowity long
    // zmienne typu całkowitego long mogą przechowywać
    // liczby całkowite z zakresu od -2^63 do 2^63-1
    
    long longMin = Long.MIN_VALUE; // najmniejsza liczba typu long
    long longMax = Long.MAX_VALUE; // największa liczba typu long
    
    System.out.println("longMin = " + longMin);
    System.out.println("longMax = " + longMax);
    
    // typ zmiennopozycyjny double
    // zmienne typu "rzeczywistego" double mogą przechowywać
    // dodatnie i ujemne liczby wymierne, przy czym najmniejszą
    // dodatnią liczbą wymierną jaką może przechowywać zmienna
    // typu double jest 2^-1074 a największą jest (2-2^-52)*2^1023
    
    double doubleMin = Double.MIN_VALUE; // najmniejsza dodatnia liczba typu double
    double doubleMax = Double.MAX_VALUE; // największa liczba typu double
    
    System.out.println("doubleMin = " + doubleMin);
    System.out.println("doubleMax = " + doubleMax);
    
    // dodatek o innych typach
    
    // typ logiczny boolean
    // zmienne typu logicznego boolean mogą przechowywać dwie
    // wartości false lub true
    
    boolean falsz = false;
    boolean prawda = true;
    
    System.out.println("falsz = " + falsz);
    System.out.println("prawda = " + prawda);
    
    // typy referencyjne
    // typ referencyjny to nazwa klasy lub interfejsu
    // zmienne referencyjne przechowują referencje do obiektów
    // przez referencje możemy odwoływać się do zmiennych i metod obiektów
    
    String napis = "To jest napis.";
    int liczbaZnakow = napis.length(); // wywołanie metody length
    
    System.out.println(napis);
    System.out.println("Napis ma " + liczbaZnakow + " znakow.");
  }
}
intMin = -2147483648
intMax = 2147483647
longMin = -9223372036854775808
longMax = 9223372036854775807
doubleMin = 4.9E-324
doubleMax = 1.7976931348623157E308
falsz = false
prawda = true
To jest napis.
Napis ma 14 znakow.
Press any key to continue...

Strona główna