Programowanie 2 - Ćwiczenia 2


Poprzednie Następne
Temat: Pierwsze wprawki w Javie.

Cel przedmiotu

  1. Poznanie podstawowych toków myślenia potrzebnych podczas tworzenia programu komputerowego.
  2. Zrozumienie co to jest program komputerowy.
  3. Zdobycie umiejętności napisania kilku podstawowych programów komputerowych w języku JAVA.

Ogólny schemat kodu źródłowego w JAVA

public class FirstProgram {

/**
* @param args
*/
public static void main(String[] args) {
// <------ TUTAJ ROZPOCZYNA SIĘ DZIAŁANIE PROGRAMU
System.out.println("Oto pierwszy program w języku JAVA");
}
}

Działanie programu rozpoczyna się od pierwszej linii w funkcji "main".

Opis działania programu:
   
Pierwsza linia - rozpoczęcie działania programu:
 // <------ TUTAJ ROZPOCZYNA SIĘ DZIAŁANIE PROGRAMU
    jest komentarzem w programie i nie powoduje wykonania żadnych czynności.


    Kolejna linia
        System.out.println("Oto pierwszy program w języku JAVA");
    Powoduje wypisanie tekstu znajdującego się pomiędzy cudzysłowami na ekranie

Zmienne w programie

Definicja (wikipedia)

Zmienna - konstrukcja programistyczna posiadająca trzy podstawowe atrybuty: symboliczną nazwę, miejsce przechowywania i wartość; pozwalająca w programie odwoływać się przy pomocy nazwy do wartości lub miejsca przechowywania. Nazwa służy do identyfikowania zmiennej w związku z tym często nazywana jest identyfikatorem. Miejsce przechowywania przeważnie znajduje się w pamięci komputera i określane jest przez adres i długość danych. Wartość to zawartość miejsca przechowywania. Zmienna zazwyczaj posiada również czwarty atrybut: typ, określający rodzaj danych przechowywanych w zmiennej i co za tym idzie sposób reprezentacji wartości w miejscu przechowywania. W programie wartość zmiennej może być odczytywana lub zastępowana nową wartością, tak więc wartość zmiennej może zmieniać się w trakcie wykonywania programu, natomiast dwa pierwsze atrybuty (nazwa i miejsce przechowywania) nie zmieniają się w trakcie istnienia zmiennej.

Typy danych (zmiennych)


Stałoprzecinkowe:

Typ
Zakres
byte
-128 do 127
short
-32 768 do 32767
int
-2147483648 do 2147483647
long
od -2^63 do 2^63  -1



Zmiennoprzecinkowe:

Typ
Zakres
float
4 bajty w pamięci
double
8 bajtów w pamięci



Typ String:

Służy do zapamiętywania tekstów, np. tych wpisanych z klawiatury jak w poprzednim przykładzie:
String nazwisko = klaw.readLine();

Typ Boolean:

Służy do zapamiętywania wartości logicznych typu: prawda i fałsz:
boolean wartosc_logiczna = false; 
boolean wartosc_logiczna = true;

Definiowanie zmiennych

Zmienne deklarujemy (inaczej informujemy komputer, iż będziemy z nich korzystać) w następujący sposób:

Typ zmiennej   nazwa_zmiennej;
lub w tym samym kroku ustawiając jej wartość:
Typ zmiennej   nazwa_zmiennej = wartosc_zmiennej;

np:
String napis1; 
String napis1="ala ma kota";


Zmiana wartości zmiennych

W trakcie działania programu możemy zmieniać wartość zmiennej w następujący sposób:

String napis1="ala ma kota";
String napis2="pies ma ale";


// jakiś kod:


napis1 = "kot ma ale";

//przypisanie wartości ze zmiennej napis1 do zmiennej2
napis2 = napis1;




int liczba1 = 10;
int liczba2 = 20;

int liczba3 = liczba1 + liczba2;
int liczba4 = liczba1 - liczba2;
int liczba5 = liczba1 * liczba2;
int liczba6 = liczba2 / liczba1;

Czy dobrze rozumiemy pojęcie zmiennych? Sprawdź samodzielnie!!!


Sprawdzenie czy dobrze rozumiemy pojęcie zmiennych:

Jaki będzie wynik działania programu - postaraj się odpowiedzieć samodzielnie, a następnie sprawdzić uruchamiając program?

public class TypyZmiennych {

public static void main(String[] args) {

String tekst1 = "ala ma kota";
String tekst2 = "kot ma ale";
String tekst3 = tekst1;
tekst1 = "kot w butach";
String tekst4 = tekst1;

System.out.println(tekst1);
System.out.println(tekst2);
System.out.println(tekst3);
System.out.println(tekst4);
}
}

A jaki będzie wynik działania tego programu - postaraj się odpowiedzieć samodzielnie, a następnie sprawdzić uruchamiając program?

public class TypyZmiennych2 {

public static void main(String[] args) {

int a = 10;
int b = 20;
int c = a*b;
a = c;
int d = a-b;

System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}

Instrukcje sterujące

If else

Instrukcja sterująca umożliwiająca wykonanie kodu programu w zależności od aktualnych wartości zmiennych w programie

if (wartosc_logiczna) {
/* instukcje wykonywane gdy wartosc_logiczna jest prawdziwa */
} else {
/* instrukcje
wykonywane gdy wartosc_logiczna jest falszywa */
}


Jaki będzie wynik działania programu - postaraj się odpowiedzieć samodzielnie, a następnie sprawdzić uruchamiając program?

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ProgramLiczby {

/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
BufferedReader klaw = new BufferedReader(new InputStreamReader(System.in));

int a = Integer.parseInt(klaw.readLine());
if (a > 20) {
System.out.println(a);
} else {
System.out.println(a + 10);
}
}
}

Zadanie 2.1

Napisz program wczytujący Imię i Nazwisko z klawiatury. Następnie jeżeli w kolejności leksykograficznej Imię będzie przed Nazwiskiem wypisze tekst "Imię < Nazwisko", a jeżeli nie to wypisze napis: "Nazwisko <= Imię". np:
jeżeli podamy imię: Wojtek i nazwisko: Wawrzyniak
program powinien wypisać

Nazwisko <= Imię

while oraz do while

pętla while
while (wartosc_logiczna) {
/* instrukcje wykonywane do czasu az wartosc_logiczna jest prawda
}
pętla do-while
while (wartosc_logiczna) {
/* instrukcje wykonywane do czasu az wartosc_logiczna jest prawda
}

Przykładowy program - sprawdź jak działa ... czy tak jak się spodziewałeś/łaś?
public class Petla1 {

/**
* @param args
*/
public static void main(String[] args) {
int a = 0;
while (a < 10) {
a++;
System.out.println("Petla 1: " + a);
}

System.out.println("-----------------------");

a = 10;
do{
a++;
System.out.println("Petla 2: " + a);
} while (a<10);

System.out.println("-----------------------");
a = 10;
while (a < 10) {
a++;
System.out.println("Petla 3: " + a);
}
}
}

Zadanie 2.2

Napisz program który w pętli while będzie wczytywał liczby tak długo, aż nie napotka liczby mniejszej od 10. Gdy ją napotka wypisze napis "podana liczba jest mniejsza od 10" i zakończy działanie. W tym celu wykorzystaj pętle while.