fruit.substring(2, 5)
?Raisonnement: La méthode substring accepte deux arguments.
boolean b1 = true, b2 = false; int i1 = 1, i2 = 2;
(i1 | i2) == 3
i2 && b1
b1 || !b2
(i1 ^ i2) < 4
Raisonnement: i2 && b1 ne sont pas autorisés entre int et 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]);
}
}
}
Raisonnement: array.size() est invalide, pour obtenir la taille ou la longueur du tableau array.length peut être utilisé.
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);
Raisonnement: Vous devez affecter le résultat de trim à nouveau à la variable String. Sinon, cela ne fonctionnera pas, car les chaînes en Java sont immuables.
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));
}
}
Explication : La réponse est "123". La méthode abs()
évalue celle à l'intérieur de la classe mypackage.Math
, car les instructions d'importation de la forme :
import packageName.subPackage.*
sont des Déclarations d'importation sur demande de type, qui [ne provoquent jamais la mise en ombre d'une autre déclaration](https://docs.oracle.com/javase/specs/jls/se7
/html/jls-6.html#jls-6.4.1).
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!";
}
}
Explication : Erreur de compilation à la ligne 10 car les méthodes finales ne peuvent pas être substituées, et ici message()
est une méthode finale, et notez également que la méthode message()
ne peut pas être référencée depuis un contexte statique.
class Main {
public static void main(String[] args) {
System.out.println(args[2]);
}
}
java Main 1 2 "3 4" 5
java Main 1 "2" "2" 5
java Main.class 1 "2" 2 5
java Main 1 "2" "3 4" 5
class Main {
public static void main(String[] args){
int a = 123451234512345;
System.out.println(a);
}
}
Raisonnement: Le type int en Java peut être utilisé pour représenter n'importe quel nombre entier de -2147483648 à 2147483647. Par conséquent, ce code ne se compilera pas car le nombre attribué à 'a' est plus grand que ce que le type int peut contenir.
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);
}
}
for (Pencil pencil : pencilCase) {}
for (pencilCase.next()) {}
for (Pencil pencil : pencilCase.iterator()) {}
for (pencil in pencilCase) {}
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()
Explication : LocalDate est la nouvelle classe ajoutée dans Java 8
int0
est divisible par 5
:boolean isDivisibleBy5 = _____
int0 / 5 ? true: false
int0 % 5 == 0
int0 % 5 != 5
Math.isDivisible(int0, 5)