fruit.substring(2, 5)
zurückgeben?Begründung: Die substring
-Methode akzeptiert zwei Argumente.
boolean b1 = true, b2 = false; int i1 = 1, i2 = 2;
(i1 | i2) == 3
i2 && b1
b1 || !b2
(i1 ^ i2) < 4
Begründung: i2 && b1
ist nicht zulässig zwischen int und boolean.
class Main {
public static void main (String[] args) {
int array[] = {1, 2, 3, 4};
for (int i = 0; i < array.size(); i++) {
System.out.print(array[i]);
}
}
}
Begründung: array.size()
ist ungültig. Um die Größe oder Länge des Arrays zu erhalten, kann array.length
verwendet werden.
interface Interface1 {
static void print() {
System.out.print("Hello");
}
}
interface Interface2 {
static void print() {
System.out.print("World!");
}
}
super1.print(); super2.print();
this.print();
super.print();
Interface1.print(); Interface2.print();
String str = "abcde"; str.trim(); str.toUpperCase(); str.substring(3, 4); System.out.println(str);
Begründung: Du solltest das Ergebnis von trim
der Stringvariablen wieder zuweisen. Andernfalls funktioniert es nicht, da Strings in Java unveränderlich sind.
class Main {
public static void main (String[] args){
System.out.println(print(1));
}
static Exception print(int i){
if (i>0) {
return new Exception();
} else {
throw new RuntimeException();
}
}
}
interface One {
default void method() {
System.out.println("One");
}
}
interface Two {
default void method () {
System.out.println("One");
}
}
class Three implements One, Two {
public void method() {
super.One.method();
}
}
class Three implements One, Two {
public void method() {
One.method();
}
}
class Three implements One, Two {
}
class Three implements One, Two {
public void method() {
One.super.method();
}
}
class Main {
public static void main (String[] args) {
List list = new ArrayList();
list.add("hello");
list.add(2);
System.out.print(list.get(0) instanceof Object);
System.out.print(list.get(1) instanceof Integer);
}
}
package mypackage;
public class Math {
public static int abs(int num){
return num < 0 ? -num : num;
}
}
package mypackage.elementary;
public class Math {
public static int abs (int num) {
return -num;
}
}
import mypackage.Math;
import mypackage.elementary.*;
class Main {
public static void main (String args[]){
System.out.println(Math.abs(123));
}
}
Erklärung: Die Antwort ist "123". Die abs()
-Methode wird zurjenigen innerhalb der Klasse mypackage.Math
ausgewertet, da die Importanweisungen der Form:
import packageName.subPackage.*
eine [Typ-Import-on-Demand-Anweisung](https://docs.oracle.com/javase/specs/jls/se7
/html/jls-7.html#jls-7.5.2) sind, die nie dazu führt, dass eine andere Deklaration verdeckt wird.
class MainClass {
final String message() {
return "Hello!";
}
}
class Main extends MainClass {
public static void main(String[] args) {
System.out.println(message());
}
String message() {
return "World!";
}
}
Erklärung: Kompilierfehler in Zeile 10 aufgrund von finalen Methoden, die nicht überschrieben werden können, und hier ist message()
eine finale Methode. Beachte auch, dass eine nicht-statische Methode message()
nicht aus einem statischen Kontext heraus referenziert werden kann.
names.sort(Comparator.comparing(String::toString))
Collections.sort(names)
names.sort(List.DESCENDING)
names.stream().sorted((s1, s2) -> s1.compareTo(s2)).collect(Collectors.toList())
class Main {
public static void main(String[] args){
int a = 123451234512345;
System.out.println(a);
}
}
Begründung: Der int
-Typ in Java kann jede ganze Zahl von -2147483648 bis 2147483647 darstellen. Daher wird dieser Code nicht kompilieren, da die der Variablen 'a' zugewiesene Zahl größer ist als der int
-Typ speichern kann.
class Main {
public static void main (String[] args) {
String message = "Hello world!";
String newMessage = message.substring(6, 12)
+ message.substring(12, 6);
System.out.println(newMessage);
}
}
System.out.print("apple".compareTo("banana"));
0
names.sort(Comparator.comparing(String::toString))
Collections.sort(names)
names.sort(List.DESCENDING)
names.stream().sorted((s1, s2) -> s1.compareTo(s2)).collect(Collectors.toList())
new SimpleDateFormat("yyyy-MM-dd").format(new Date())
new Date(System.currentTimeMillis())
LocalDate.now()
Calendar.getInstance().getTime()
Erklärung: LocalDate
ist die neueste Klasse, die in Java 8 hinzugefügt wurde.
int0
durch 5
teilbar ist:boolean isDivisibleBy5 = _____
int0 / 5 ? true: false
int0 % 5 == 0
int0 % 5 != 5
Math.isDivisible(int0, 5)