You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Tunnet käsitteen muuttuja. Tiedät mitä ovat muuttujan tyyppi, muuttujan nimi, ja muuttujan arvo.
9
-
- Osaat luoda ja käsitellä merkkijono-, kokonaisluku-, liukuluku-, ja totuusarvomuuttujia.
10
+
<!-- - Tunnet käsitteen muuttuja. Tiedät mitä ovat muuttujan tyyppi, muuttujan nimi, ja muuttujan arvo.
11
+
- Osaat luoda ja käsitellä merkkijono-, kokonaisluku-, liukuluku-, ja totuusarvomuuttujia. -->
12
+
13
+
- You understand the concept of a variable. You know what variable types, names and values are.
14
+
- You know how to create and use string, integer, float, and boolean type variables.
10
15
11
16
</text-box>
12
17
13
-
Tutustuimme syötteen lukemisen yhteydessä jo pikaisesti merkkijonomuuttujiin. Tutustutaan seuraavaksi muihin usein käytettyihin Javan muuttujatyyppeihin.
18
+
<!--Tutustuimme syötteen lukemisen yhteydessä jo pikaisesti merkkijonomuuttujiin. Tutustutaan seuraavaksi muihin usein käytettyihin Javan muuttujatyyppeihin.-->
14
19
15
-
Muuttujaa kannattaa ajatella lokerona, johon voi tallettaa annetun tyyppistä tietoa. Tyyppejä ovat esimerkiksi teksti eli merkkijono (`String`), kokonaisluku (`int`), liukuluku (`double`) eli desimaaliluku, ja totuusarvo (`boolean`). Muuttujaan asetetaan arvo yhtäsuuruusmerkillä (`=`).
20
+
We already familiarized ourselves with strings while reading inputs. Let's now move on to learn about other widely-used variable types in Java.
16
21
17
-
```java
22
+
<!-- Muuttujaa kannattaa ajatella lokerona, johon voi tallettaa annetun tyyppistä tietoa. Tyyppejä ovat esimerkiksi teksti eli merkkijono (`String`), kokonaisluku (`int`), liukuluku (`double`) eli desimaaliluku, ja totuusarvo (`boolean`). Muuttujaan asetetaan arvo yhtäsuuruusmerkillä (`=`). -->
23
+
24
+
A variable can be thought of as a container in which information of a particular type can be stored. Examples of these different types are text (`String`), whole numbers (`int`), decimal numbers(`double`), and true or false values (`boolean`). A value is placed in a variable using an equals sign (`=`). -->
25
+
26
+
<!-- ```java
18
27
int kuukausia = 12;
28
+
``` -->
29
+
30
+
```java
31
+
int months =12;
19
32
```
20
33
21
-
Yllä olevassa lauseessa asetetaan kokonaisluku-tyyppiä (int) olevaan muuttujaan nimeltä kuukausia arvo 12. Lause luetaan "muuttuja kuukausia saa arvon 12".
34
+
<!--Yllä olevassa lauseessa asetetaan kokonaisluku-tyyppiä (int) olevaan muuttujaan nimeltä kuukausia arvo 12. Lause luetaan "muuttuja kuukausia saa arvon 12".
22
35
23
-
Muuttujan arvo voidaan yhdistää merkkijonoon +-merkillä seuraavan esimerkin mukaisesti.
36
+
Muuttujan arvo voidaan yhdistää merkkijonoon +-merkillä seuraavan esimerkin mukaisesti.-->
24
37
25
-
```java
38
+
In the statement above, a value of 12 is assigned to the integer variable named months. The statement reads: "the variable months gets the value 12".
39
+
40
+
A variable's value can be joined to a string using the + sign as seen in the following example.
<!-- Tehtäväpohja sisältää ohjelman, joka tulostaa seuraavaa. -->
88
+
89
+
The exercise base contains a program that prints the following:
51
90
52
91
<sample-output>
53
92
54
-
Kanoja:
93
+
<!--Kanoja:
55
94
3
56
95
Pekonia (kg):
57
96
5.5
@@ -61,15 +100,30 @@ Ei ole!
61
100
Tässä vielä tiivistelmä:
62
101
3
63
102
5.5
64
-
Ei ole!
103
+
Ei ole! -->
104
+
105
+
Chicken:
106
+
3
107
+
Bacon (kg):
108
+
5.5
109
+
Tractor:
110
+
No!
111
+
112
+
And a summary:
113
+
3
114
+
5.5
115
+
No!
116
+
65
117
66
118
</sample-output>
67
119
68
-
Muuta ohjelmaa annetuista kohdista niin että tuloste on:
120
+
<!-- Muuta ohjelmaa annetuista kohdista niin että tuloste on: -->
121
+
122
+
Change the program in the given places so that it outputs the following:
69
123
70
124
<sample-output>
71
125
72
-
Kanoja:
126
+
<!--Kanoja:
73
127
9000
74
128
Pekonia (kg):
75
129
0.1
@@ -79,15 +133,29 @@ Zetor
79
133
Tässä vielä tiivistelmä:
80
134
9000
81
135
0.1
136
+
Zetor -->
137
+
138
+
Chucken:
139
+
9000
140
+
Bacon (kg):
141
+
0.1
142
+
Tractor:
143
+
Zetor
144
+
145
+
And a summary:
146
+
9000
147
+
0.1
82
148
Zetor
83
149
84
150
</sample-output>
85
151
86
152
</programming-exercise>
87
153
88
-
Muuttujien nimet ovat uniikkeja, eikä kahdella muuttujalla saa olla ohjelmassa samaa nimeä. Seuraavassa esimerkissä oleva ohjelma on virheellinen, koska ohjelmassa yritetään luoda kahteen kertaan muuttujaa nimeltä `pii`. Muuttujan luominen tapahtuu kun muuttuja esitellään ensimmäistä kertaa.
154
+
<!--Muuttujien nimet ovat uniikkeja, eikä kahdella muuttujalla saa olla ohjelmassa samaa nimeä. Seuraavassa esimerkissä oleva ohjelma on virheellinen, koska ohjelmassa yritetään luoda kahteen kertaan muuttujaa nimeltä `pii`. Muuttujan luominen tapahtuu kun muuttuja esitellään ensimmäistä kertaa.-->
89
155
90
-
```java
156
+
Variable names are unique - no two variables can have the same name. The program in the following example is erroneous since it attempts to create the variable `pii` twice. The variable is created the first time its introduced.
157
+
158
+
<!-- ```java
91
159
public class Esimerkki {
92
160
public static void main(String[] args) {
93
161
double pii = 3.14;
@@ -96,9 +164,23 @@ public class Esimerkki {
96
164
System.out.println("Piin arvo on: " + pii);
97
165
}
98
166
}
167
+
``` -->
168
+
169
+
```java
170
+
publicclassExample {
171
+
publicstaticvoidmain(String[] args) {
172
+
double pii =3.14;
173
+
double pii =3.141592653;
174
+
175
+
System.out.println("The value of pi is: "+ pii);
176
+
}
177
+
}
99
178
```
100
179
101
-
Muuttujan tyyppi kerrotaan kun muuttuja esitellään ensimmäistä kertaa. Kun muuttujaan asetetaan uusi arvo, ei muuttujan tyyppiä enää kerrota.
180
+
181
+
<!-- Muuttujan tyyppi kerrotaan kun muuttuja esitellään ensimmäistä kertaa. Kun muuttujaan asetetaan uusi arvo, ei muuttujan tyyppiä enää kerrota. -->
182
+
183
+
The variable type is mentioned when the variable is first declared. When a new value is assigned to the variable, its type is no longer mentioned.
102
184
103
185
```java
104
186
int luku =10;
@@ -115,10 +197,13 @@ System.out.println(luku);
115
197
</sample-output>
116
198
117
199
118
-
## Muuttujaan asetetun arvon muuttaminen
200
+
<!--## Muuttujaan asetetun arvon muuttaminen-->
119
201
120
-
Muuttuja on olemassa sen esittelyhetkestä lähtien, ja sen arvo säilyy kunnes muuttujaan asetetaan toinen arvo. Muuttujan arvon muuttaminen onnistuu lauseella, jossa on muuttujan nimi, yhtäsuuruusmerkki, ja muuttujan uusi arvo. Huomaa että muuttujan tyyppi kirjoitetaan vain kun muuttuja esitellään ohjelmassa ensimmäistä kertaa.
202
+
## Altering a value assigned to a variable
121
203
204
+
<!-- Muuttuja on olemassa sen esittelyhetkestä lähtien, ja sen arvo säilyy kunnes muuttujaan asetetaan toinen arvo. Muuttujan arvon muuttaminen onnistuu lauseella, jossa on muuttujan nimi, yhtäsuuruusmerkki, ja muuttujan uusi arvo. Huomaa että muuttujan tyyppi kirjoitetaan vain kun muuttuja esitellään ohjelmassa ensimmäistä kertaa. -->
205
+
206
+
A variable exist from the moment it first appears, and its initial value is preserved until another value is assigned to it. A variable's value is changed using an statement that comprises the variable name, an equals sign, and the new value to be assigned. Remember to keep in mind that the variable type is only written during the initial variable declaration.
122
207
123
208
124
209
```java
@@ -129,7 +214,8 @@ luku = 42;
129
214
System.out.println("Muuttujan arvo on "+ luku);
130
215
```
131
216
132
-
Tulostus:
217
+
<!-- Tulostus: -->
218
+
Output:
133
219
134
220
<sample-output>
135
221
@@ -138,23 +224,33 @@ Muuttujan arvo on 42
138
224
139
225
</sample-output>
140
226
141
-
Tarkastellaan edellisen ohjelmakoodin suoritusta askel askeleelta. Kun muuttuja esitellään ohjelmakoodissa ensimmäistä kertaa, eli sekä muuttujan tyyppi (tässä `int`) että sen nimi (tässä `luku`) kerrotaan tietokoneelle, tietokone luo muuttujaa varten "nimetyn lokeron". Tämän jälkeen yhtäsuuruusmerkin oikealla puolella oleva arvo kopioidaan tähän nimettyyn lokeroon.
227
+
<!-- Tarkastellaan edellisen ohjelmakoodin suoritusta askel askeleelta. Kun muuttuja esitellään ohjelmakoodissa ensimmäistä kertaa, eli sekä muuttujan tyyppi (tässä `int`) että sen nimi (tässä `luku`) kerrotaan tietokoneelle, tietokone luo muuttujaa varten "nimetyn lokeron". Tämän jälkeen yhtäsuuruusmerkin oikealla puolella oleva arvo kopioidaan tähän nimettyyn lokeroon. -->
228
+
229
+
Let's look at the preceding program's execution step-by-step. When the variable appears in the program for the first time, the computer is informed of both its type (`int` in this case) and its name (`luku` in this case), and the computer creates a 'named container' for the variable. Then, the value on the right side of the equals sign is copied to this named container.
142
230
143
231

144
232
145
-
Kun ohjelmakoodissa viitataan muuttujaan sen nimellä -- tässä halutaan tulostaa merkkijono "Muuttujan arvo on " sekä muuttujan `luku` arvo, muuttujan `luku` arvo haetaan sen nimellä löytyvästä lokerosta.
233
+
<!-- Kun ohjelmakoodissa viitataan muuttujaan sen nimellä -- tässä halutaan tulostaa merkkijono "Muuttujan arvo on " sekä muuttujan `luku` arvo, muuttujan `luku` arvo haetaan sen nimellä löytyvästä lokerosta. -->
234
+
235
+
Whenever a variable is referred to by its name in a program - here the goal is to print the string "The value of the variable is " and the value of `luku` variable, the variable is retrieved from a container that's found by its name.
146
236
147
237

148
238
149
-
Kun muuttujaan asetetaan arvo (tässä `luku = 42`), tarkistetaan ensin löytyykö muuttujan nimistä lokeroa. Jos lokero löytyy, uusi arvo kopioidaan lokeroon vanhan arvon tilalle ja vanha arvo katoaa. Jos muuttujan nimellä ei löydy lokeroa, ohjelman suoritus päättyy virheilmoitukseen tai ohjelmaa ei voida käynnistää.
239
+
<!-- Kun muuttujaan asetetaan arvo (tässä `luku = 42`), tarkistetaan ensin löytyykö muuttujan nimistä lokeroa. Jos lokero löytyy, uusi arvo kopioidaan lokeroon vanhan arvon tilalle ja vanha arvo katoaa. Jos muuttujan nimellä ei löydy lokeroa, ohjelman suoritus päättyy virheilmoitukseen tai ohjelmaa ei voida käynnistää. -->
240
+
241
+
Whenever a value is assigned to a variable (here `luku = 42`), a check is run to see whether or not a container of the given name already exists. If a container exists, a new value is copied in the place of the old value, and the old value disappears. If a container of the given name is not found, the program execution ends in an error message or it fails to run.
150
242
151
243

152
244
153
-
Seuraavaksi ohjelmakoodissa viitataan taas muuttujaan sen nimellä -- tässäkin halutaan tulostaa merkkijono "Muuttujan arvo on " sekä muuttujan `luku` arvo. Toimitaan kuten normaalisti, eli haetaan muuttujan `luku` arvo sen nimellä löytyvästä lokerosta.
245
+
<!-- Seuraavaksi ohjelmakoodissa viitataan taas muuttujaan sen nimellä -- tässäkin halutaan tulostaa merkkijono "Muuttujan arvo on " sekä muuttujan `luku` arvo. Toimitaan kuten normaalisti, eli haetaan muuttujan `luku` arvo sen nimellä löytyvästä lokerosta. -->
246
+
247
+
The variable is then referred to again by its name -- the aim is once again to print the string "The value of the variable is " and the value of `luku`. We proceed as normal by retrieving the value of `luku` from a container having its name.
154
248
155
249

156
250
157
-
Kuten huomaat, ohjelman lopputilanteessa muuttujan alkuperäinen arvo on kadonnut. Muuttuja voi sisältää kerrallaan aina vain yhden arvon.
251
+
<!-- Kuten huomaat, ohjelman lopputilanteessa muuttujan alkuperäinen arvo on kadonnut. Muuttuja voi sisältää kerrallaan aina vain yhden arvon. -->
252
+
253
+
At the end of the program, you'll notice that the original value of the variable has disappeared. A given variable can hold only one value at a time.
158
254
159
255
## Muuttujan tyyppi pysyy
160
256
@@ -281,12 +377,12 @@ Kunkin tyypin mahdolliset arvot ovat siis rajattuja. Esimerkiksi merkkijonomuutt
281
377
TODO: korjaa taulukko? koodinpätkät oikein rivittyvinä!
282
378
283
379
284
-
| Tyyppi | Esimerkki | Sallitut arvot |
285
-
|--------|-----------|----------------|
286
-
| Kokonaisuluku, eli `int`|`int luku = 4;`| Kokonaislukumuuttuja voi sisältää kokonaislukuja, joiden arvot ovat välillä -2147483648 ja 2147483647. |
287
-
| Liukuluku, eli `double`|`double luku = 4.2;`| Liukulukumuuttuja sisältää desimaalilukuja, joiden suurin mahdollinen arvo on noin 2<sup>1023</sup> Kun desimaaliluku esitetään liukuluvun avulla, voi luku olla epätarkka; liukuluvulla ei pysty esittämään mitä tahansa desimaalilukua. Taustasyihin palataan kurssilla Tietokoneen toiminta. |
288
-
| Merkkijono, eli `String`|`String teksti = "Hei!";`| Merkkijonomuuttuja voi sisältää merkkijonoja. Merkkijonot rajataan hipsuilla. |
289
-
| Totuusarvo, eli `boolean`|`boolean tosi = true;`| Totuusarvomuuttuja sisältää joko arvon `true` eli totta tai arvon `false` eli epätotta. |
| Kokonaisuluku, eli `int`|`int luku = 4;`| Kokonaislukumuuttuja voi sisältää kokonaislukuja, joiden arvot ovat välillä -2147483648 ja 2147483647.|
383
+
| Liukuluku, eli `double`|`double luku = 4.2;`| Liukulukumuuttuja sisältää desimaalilukuja, joiden suurin mahdollinen arvo on noin 2<sup>1023</sup> Kun desimaaliluku esitetään liukuluvun avulla, voi luku olla epätarkka; liukuluvulla ei pysty esittämään mitä tahansa desimaalilukua. Taustasyihin palataan kurssilla Tietokoneen toiminta. |
384
+
| Merkkijono, eli `String`|`String teksti = "Hei!";`| Merkkijonomuuttuja voi sisältää merkkijonoja. Merkkijonot rajataan hipsuilla.|
385
+
| Totuusarvo, eli `boolean`|`boolean tosi = true;`| Totuusarvomuuttuja sisältää joko arvon `true` eli totta tai arvon `false` eli epätotta.|
0 commit comments