Enkla typer
public class SimpleMath {
public static void main(String[] args) {
int a = 10;
int b = 4;
System.out.println(a + b);
System.out.println(a - b);
System.out.println(a * b);
System.out.println(a / b);
double x = 10;
double y = 4;
System.out.println(x + y);
System.out.println(x - y);
System.out.println(x * y);
System.out.println(x / y);
}
}
-
Vad heter filen som ovanstående kod är tagen från?
-
Vad skriver programmet ut?
Villkorssatser
public class If {
public static void main(String[] args) {
int a = 100;
int b = 400;
int c = 100;
if (a < b && a <= c) {
System.out.println("1");
} else {
System.out.println("2");
}
if (a > b || b > c) {
System.out.println("3");
} else {
System.out.println("4");
}
if (a != b) {
System.out.println("5");
} else {
System.out.println("6");
}
}
}
-
Vad heter filen som ovanstående kod är tagen från?
-
Vad skriver programmet ut?
Vektorer och Loopar
public class Loop {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
System.out.println();
String[] args2 = shift(args, "one more");
for (int i = 0; i < args2.length; i++) {
System.out.println(args2[i]);
}
System.out.println();
String[] args3 = shift(args2, "last one");
for (int i = 0; i < args3.length; i++) {
System.out.println(args3[i]);
}
}
public static String[] shift(String[] strings, String s) {
String newStrings[] = new String[strings.length];
for (int i = 1; i < newStrings.length; i++) {
newStrings[i - 1] = strings[i];
}
newStrings[newStrings.length - 1] = s;
return newStrings;
}
}
-
Titta närmare på nedanstående rad.
public static String[] shift(String[] strings, String s) {
Hur skulle du läsa ut returtypen på svenska (techno-anglifierad svenska går också bra)?
-
Vad skrivs ut om programmet körs såhär:
$ java Loop a b c
Listor och mängder
Givet att vi har följande två klasser (där den ena använder den andra)...
import java.util.Scanner;
public class ListSetTest {
public static void main(String[] args) {
ListSet ls = new ListSet();
Scanner s = new Scanner(System.in);
while (s.hasNext()) {
ls.addToken(s.next());
}
ls.print();
ls.summarize();
}
}
import java.util.List;
import java.util.Set;
import java.util.ArrayList;
import java.util.HashSet;
public class ListSet {
private List list;
private Set set;
public ListSet() {
list = new ArrayList();
set = new HashSet();
}
public void addToken(String token) {
list.add(token);
set.add(token);
}
public void summarize() {
System.out.println(set.size() + " / " + list.size());
// System.out.println(set.size() / list.size());
System.out.println((double)set.size() / list.size());
}
public void print() {
System.out.println("List contains:");
for (String s : list) {
System.out.println(s);
}
System.out.println();
System.out.println("Set contains:");
for (String s : set) {
System.out.println(s);
}
System.out.println();
}
}
-
Givet att vi kör programmet
ListSetTest och matar följande till standard input:
hej
hej
hemskt mycket hej
Vad skrivs ut?
Det är omöjligt att sia om vilken ordning elementen i en HashSet kommer, så vilken
ordning du väljer att skriva ut dem i spelar ingen roll.
-
Om du skulle vilja använda
LinkedList istället för ArrayList,
vilka förändringar skulle du behöva göra? (Svara genom att ändra i programlistningarna ovan.)