Övning2
programmeringsteknik och
Matlab 2D1312/ 2D1305
Kompilering, exekvering, variabler,
styrstrukturer
1
En körbar java-kod
class ProgEtt{
public static void main(String[] args){
System.out.println(”java är enkel”);
}
}
2
Kompileringsfel
Följande program ger följande kompileringsfel
class ProgEtt{
public static void main(String[] args){
String mening=”java är enkel”;
System.out.println(mining);
}
}
ProgEtt.java:4: cannot find symbol
symbol : variable mining
location: class ProgEtt
System.out.println(mining);
^
1 error
3
Variabel, datatyp och litteral
• Variabel är en identifierare i ett program
som representerar en plats i datorns
minne.
• I Java finns det flera olika datatyper.
T.ex: ”2” , ’2’ , 2, 3.14
• Litteral är ett angivet värde i ett
program.
4
Datatyper
Primitiva datatyper
Klasser
byte
short
int
long
double
float
char
boolean
…
String
Scanner
System
Integer
Double
Boolean
…
5
Utskrift satser
• System.out.print( )
– En sats som skriver ut parameternsvärde.
• System.out.println( )
– En sats som skriver ut parameternsvärde
och byter automatiskt rad efteråt
6
Reserverade ord
• Följande ord är reserverad och får (ska)
inte användas som identifierare.
abstract
boolean
break
byte
(byvalue)
case
(cast)
catch
char
class
(const)
continue
default (goto)
do
if
double implements
else
import
extends (inner)
false
instanceof
final
int
finally
interface
float
long
for
native
(future) new
(generic) null
(operator)
(outer)
package
private
protected
public
(rest)
return
short
static
super
switch
synchronized
this
throw
throws
transient
true
try
(var)
void
volatile
while
7
Inläsning från tangentbord
import java.util.Scanner;
class FintNamn{
public static void main(String[] args){
Scanner tgb = new Scanner(System.in);
System.out.print(”Vad heter du? ”);
String namnet = tgb.nextLine();
System.out.println(namnet +” är ett
fint namn”);
}
}
8
Operatorer
Op Exempel
+
*
/
++
-%
==
!=
Op Exempel
x+y
+=
y-x
-=
x*y
!
x/y
*=
x++ eller ++x /=
y-- eller --y >
x%y
<
x==y
>=
x!=y
<=
x+=2, x+=y
x-=3, x-=y
!isEmpty
x*=2, x*=y
x/=2, x/=y
x>y, x>10
x<y, x<5
x>=y, x>=4
x<=y, x<=4
9
Styrstrukturer
• Java kod exekveras radvis och
sekventiell.
• Med hjälp av styrstrukturer kan man
ändra den sekventiella exekveringen.
• Några exempel på styrstrukturer är:
– if, if-else, for, while, do-while
10
if-sats
Problem: Skriv ett program som frågar
efter pris på en bok och skriver ut ”dyr
bok, ingen affär” om priset är mer än
500:-
11
modell
Kolla om
bokPris>500
falskt
sant
Skriv ut ”dyr bok, ingen affär”
Kod efter if-satsen ...
12
if-else
else använder man tillsammans med en if-sats
när man vill göra ett val mellan två olika
saker.
Exempel: Skriv ett program som frågar efter pris
på en bok och skriver ut ”dyr, ingen affär om
priset är mer än 500 kr annars skriver
programmet ut ”billig bok, köp fort”
13
modell
falskt
bokPris>500
sant
System.out.println(”billig…”);
System.out.println(”dyr…”);
Kod efter if-else...
14
Slinga (loop)
• Slingor eller loop används då man vill
en sak ska upprepas ett antal gånger.
• I java finns det for-slingor och whileslingor för detta ändamål
15
For-sats
for-sats består av följande delar
1.for
2.(A;B;C)
A är oftast deklaraton och initiering av veriabel
B är ett villkor-sats (Condition)
C oftast är en stegning-sats
3. uttryck (statement)
for ( int i=0 ; i< 10; i++) {
System.out.println(”Java är enkel”);
}
16
while sats
while-sats består av följande delar:
1. while
2. Villkor-sats (condition)
3. uttryck (statement)
int i=0;
while (i<10) {
System.out.println(”programmering är kul”);
i++;
}
17
Modell för for- och while-sats
... kod före for eller while
falskt
Villkor
sant
uttryck
Kod efter for eller while...
18
Modell
l för loop
int i=0;
i<10
falskt
sant
System.out.println(”hej”);
i++;
Kod efter for eller while...
19
do-while sats
while-sats består av följande delar:
1. do
2. uttryck
3.while
4.Villkor-sats (condition)
int i=0;
do {
System.out.println(”programmering är kul”);
i--;
} while (i>10);
20
Modell för do-while sats
... kod för do-while
uttryck
falskt
Villkor
sant
kod efter do-while ...
21
Uppgifter
Skriv följande program med hjälp av for-sats
och/eller while-sats
1. Skriv ett program som skriver ut ”hej” 100
gånger.
2. Skriv ett program som skriver ut alla heltal
från 0 upp till 100.
3. Skriv ett program som skriver ut heltal
mellan -1 och 101 med intervall 4. (d.v.s. 0,
4, 8, 12,…,100)
22
Uppgifter
4. Skriv ett program som frågar användaren om
ett tal och skriver ut ”hej” lika många gånger
som inmatade talet.
5. Skriv ett program som frågar om två tal och
skriver ut alla tal mellan de två talen (obs
användaren ska mata in minsta talet först)
6. Skriv ett program som löser uppgift 5 utan
någon krav om att minsta talet ska matas in
först.
23
Uppgifter
7. Skriv ett program som skriver ut
multiplikationstabellen för 1-5.
1
2
3
4
5
2
4
6
8
10
3
6
9
12
15
4
8
12
16
20
5
10
15
20
25
24