Java


5. Przepływ sterowania

5.1. Instrukcje, bloki i zmienne lokalne

Instrukcja - jedno z następujących wyrażeń zakończone średnikiem:

Blok (instrukcja złożona) - kilka instrukcji zamkniętych w nawiasy { }.

Zmienna lokalna - zdeklarowana wewnątrz bloku. Zmiennej takiej należy nadać wartość początkową:

{

int i = 0;

… // dalszy ciąg bloku

}

5.2. Instrukcje warunkowe

Dwa rodzaje instrukcji warunkowych:

Przykład:

static void ocena ( double cena, double c1, double c2 ) {

String ocena = "nieznana";

if ( cena < c1 ) ocena = "tanio";

else if ( cena >= c1 && cena <= c2 )
ocena = "średnio ";

else ocena = "drogo";

System.out.println ( ocena );

}

Instrukcję if else można zapisać w sposób skrócony:

Przykład:

znak = ( liczba < 0.0 ) ? "ujemna" : "nieujemna";

5.3. Instrukcja wyboru

Instrukcja wyboru ma składnię:

Wyrażenie testowe musi mieć wartość typu int. Wartości etykiet muszą być wyrażeniami stałymi. W miejsce break może wystąpić return.

Jeżeli pominiemy break lub return, to wykonywany jest następny przypadek instrukcji wyboru.

5.4. Pętle

Trzy rodzaje pętli:

Przykład:

for ( int i =0; i < tab.length; i++ ) tab [ i ] = i ;

Przykład:

int i = 0;

while ( i < tab.length ) { tab [ i ] = i ; i++ ; }

Przykład:

int i = 0;

do {tab [ i ] = i ; i++ ; } while ( i < tab.length ) ;

Instrukcja break przerywa wykonanie pętli.

Przykład:

static int ujemny( int tab [ ] ) {

int i = 0;

while ( i < tab.length ) {

if ( tab [ i ] < 0 ) break ;

else i ++ ;

}

if ( i == tab.length ) i = -1 ; // brak ujemnego

return i;

}

Instrukcja continue pomija resztę pętli.

Przykład:

static int kopiujDodatnie ( int oryg [ ] , int kopia [ ] ) {

int liczba = 0, i = 0 ;

do {

if ( oryg [ i ] <= 0 ) { i ++ ; continue ; }

kopia [ liczba ] = oryg [ i ];

liczba ++ ;

i ++ ;

} while ( i < oryg.length ) ;

return liczba;

}

Aplikacja Telefony

class Telefony {

final static int MAX = 10,

IMIĘ = 0, NAZWISKO = 1;

static String tekst;

static String lista [ ] [ ] = new String [ MAX ] [ 3 ];

static int liczbaOsób = 0;

static void nagłówek ( ) { … }

static String wczytajDane ( ) {

String dane = "Andrzej Kmicic 782-15-44
Jurij Bohun 653-12-87
Jan Skrzetuski 856-11-67
Helena Kurcewicz 764-76-99";

return dane;

}

static int wczytajSłowo ( char [ ] znaki, int nrZnaku,
StringBuffer bufor ) {

bufor.setLength ( 0 );

while ( ( nrZnaku <= znaki.length-1) &&
( znaki [ nrZnaku ] != ' ' ) ) {

bufor.append ( znaki [ nrZnaku ] );

nrZnaku++; }

return nrZnaku+1;

}

static int zapisz ( int nrOsoby, int wybór,
StringBuffer bufor, String lista [ ] [ ] ) {

lista [ nrOsoby ] [ wybór ] = bufor.toString ( );

return ++wybór;

}

static int naListę ( ) {

char [ ] znaki = tekst.toCharArray ( );

StringBuffer bufor = new StringBuffer ( );

int liczbaZnaków = znaki.length;

int nrZnaku = 0;

int nrOsoby = 0;

int wybór = 0;

while ( nrZnaku < liczbaZnaków-1 ) {

nrZnaku = wczytajSłowo ( znaki, nrZnaku,
bufor );

if ( wybór > 2 ) { wybór = 0; nrOsoby++;}

wybór = zapisz ( nrOsoby, wybór, bufor, lista );

}

return ++nrOsoby;

}

static void drukujListę ( ) {

System.out.println ( "Lista telefonow:" );

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

System.out.println ( "Lp Imie Nazwisko Telefon" );

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

for ( int i = 0; i < liczbaOsób ; i++ ) {

System.out.print ( ( i + 1 ) + " " );

for ( int j = 0; j < 3 ; j++ ) {

System.out.print ( lista [i] [j] + " " );

}

System.out.println ( );

}

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

}

static void podaj ( int wybór ) {

int i = 0;

switch ( wybór ) {

case IMIĘ:

System.out.print ( '\n' + "Imiona: " );

do {

System.out.print ( lista [ i ] [ 0 ] + " " );

i++;

}

while ( i < liczbaOsób );

break;

case NAZWISKO:

System.out.print ( '\n' + "Nazwiska: " );

do {

System.out.print ( lista [ i ] [ 1 ] + " " );

i++;

}

while ( i < liczbaOsób );

break;

default:

System.out.println ( "Bledny wybor" + '\n' );

}

System.out.println ( );

}

public static void main ( String args [ ] ) {

nagłówek ( );

tekst = wczytajDane ( );

liczbaOsób = naListę ( );

drukujListę ( );

podaj ( IMIĘ );

podaj ( NAZWISKO );

}

}

Adam Borkowski Język programowania „Java” 5-8



Wyszukiwarka

Podobne podstrony:
Java Media FreamWork
java 2
Projekt java
JAVA tablice
Inzynieria oprogramowania w ujeciu obiektowym UML wzorce projektowe i Java iowuje
Java Przewodnik dla poczatkujacych Wydanie V javpp5
zasady grupy, java, javascript, oprogramowanie biurowe, programowanie, programowanie 2, UTK, systemy
praktyczny kurs java NX2M5DXARLEHY6NHXOS5FJHKLI6ACRLQQSDRS2Q
notatki java 08
Praktyczny kurs Java
Java praca domowa 10
java 3 id 226367 Nieznany
Java Coding rules
java object serialization speci Nieznany
java script TY2DWI33KJCAKQBCFPFEFQ736KLTSQZ3F6JQE2Q
JP SS 4 start Java
notatki java 05
java swing
notatki java 07
helion java cwiczenia zaawansow Nieznany

więcej podobnych podstron