====== Taulukot ======
Samaan tapaan kuin argumentit olivat numeroin viitattavissa lokeroissa, niin samaan tapaan voidaan tehdä "lipastoja" muistakin muuttujista.
Jos tiedetään heti "lipaston" koko, niin esittely tapahtuu seuraavasti
int taulukko[] = new int[5];
Mikäli taulukon kokoa ei tiedetä aluksi, niin koko voidaan määritellä myöhemminkin
int taulukko[];
/* ...koodia...
Kysytään käyttäjältä taulukon koko muuttujaan koko...
*/
taulukko = new int[koko];
Tästä on se etu, että taulukon koko voidaan kysyä myöhemmin vaikka käyttäjältä.
Lokeroiden numerointi alkaa indeksistä 0, joten viimeinen indeksi on koko-1. Tällöin on helppo käyttää for-silmukkaa, joka menee nollasta kokoon
for (int i = 0; i < koko; i++)
{
//...taulukon käsittelyä...
}
Esimerkki. Kysytään käyttäjältä 10 lukua ja tulostetaan ne ruudulle. Koska käytetään taulukoita, niin emme tarvitse 10 eri muuttujaa, vaan yksi riittää.
import java.io.*;
class Taulukko_esittely
{
public static void main(String args[]) throws IOException
{
BufferedReader lukija = new BufferedReader(new
InputStreamReader(System.in));
int taulukko[] = new int[10]; //luodaan taulukko
//Annetaan taulukon jokaisen alkion arvoksi 0
for (int i=0; i < 10; i++)
{
taulukko[i] = 0;
}
System.out.println("Syötä taulukkoon kokonaislukuja!");
//Kysytään käyttäjältä alkion arvot
for (int i=0; i < 10; i++)
{
System.out.print("Anna alkion " + i + " arvo:");
taulukko[i] = Integer.parseInt(lukija.readLine());
}
//Tulostetaan taulukko
for (int i=0; i < 10; i++)
{
System.out.println("taulukko["+i+"] = " + taulukko[i]);
}
}
}
===== Moniulotteinen taulukko =====
class Taulukko
{
public static void main(String[] args)
{
int taulukko[][] = new int[5][5];
for (int i=0; i<5; i++)
for (int j=0; j<5; j++)
taulukko[i][j]=0;
tulosta_taulukko(taulukko);
}
static void tulosta_taulukko(int[][] taulukko)
{
for (int i=0; i
Taulukoiden avulla voidaan siirtää metodiin ja metodista useampia arvoja kerrallaan. Alla oleva ohjelma antaa metodille parametrina taulukon, jonka arvoja muutetaan metodissa. Muuttujan arvot muuttuvat myös pääohjelmassa!
class Taulukkoesim
{
public static void main(String args[])
{
double c[] = new double[3];
c[0] = 1.0;
c[1] = 2.0;
c[2] = 3.0;
tulosta_taulukko(c);
muuta_taulukkoa(c);
tulosta_taulukko(c);
}
public static void muuta_taulukkoa(double[] taulukko)
{
taulukko[0] = 5.0;
taulukko[1] = 9.0;
}
public static void tulosta_taulukko(double[] taulukko)
{
for (int i=0; i < taulukko.length; i++)
System.out.print(taulukko[i]+" ");
System.out.println();
}
}
[[Java:Taulukot:Tehtavia|Tehtäviä taulukoista]]