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
@@ -21,7 +21,7 @@ We already familiarized ourselves with strings while reading inputs. Let's now m
21
21
22
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
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 (`=`). -->
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 include text (`String`), whole numbers (`int`), floating-point numbers(`double`), and true or false values (`boolean`). A value is assigned to a variable using the equals sign (`=`). -->
25
25
26
26
<!-- ```java
27
27
int kuukausia = 12;
@@ -35,7 +35,7 @@ int months = 12;
35
35
36
36
Muuttujan arvo voidaan yhdistää merkkijonoon +-merkillä seuraavan esimerkin mukaisesti. -->
37
37
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".
38
+
In the statement above, the value of 12 is assigned to an integer variable named months. The statement reads: "the variable months gets the value 12".
39
39
40
40
A variable's value can be joined to a string using the + sign as seen in the following example.
<!-- 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. -->
155
155
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.
156
+
Variable names are unique - no two variables can have the same name. The program in the following example is erroneous as it attempts to create the variable `pi` twice. The variable is created the first time its introduced.
157
157
158
158
<!-- ```java
159
159
public class Esimerkki {
@@ -169,10 +169,10 @@ public class Esimerkki {
169
169
```java
170
170
publicclassExample {
171
171
publicstaticvoidmain(String[] args) {
172
-
doublepii=3.14;
173
-
doublepii=3.141592653;
172
+
doublepi=3.14;
173
+
doublepi=3.141592653;
174
174
175
-
System.out.println("The value of pi is: "+pii);
175
+
System.out.println("The value of pi is: "+pi);
176
176
}
177
177
}
178
178
```
@@ -182,13 +182,18 @@ public class Example {
182
182
183
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.
184
184
185
-
```java
185
+
<!--```java
186
186
int luku = 10;
187
187
System.out.println(luku);
188
188
luku = 4;
189
189
System.out.println(luku);
190
+
``` -->
191
+
```java
192
+
int value =10;
193
+
System.out.println(value);
194
+
value =4;
195
+
System.out.println(value);
190
196
```
191
-
192
197
<sample-output>
193
198
194
199
10
@@ -206,21 +211,30 @@ System.out.println(luku);
206
211
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.
207
212
208
213
209
-
```java
214
+
<!--```java
210
215
int luku = 123;
211
216
System.out.println("Muuttujan arvo on " + luku);
212
217
213
218
luku = 42;
214
219
System.out.println("Muuttujan arvo on " + luku);
220
+
``` -->
221
+
```java
222
+
int value =123;
223
+
System.out.println("The value of the variable is "+ value);
224
+
225
+
value =42;
226
+
System.out.println("The value of the variable is "+ value);
215
227
```
216
228
217
229
<!-- Tulostus: -->
218
230
Output:
219
231
220
232
<sample-output>
221
233
222
-
Muuttujan arvo on 123
223
-
Muuttujan arvo on 42
234
+
<!-- Muuttujan arvo on 123
235
+
Muuttujan arvo on 42 -->
236
+
The value of the variable is 123
237
+
The value of the variable is 42
224
238
225
239
</sample-output>
226
240
@@ -252,123 +266,226 @@ The variable is then referred to again by its name -- the aim is once again to p
252
266
253
267
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.
254
268
255
-
## Muuttujan tyyppi pysyy
269
+
<!--## Muuttujan tyyppi pysyy-->
256
270
257
-
Kun muuttujan tyyppi on kertaalleen määritelty, ei sitä voi enää muuttaa. Totuusarvoa ei siis voi esimerkiksi asettaa kokonaislukutyyppiseen muuttujaan, eikä totuusarvomuuttujaan voi asettaa kokonaislukua.
271
+
## Variable type persists
258
272
259
-
```java
273
+
<!-- Kun muuttujan tyyppi on kertaalleen määritelty, ei sitä voi enää muuttaa. Totuusarvoa ei siis voi esimerkiksi asettaa kokonaislukutyyppiseen muuttujaan, eikä totuusarvomuuttujaan voi asettaa kokonaislukua. -->
274
+
275
+
Once a variable's type has been declared, it can no longer be changed. For example, a boolean value cannot be assigned to a variable of type integer, nor can an integer be assigned to a variable of type boolean.
276
+
277
+
<!-- ```java
260
278
boolean onnistuukoKokonaisLuvunAsetus = false;
261
279
onnistuukoKokonaisLuvunAsetus = 42; // Ei onnistu
262
280
263
281
int luku = 10;
264
282
onnistuukoKokonaisLuvunAsetus = luku; // Ei myöskään onnistu
283
+
``` -->
284
+
285
+
```java
286
+
boolean integerAssignmentWillWork =false;
287
+
integerAssignmentWillWork =42; // Does not work
288
+
289
+
int value =10;
290
+
integerAssignmentWillWork = value; // Neither does this
265
291
```
292
+
<!-- Poikkeus kuitenkin löytyy: liukulukutyyppiseen muuttujaan voi asettaa kokonaisluvun, sillä Java osaa muuttaa kokonaisluvun liukuluvuksi asetuksen yhteydessä. -->
266
293
267
-
Poikkeus kuitenkin löytyy: liukulukutyyppiseen muuttujaan voi asettaa kokonaisluvun, sillä Java osaa muuttaa kokonaisluvun liukuluvuksi asetuksen yhteydessä.
294
+
However, there is an exception: an integer can be assigned to a variable of type double, since Java can convert an integer to a double upon assignment.
268
295
269
-
```java
296
+
<!--```java
270
297
double liukuluku = 0.42;
271
298
liukuluku = 1; // Onnistuu
272
299
273
300
int luku = 10;
274
301
liukuluku = luku; // Onnistuu myös
275
302
276
-
```
303
+
```-->
277
304
305
+
```java
306
+
double floatingPoint =0.42;
307
+
floatingPoint =1; // Works
278
308
279
-
Liukulukua ei kuitenkaan voi asettaa kokonaislukuun. Tämä johtuu siitä, että ohjelmointikielen suunnittelijat yrittävät suojella ohjelmoijaa tietoa kadottavilta ohjelmointivirheiltä.
309
+
int value =10;
310
+
floatingPoint = value; // Also works
280
311
281
-
```java
312
+
```
313
+
314
+
<!-- Liukulukua ei kuitenkaan voi asettaa kokonaislukuun. Tämä johtuu siitä, että ohjelmointikielen suunnittelijat yrittävät suojella ohjelmoijaa tietoa kadottavilta ohjelmointivirheiltä. -->
315
+
A floting-point value cannot, however, be assigned to an integer variable. That is because the creators of the language try to prevent developrs from making errors that lead to information being lost.
316
+
317
+
<!-- ```java
282
318
int luku = 4.2; // Ei onnistu
283
319
284
320
double liukuluku = 0.42;
285
321
luku = liukuluku; // Ei myöskään onnistu
322
+
``` -->
323
+
324
+
```java
325
+
int value =4.2; // Does not work
326
+
327
+
double floatingPoint =0.42;
328
+
value = floatingPoint; // Neither does this
286
329
```
287
330
288
-
## Muuttujan nimentä
331
+
<!-- ## Muuttujan nimentä -->
332
+
## Naming variables
289
333
290
-
Muuttujien nimentä on oleellinen osa ohjelman kuvausta. Tarkastellaan kahta esimerkkiä.
334
+
<!-- Muuttujien nimentä on oleellinen osa ohjelman kuvausta. Tarkastellaan kahta esimerkkiä. -->
335
+
Naming variables is a fundamental aspect of describing a program. Let's look at two examples.
336
+
337
+
<!-- ```java
338
+
double a = 3.14;
339
+
double b = 22.0;
340
+
double c = a * b * b;
291
341
342
+
System.out.println(c);
343
+
``` -->
292
344
```java
293
345
double a =3.14;
294
346
double b =22.0;
295
347
double c = a * b * b;
296
348
297
349
System.out.println(c);
298
350
```
299
-
300
351
<sample-output>
301
352
302
353
1519.76
303
354
304
355
</sample-output>
305
356
306
-
```java
357
+
<!--```java
307
358
double pii = 3.14;
308
359
double sade = 22.0;
309
360
double pintaAla = pii * sade * sade;
310
361
311
362
System.out.println(pintaAla);
312
-
```
363
+
``` -->
364
+
```java
365
+
double pi =3.14;
366
+
double radius =22.0;
367
+
double surfaceArea = pi * radius * radius;
313
368
369
+
System.out.println(surfaceArea);
370
+
```
314
371
<sample-output>
315
372
316
373
1519.76
317
374
318
375
</sample-output>
319
376
320
377
321
-
Edellä olevat kaksi esimerkkiä sisältävät täsmälleen saman toiminnallisuuden ja tuottavat saman tulostuksen. Toinen esimerkeistä on kuitenkin paljon ymmärrettävämpi. Kyseessä on ympyrän pinta-alan laskevan ohjelman koodi. Ensimmäisellä rivillä määritellään piin arvo, toisella rivillä ympyrän säde, ja kolmannella rivillä lasketaan pinta-ala. Tämän jälkeen pinta-ala tulostetaan.
378
+
<!-- Edellä olevat kaksi esimerkkiä sisältävät täsmälleen saman toiminnallisuuden ja tuottavat saman tulostuksen. Toinen esimerkeistä on kuitenkin paljon ymmärrettävämpi. Kyseessä on ympyrän pinta-alan laskevan ohjelman koodi. Ensimmäisellä rivillä määritellään piin arvo, toisella rivillä ympyrän säde, ja kolmannella rivillä lasketaan pinta-ala. Tämän jälkeen pinta-ala tulostetaan. -->
379
+
380
+
Both of the preceeding examples have exactly the same functionality, and print the same result. However, one of them is clearly more understandable. The idea is to compute the surface area of a circle. The value of pi is defined on the first row, the circle's radius on the second, and the surface area calculated on the third.
322
381
323
-
<text-boxvariant='hint'name="Muuttujat sanoittavat ohjelmaa ja ratkaistavaa ongelmaa">
382
+
<!-- <text-box variant='hint' name="Muuttujat sanoittavat ohjelmaa ja ratkaistavaa ongelmaa"> -->
383
+
<text-boxvariant='hint'name="Variables express the program and the problem to be solved">
384
+
<!--
385
+
Ohjelmointi on ongelmanratkaisuväline. Ohjelmoidessa luodaan ratkaisua jonkinlaiseen ongelmaan kuten autojen automaattiseen ohjaamiseen. Kun ongelmaa ratkaistaan, ohjelmoija päättää termeistä, joilla ongelmaa kuvataan. Tämä termistö, esimerkiksi ohjelmassa käytettävien muuttujien nimet, tulevat kuvaamaan ongelmaa ohjelman parissa tulevaisuudessa työskenteleville. -->
324
386
325
-
Ohjelmointi on ongelmanratkaisuväline. Ohjelmoidessa luodaan ratkaisua jonkinlaiseen ongelmaan kuten autojen automaattiseen ohjaamiseen. Kun ongelmaa ratkaistaan, ohjelmoija päättää termeistä, joilla ongelmaa kuvataan. Tämä termistö, esimerkiksi ohjelmassa käytettävien muuttujien nimet, tulevat kuvaamaan ongelmaa ohjelman parissa tulevaisuudessa työskenteleville.
387
+
Programming is a problem-solving tool. Programming involves creating a solution to a given problem, such as automating the control of cars. Whenever a problem is being solved, the developer decides on the terms used to describe the problem. The terminology used in a program, such as the varibale names chosen, describes the problem for anyone working with the program in the future.
326
388
327
-
Kun sanoitat ratkaistavaa ongelmaa, mieti ongelmaan liittyviä käsitteitä ja niitä kuvaavia sanoja. Jos et keksi sopivia termejä, pohdi ensin mitkä sanat eivät ainakaan kuvaa ongelmaa. Valitse tämän jälkeen jonkinlainen termistö -- voit tyypillisesti onneksi parantaa käyttämääsi termistöä myös jälkikäteen.
389
+
<!-- Kun sanoitat ratkaistavaa ongelmaa, mieti ongelmaan liittyviä käsitteitä ja niitä kuvaavia sanoja. Jos et keksi sopivia termejä, pohdi ensin mitkä sanat eivät ainakaan kuvaa ongelmaa. Valitse tämän jälkeen jonkinlainen termistö -- voit tyypillisesti onneksi parantaa käyttämääsi termistöä myös jälkikäteen. -->
390
+
391
+
As you're wording a problem to be solved, think about concepts related to that problem and words that describe them. If you struggle to come up with relevant terms, start off with thinking about the ones that definitely don't describe the porblem. When you're done, pick specific terminology that you're going to use -- fortunately, you can improve your terminology later on in most cases.
328
392
329
393
</text-box>
330
394
331
-
Muuttujan nimeämistä rajoittavat tietyt ehdot.
395
+
<!-- Muuttujan nimeämistä rajoittavat tietyt ehdot.
396
+
397
+
Muuttujan nimessä ei saa olla tiettyjä erikoismerkkejä, kuten huutomerkkejä (!). Välilyönti ei ole sallittu, sillä se erottaa komentojen osat toisistaan. Välilyönti kannattaa korvata [camelCase](http://fi.wikipedia.org/wiki/CamelCase "CamelCase – Wikipedia")<-tyylillä, jolloin nimi `muistuttaneeKamelia`. **Huom!** Muuttujien nimien ensimmäinen kirjain kirjoitetaan aina pienellä: -->
332
398
333
-
Muuttujan nimessä ei saa olla tiettyjä erikoismerkkejä, kuten huutomerkkejä (!). Välilyönti ei ole sallittu, sillä se erottaa komentojen osat toisistaan. Välilyönti kannattaa korvata [camelCase](http://fi.wikipedia.org/wiki/CamelCase"CamelCase – Wikipedia")<-tyylillä, jolloin nimi `muistuttaneeKamelia`. **Huom!** Muuttujien nimien ensimmäinen kirjain kirjoitetaan aina pienellä:
399
+
Variable naming is bound by certain conditions.
334
400
401
+
Variable names cannot contain certain special symbols, such as exclamation marks (!). Spaces are also not allowed, as they're used to seperate parts of commands. A space should be compensated with [camelCase](http://fi.wikipedia.org/wiki/CamelCase"CamelCase – Wikipedia") <-style, where the name's shape resembles that of a camel's. **Note!** The first letter of a variable's name is always lower-cased: -->
402
+
403
+
<!--
335
404
```java
336
405
int camelCaseMuuttuja = 7;
406
+
``` -->
407
+
408
+
```java
409
+
int camelCaseVariable =7;
337
410
```
338
411
339
-
Numeroita voidaan käyttää muuttujan nimessä, kunhan nimi ei ala numerolla. Nimi ei myöskään voi koostua pelkistä numeroista.
340
412
413
+
414
+
<!-- Numeroita voidaan käyttää muuttujan nimessä, kunhan nimi ei ala numerolla. Nimi ei myöskään voi koostua pelkistä numeroista. -->
415
+
416
+
Numbers can be used within a variable name as long as the name does not begin with a number. Additionally, a name cannot consists of numbers only.
417
+
418
+
419
+
<!--
341
420
```java
342
421
int 7muuttuja = 4; // Ei sallittu!
343
422
int muuttuja7 = 4; // Sallittu, mutta ei kuvaava muuttujan nimi
423
+
``` -->
424
+
425
+
```java
426
+
int 7variable =4; // Not allowed!
427
+
int variable7 =4; // Allowed, but not a descriptive variable name
344
428
```
345
429
430
+
<!-- Muuttujan nimi ei saa olla jo entuudestaan käytössä. Tällaisia nimiä ovat mm. aikaisemmin määritellyt muuttujat ja Javan valmiit komennot, kuten `System.out.print` ja `System.out.println`. -->
346
431
347
-
Muuttujan nimi ei saa olla jo entuudestaan käytössä. Tällaisia nimiä ovat mm. aikaisemmin määritellyt muuttujat ja Javan valmiit komennot, kuten `System.out.print` ja `System.out.println`.
432
+
A variable's name must not already be in use. These include, for instance, variables previously defined in the program and commands that come with Java, such as `System.out.print` ja `System.out.println`. -->
433
+
434
+
<!-- ```java
435
+
int 7muuttuja = 4; // Ei sallittu!
436
+
int muuttuja7 = 4; // Sallittu, mutta ei kuvaava muuttujan nimi
437
+
```
348
438
349
439
```java
350
440
int camelCase = 2;
351
441
int camelCase = 5; // Ei sallittu -- muuttuja camelCase on jo käytössä!
442
+
``` -->
443
+
444
+
```java
445
+
int 7variable =4; // Not Allowed!
446
+
int variable7 =4; // Allowed, but not a descriptive variable name
447
+
```
448
+
449
+
```java
450
+
int camelCase =2;
451
+
int camelCase =5; // Not allowed -- camelCase variable already in use!
352
452
```
353
453
354
-
Muuttujien nimissä ei tule myöskään käyttää ääkkösiä. Voit korvata ääkköset aakkosilla, eli muuta ä -> a ja ö -> o.
454
+
<!--Muuttujien nimissä ei tule myöskään käyttää ääkkösiä. Voit korvata ääkköset aakkosilla, eli muuta ä -> a ja ö -> o.-->
355
455
356
-
### Sallittuja muuttujien nimiä
456
+
Letters containing diacritics should also not be used in variable names. You can replace these letters with their non-diacrtic equivalents, i.e. convert ä -> a and ö -> o. -->
357
457
358
-
* kuukaudenViimeinenPaiva = 20
458
+
459
+
<!-- ### Sallittuja muuttujien nimiä -->
460
+
<!-- * kuukaudenViimeinenPaiva = 20
359
461
* ensimmainenVuosi = 1952
360
-
* nimi = "Essi"
462
+
* nimi = "Essi" -->
463
+
### Permissible variable names
464
+
* lastDayOfMonth = 20
465
+
* firstYear = 1952
466
+
* name = "Essi"
361
467
362
-
### Virheellisiä muuttujien nimiä
468
+
<!--### Virheellisiä muuttujien nimiä
363
469
364
470
* kuukauden viimeinen päivä = 20
365
471
* 1paiva = 1952
366
472
* varo! = 1910
473
+
* 1920 = 1 -->
474
+
475
+
### Erroneous variable names
476
+
477
+
* last day of month = 20
478
+
* 1day = 1952
479
+
* beware! = 1910
367
480
* 1920 = 1
368
481
369
-
## Muuttujan tyyppi kertoo muuttujan mahdollisista arvoista
370
482
371
-
Muuttujan tyyppi kerrotaan muuttujan esittelyn yhteydessä. Esimerkiksi merkkijonon "teksti" sisältävä merkkijonomuuttuja luodaan lauseella `String merkkijono = "teksti";` ja kokonaisluvun 42 sisältävä kokonaislukumuuttuja luodaan lauseella `int luku = 42;`.
483
+
<!-- ## Muuttujan tyyppi kertoo muuttujan mahdollisista arvoista -->
484
+
## Variable type informs of variable's possible values
485
+
486
+
<!-- Muuttujan tyyppi kerrotaan muuttujan esittelyn yhteydessä. Esimerkiksi merkkijonon "teksti" sisältävä merkkijonomuuttuja luodaan lauseella `String merkkijono = "teksti";` ja kokonaisluvun 42 sisältävä kokonaislukumuuttuja luodaan lauseella `int luku = 42;`. -->
487
+
488
+
A variable's type is stated when its declared. For example, a variable containing the string "text" is created with the statement `String string = "text";`, and an integer having the value 42 is created with the statement `int value = 42;`. -->
372
489
373
490
Muuttujan tyyppi määrää arvot, joita muuttuja voi saada. `String`-tyyppiset muuttujat saavat arvokseen merkkijonoja, `int`-tyyppiset muuttujat saavat arvokseen kokonaislukuja, `double`-tyyppiset muuttujat saavat arvokseen liukulukuja, ja `boolean`-tyyppiset muuttujat saavat arvokseen totuusarvoja.
0 commit comments