abstract | assert | boolean | break | byte |
case | catch | char | class | const |
continue | default | do | double | else |
enum | extends | final | finally | float |
for | goto | if | implements | import |
instanceof | int | interface | long | native |
new | package | private | protected | public |
return | short | static | strictfp | super |
switch | synchrnized | this | throw | throws |
transient | try | void | volatile | while |
_ |
abstract
nom de la méthode abstraite(argument, argument, ...);
abstract class AbstractClass {
abstract public void method();
}
class ConcreteClass extends AbstractClass{
public void method(){
//Détails d'implémentation
}
}
AbstractClass c = new AbstractClass(); //Erreur de compilation
AbstractClass c = new ConcreteClass(); //Oui
ConcreteClass c = new ConcreteClass(); //Oui
assert
private int divide(int x, int y) {
assert y != 0 : y +"Doit être un nombre supérieur à 0";
return x / y;
}
boolean
//Dans le cas de l'instruction if
public class Main {
public static void main(String[] args) throws Exception {
boolean bool1 = false;
if(bool1) {
System.out.println("La valeur de bool1 est true");
} else {
System.out.println("La valeur de bool1 est false");
}
int number = 100;
boolean isResult = number < 200;
if(isResult) {
System.out.println("La valeur de isResult est true");
} else {
System.out.println("La valeur de isResult est false");
}
}
}
//Résultat d'exécution
La valeur de bool1 est false
La valeur de isResult est true
//For while déclaration
public class Main {
public static void main(String[] args) throws Exception {
boolean bool = true; //Réglage de la valeur initiale
int count = 1; //Réglage de la valeur initiale
while(bool) {
System.out.println("La valeur de count est" + count + "est.");
if(count == 5) {
bool = false; //Traitement à exécuter lorsque la valeur de count atteint 5.
}
count++; //Ajoutez 1 à la valeur de la variable "count".
}
}
}
//Résultat d'exécution
La valeur de count est 1.
La valeur de count est 2.
La valeur de count est 3.
La valeur de count est 4.
La valeur de count est 5.
//Pour le type booléen
public class Main {
public static void main(String[] args) throws Exception {
Boolean bool = null;
if(bool == null) {
System.out.println("La valeur de bool est nulle");
} else if(bool) {
System.out.println("La valeur de bool est true");
} else {
System.out.println("La valeur de bool est false");
}
}
}
//Résultat d'exécution
La valeur de bool est nulle
break
//Pour l'instruction switch
public static void main(String[] args) {
int num = 3;
switch(num) {
case 1:
System.out.println("C'est 1");
break;
case 2:
System.out.println("C'est 2");
break;
case 3:
System.out.println("C'est 3");
break;
case 4:
System.out.println("C'est 4");
break;
default:
System.out.println("C'est par défaut");
}
}
//Résultat d'exécution
C'est 3
//Pour déclaration
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
break;
}
System.out.println(i + "Temps");
}
System.out.println("C'est fait");
}
//Résultat d'exécution
Première fois
Deuxième fois
C'est fait
//For while déclaration
public static void main(String[] args) {
int num = 1;
while(true) {
if (num == 3) {
break;
}
System.out.println(num + "C'est la deuxième fois");
num++;
}
System.out.println("C'est fait");
}
//Résultat d'exécution
C'est la première fois
C'est la deuxième fois
C'est fait
//Pour double boucle
loop1: for(Formule d'initialisation;Expression conditionnelle;Changer de formule){//Spécifiez le nom de l'instruction for dans loop1
for(Formule d'initialisation;Expression conditionnelle;Changer de formule){
if(Expression conditionnelle lors de la sortie de la boucle for) break loop1;//Spécifiez la sortie pour l'instruction dans loop1
Traitement du contenu
}
}
//Résultat d'exécution
Lorsque la condition est remplie, quittez le processus loop1
byte
//Déclaration de la variable de type octet et affectation de la valeur initiale
byte b = 100;
//Déclaration du tableau de type d'octet et affectation de valeur à chaque index
byte[] byteArray1 = new byte[3];
byteArray1[0] = 11;
byteArray1[1] = 12;
byteArray1[2] = 13;
//Déclaration du tableau de type d'octet et initialisation en même temps
byte[] byteArray2 = { -128, 0, 127 };
switch
public class Main {
public static void main(String[] args) {
int num = 3;
switch(num) {
case 1:
System.out.println("Le nombre de variable est 1");
break;
case 2:
System.out.println("Le nombre de variable est 2");
break;
case 3:
System.out.println("Le nombre de variable est 3");
break;
case 4:
System.out.println("Le nombre de variable est 4");
break;
default:
System.out.println("La variable num n'est pas un entier de 1 à 4");
}
}
}
//Résultat d'exécution
Le nombre de variable est 3
case
public class Main {
public static void main(String[] args) {
int num = 3;
switch(num) {
case 1:
System.out.println("Le nombre de variable est 1");
break;
case 2:
System.out.println("Le nombre de variable est 2");
break;
case 3:
System.out.println("Le nombre de variable est 3");
break;
case 4:
System.out.println("Le nombre de variable est 4");
break;
default:
System.out.println("La variable num n'est pas un entier de 1 à 4");
}
}
}
//Résultat d'exécution
Le nombre de variable est 3
default
public class Main {
public static void main(String[] args) {
int num = 5;
switch(num) {
case 1:
System.out.println("Le nombre de variable est 1");
break;
case 2:
System.out.println("Le nombre de variable est 2");
break;
case 3:
System.out.println("Le nombre de variable est 3");
break;
case 4:
System.out.println("Le nombre de variable est 4");
break;
default:
System.out.println("La variable num n'est pas un entier de 1 à 4");
}
}
}
//Résultat d'exécution
La variable num n'est pas un entier de 1 à 4
//Pour l'interface
interface Foo{
void print(String s);
default void twice(String s){
print(s);
print(s);
}
}
try
public class Main {
public static void main(String[] args) {
int result;
result = div(5, 0);
System.out.println("Valeur de retour= " + result);
}
public static int div(int num1, int num2) {
try {
int result = num1 / num2;
return result;
} catch (ArithmeticException e) {
System.out.println("Une exception s'est produite.");
System.out.println(e);
return 0;
}
}
}
catch
catch(Nom de la variable de classe d'exception) {
Gestion des exceptions;
}
public class Main {
public static void main(String[] args) {
int result;
result = div(5, 0);
System.out.println("Valeur de retour= " + result);
}
public static int div(int num1, int num2) {
try {
int result = num1 / num2;
return result;
} catch (ArithmeticException e) {
System.out.println("Une exception s'est produite.");
System.out.println(e);
return 0;
}
}
}
//Résultat d'exécution
Une exception s'est produite.
java.lang.ArithmeticException: / by zero
Valeur de retour= 0
finally
int n[] = {18, 29, 36};
System.out.println("début");
try{
for (int i = 0; i < 4; i++){
System.out.println(n[i]);
}
}
catch(ArrayIndexOutOfBoundsException e){
System.out.println("Au-delà de la portée du tableau");
}
finally{
System.out.println("Sortie de la matrice terminée");
}
System.out.println("Fini");
throw
public class Main {
public static void main(String[] args) {
int result;
result = div(5, 0);
System.out.println("Valeur de retour= " + result);
}
public static int div(int num1, int num2) {
try {
if (num2 == 0) {
throw new ArithmeticException("Lever une exception lorsqu'elle est divisée par 0");
}
int result = num1 / num2;
return result;
} catch (Exception e) {
System.out.println("Une exception s'est produite.");
System.out.println(e);
return 0;
}
}
}
//Résultat d'exécution
Une exception s'est produite.
java.lang.ArithmeticException:Lever une exception lorsqu'elle est divisée par 0
Valeur de retour= 0
throws
public static void main(String[] args) {
int num = 10;
math(num);
math(int i) {
int i += 100;
}
}
public class Main {
public static void main(String[] args) {
int result = 0;
try {
result = div(5, 0);
} catch (Exception e) {
System.out.println("Une exception s'est produite.");
System.out.println(e);
}
System.out.println("Valeur de retour= " + result);
}
public static int div(int num1, int num2) throws ArithmeticException {
int result = num1 / num2;
return result;
}
}
//Résultat d'exécution
Une exception s'est produite.
java.lang.ArithmeticException: / by zero
Valeur de retour= 0
for
for(Formule d'initialisation;Expression conditionnelle;Changer de formule){
Processus à exécuter
}
for (Saisissez le nom de la variable:Nom du tableau ou nom de la collection){
Processus à exécuter
}
public class sample {
public static void main (String[] args){
int sum = 0;//[1]
for (int number = 1; number <= 10; number++) {//[2]
sum += number;//[3]
}
System.out.println("sum:" + sum);//[4]
}
}
//Résultat d'exécution
sum:55
continue
class sample{
public static void main(String args[]){
for (int i = 1; i < 10; i++){
if (i % 2 == 0){//Dans ce cas, uniquement lorsque la valeur de i est paire(1)Sera ignoré
continue;
}
System.out.println("i = " + i);//(1)
}
}
}
//Résultat d'exécution
i = 1
i = 3
i = 5
i = 7
i = 9
if
//En cas de 1
public class Main{
public static void main(String[] args){
int number = 80;
if (number > 90) {
System.out.println("Excellent résultat!");
} else if (number > 60) {
System.out.println("C'est un bon résultat.");
} else {
System.out.println("Faisons de notre mieux.");
}
}
}
//Résultat d'exécution
C'est un bon résultat.
//En cas de 2
public class Main{
public static void main(String[] args){
int number = 10;
if (number < 20) {
System.out.println(number + "Est inférieur à 20");
}
}
}
//Résultat d'exécution
10 est inférieur à 20
//En cas de 3
public class Main{
public static void main(String[] args){
int number = 10;
if ((number < 20) || (number >= 10)) {
System.out.println(number + "Est une valeur supérieure ou égale à 10 ou inférieure à 20");
}
}
}
//Résultat d'exécution
10 est une valeur supérieure ou égale à 10 ou inférieure à 20
//En cas de 4
public class Main {
public static void main(String[] args) {
int number = 10;
String str = (number == 5) ? "le nombre est 5" : "le nombre n'est pas 5";
System.out.println(str);
}
}
//Résultat d'exécution
le nombre n'est pas 5
//En cas de 5
public class Main {
public static void main(String[] args) {
String str1 = "Pain au pot";
if(str1 == "Pain au pot") {
System.out.println("str1 correspond à la chaîne "potepan"");
} else {
System.out.println("str1 ne correspond pas à la chaîne "potepan"");
}
}
}
//Résultat efficace
str1 correspond à la chaîne "potepan"
else
class sample {
public static void main (String[] args){
int number = 200;//[1]
if (number >= 1 && number <= 9){//[2]
System.out.println("[3] number : 1 - 9");
} else if (number >= 10 && number <= 99) {//[4]
System.out.println("[5] number : 10 - 99");
} else {//[6]
System.out.println("[7] number >= 100");
}
}
}
//Résultat d'exécution
[7] number >= 100
char
class sample {
public static void main(String[] args) {
char chrHensu1 = 'A'; //Remplacez A tel quel
char chrHensu2 = 0x0041; //Spécifiez 0x0041
char chrHensu3 = 65; //Précisez 65
System.out.println(chrHensu1);
System.out.println(chrHensu2);
System.out.println(chrHensu3);
}
}
//Résultat d'exécution
A
A
A
class
nom de classe de classe{
Traitement d'exécution...
}
const
do
public class sample {
public static void main(String[] args) {
int i = 0;
do {
System.out.println((i + 1) + "C'est le deuxième processus");
i++;
} while (i < 3);
System.out.println("Le traitement est terminé");
}
}
//Résultat d'exécution
C'est le premier processus
C'est le deuxième processus
C'est le troisième processus
Le traitement est terminé
double
//Nombres avec des points décimaux en nombres décimaux et des entiers en nombres binaires, octaux et hexadécimaux
double d1 = 12345; //Nombre décimal(entier)
double d2 = 1.2345; //Nombre décimal(Il y a un point décimal)
double d3 = -123_456.789_012; //Nombre décimal, avec délimiteur
double d4 = 0b0101; //Entier binaire
double d5 = 012345; //Huit entier
double d6 = 0x12345; //Entier hexagonal
//Notation exponentielle pour les nombres décimaux et hexadécimaux
double d1 = 1.23e4; //Notation exponentielle décimale(1.23 × 10 4) → 12300
double d2 = -1.23e-4; //Notation exponentielle décimale(-1.23x10-4e puissance) → -0.000123
double d3 = 0x1.23p4; //Notation d'exposant hexagonale(0x1.23 x 2 à la 4e puissance) → 18.1875
double d4 = -0x1.23p-4; //Notation d'exposant hexagonale(-0x1.23x2-4e puissance) → -0.071044921875
//D comme suffixe/Si vous ajoutez D, le littéral sera traité comme double.
double d1 = 5 / 10; //→ 0, int 5 est divisé par int 10 donc le résultat du calcul est int 0
double d2 = 5 / 10d; // → 0.Puisque 5 sur 5 et int sont divisés par 10 de double, 5 devient également double et le résultat du calcul est 0 de double..Devenir 5
enum
Nom de l'énumération du modificateur d'accès{Recenseur 1,Recenseur 2,・ ・ ・};
Lors de l'utilisation de l'instruction switch
public class Main {
public static void main(String[] args) {
Fruit fruit_type = Fruit.Orange;
switch(fruit_type) {
case Orange:
System.out.println("Délicieuses oranges");
break;
case Apple:
System.out.println("Je veux manger des pommes");
break;
case Melon:
System.out.println("Le melon est tout");
break;
}
}
protected enum Fruit {
Orange,
Apple,
Melon
};
}
//Résultat d'exécution
Délicieuses oranges
Lors de la définition des champs et des méthodes
public class sample {
public static void main(String[] args) {
for(Fruit frt : Fruit.values()) {
System.out.println(frt.ordinal() + ":" + frt.name() + "," + frt.getValue());
}
}
protected enum Fruit {
Orange("Ehime"),
Apple("Aomori"),
Melon("Ibaraki");
//Définir le champ
private String name;
//Définir le constructeur
private Fruit(String name) {
this.name = name;
}
//Méthode
public String getValue() {
return this.name;
}
}
}
//Résultat d'exécution
0:Orange,Ehime
1:Apple,Aomori
2:Melon,Ibaraki
extends
public class Student{
String name;
int id;
attend(){}
}
public class School extends Student{
test(){}
}
interface
//Créer une interface
interface Calc {
int NUM1 = 1;
int NUM2 = 2;
void calc();
}
//Implémentez l'interface et créez une classe à ajouter
class Add implements Calc {
public void calc() {
System.out.println(NUM1 + NUM2);
}
}
//Implémentez l'interface et créez une classe à soustraire
class Sub implements Calc {
public void calc() {
System.out.println(NUM1 - NUM2);
}
}
//Créer une classe qui exécute la classe qui implémente l'interface
public class sample {
public static void main(String[] args) {
Add add = new Add();
add.calc();
Sub sub = new Sub();
sub.calc();
}
}
//Résultat d'exécution
3
-1
implements
public class Sample implémente le nom de l'interface{}
private
class PublicClass {
private String fieldVariable = "Variables de champ PublicClass.";
public void publicMethod() {
System.out.println(fieldVariable + "Sortie de publicMethod.");
}
}
public class sample {
public static void main(String[] args) {
PublicClass pc = new PublicClass();
pc.publicMethod();
}
}
//Résultat d'exécution
Variables de champ PublicClass.Sortie de publicMethod.
protected
//Lors du référencement à partir d'une sous-classe
class SuperClass {
protected String str = "Variables SuperClass";
}
public class sample extends SuperClass {
public static void main(String[] args) {
sample sc = new sample();
System.out.println(sc.str);
}
}
//Résultat d'exécution
Variables SuperClass
//Lors du référencement de la même classe
public class sample{
public static void main(String[] args) {
method();
}
protected static void method() {
System.out.println("Méthode avec protégé");
}
}
//Résultat d'exécution
Méthode avec protégé
//Si vous ne pouvez pas accéder
class SuperClass {
protected String str = "Variables SuperClass";
}
class SubClass_NG {
public static void main(String[] args) {
SubClass_NG sc = new SubClass_NG();
System.out.println(sc.str);
}
}
//Résultat d'exécution
sample.java:9:Erreur:Impossible de trouver le symbole
public
class PublicClass {
public String fieldVariable = "Variables de champ PublicClass.";
public void publicMethod() {
System.out.println(fieldVariable + "Sortie de publicMethod.");
}
}
public class sample {
public static void main(String[] args) {
PublicClass pc = new PublicClass();
System.out.println(pc.fieldVariable);
}
}
//Résultat d'exécution
Variables de champ PublicClass.
package
package lang.java.hello;
public class HelloJava {
public HelloJava() {
System.out.println("Hello Java!");
}
}
package lang.cpp.hello;
public class HelloCpp {
public HelloCpp() {
System.out.println("Hello C++!");
}
}
import
nom du package d'importation.Nom de la classe que vous souhaitez importer;
import lang.cpp.hello.HelloCpp;
import lang.java.hello.HelloJava;
public class Main {
public static void main(String[] args) {
HelloJava hello1 = new HelloJava();
HelloCpp hello2 = new HelloCpp();
}
}
while
public class sample {
public static void main(String[] args) {
int num = 0;
while (num < 3) {
System.out.println(num);
num++;
}
}
}
//Résultat d'exécution
0
1
2
goto
void
public class sample {
static String sampleMethod() {
//Renvoie la chaîne
return "La méthode d'échantillonnage a été appelée";
}
public static void main(String[] args) {
//Appelez sampleMethod et affectez le résultat à une variable de type String nommée str
String str = sampleMethod();
//Sortir le contenu de la variable str
System.out.println(str);
}
}
//Résultat d'exécution
La méthode d'échantillonnage a été appelée
return
//En cas de 2
public class sample {
public static void main(String[] args) {
num(0, 2);
}
private static void num(int num1, int num2) {
if (num1 == 0) {
System.out.println("Revenez à l'appelant.");
return;
}
int addAns = num1 + num2;
System.out.println("La réponse est" + addAns + "est.");
}
}
//Résultat d'exécution
La réponse est 2.
//S'il n'y a pas de retour dans le même code source
public class sample {
public static void main(String[] args) {
num(0, 2);
}
private static void num(int num1, int num2) {
if (num1 == 0) {
System.out.println("Revenez à l'appelant.");
}
int addAns = num1 + num2;
System.out.println("La réponse est" + addAns + "est.");
}
}
//Résultat d'exécution
Revenez à l'appelant.
La réponse est 2.
//Commentaire
Puisqu'il n'y a pas de retour, le traitement suivant de l'instruction if a été effectué.
new
nom de la classe principale de la classe publique{
public static void main(String[] args) {
//Génération d'instance
Nom de la classe Nom de la variable=nouveau nom de classe();
}
}
nom de classe de classe{
//Constructeur (exécuté lors de l'instanciation)
nom de classe publique(){
Processus d'initialisation, etc.
}
}
static
class ClassSample {
private int val1 = 0; //Variables non statiques(Variable d'instance)
private static int val2 = 0; //variable statique(Variable de classe)
//Ajoutez 1 à la variable chaque fois que la classe du constructeur est instanciée
public ClassSample(int val1, int val2) {
this.val1 += val1;
ClassSample.val2 += val2; //"nom de la classe.Déclarez une variable statique avec "nom de variable"
}
//Afficher la valeur de la variable
public void print(){
System.out.println("val1 = " + val1 + ", val2 = " + val2);
}
}
public class sample {
public static void main(String[] args) {
for (int i = 0; i < 3; i++){
ClassSample cs = new ClassSample(1, 1);
cs.print();
}
}
}
//Résultat d'exécution
val1 = 1, val2 = 1
val1 = 1, val2 = 2
val1 = 1, val2 = 3
final
//Pour les variables
int x = 0; //Déclaration de variable ordinaire, avec valeur initiale
x = 1; //Changer la valeur d'une variable
final int y = 10; //Déclarez la variable comme finale, avec la valeur initiale
y = 100; //La variable finale ne peut pas être modifiée et une erreur de compilation se produit.!!
String s = "A"; //Déclaration de variable de type référence ordinaire, avec valeur initiale
s = "B"; //Modifier la destination de référence de la variable de type de référence
final String s2 = "C"; //La variable de type de référence est déclarée comme finale, avec la valeur initiale
s2 = "D"; //La variable finale ne peut pas être modifiée et une erreur de compilation se produit.!!
//Pour la classe
final class FinalSample {
}
class ChildFinalSample extends FinalSample { //Erreur de compilation!!la classe finale ne peut pas être héritée
}
//Pour les méthodes
class FinalSample {
final void method() { //méthode d'instance finale
}
}
class ChildFinalSample extends FinalSample { //Puisqu'il ne s'agit pas d'une classe finale, il peut être hérité
void method() { //Erreur de compilation!!la méthode d'instance finale ne peut pas être remplacée
}
}
_
float
public class sample {
public static void main(String[] args) {
float f = 1.25f;
int num = 10;
float addNum = num + f;
System.out.println(num + " + " + f + " = " + addNum);
}
}
//Résultat d'exécution
10 + 1.25 = 11.25
int
int i1 = 123456789; //Nombre décimal
int i2 = 0b1010101; //Nombre binaire
int i3 = 012345670; //8 base
int i4 = 0x123ABCDE; //Hexadécimal
int i5 = 123_456_789; //Séparateur de chiffres(Tous les 3 chiffres)
int i6 = 0b1111_1010_0101; //Séparateur de chiffres(Tous les 4 bits)
long
public class sample {
public static void main(String [] args) {
int m = 2147483647;
System.out.println(m);
m += 1;
System.out.println(m);
long n = 2147483647;
System.out.println(n);
n += 1;
System.out.println(n);
}
}
//Résultat d'exécution
2147483647
-2147483648
2147483647
2147483648
short
public class sample {
short a=100;
short b=10;
short c=0;
c = a + d;
System.out.println("c =" + c );
}
//Résultat d'exécution
sample.java:6:Erreur: <identifier>il n'y a pas
instanceof
//En se référant au type de données
public class sample {
public static void main(String[] args) {
Object obj = "samurai";
System.out.println(obj instanceof String);
System.out.println(obj instanceof Integer);
}
}
//Résultat d'exécution
true
false
//Pour déterminer si une sous-classe hérite d'une classe spar
public class sample {
public static void main(String[] args) {
SubClass sub = new SubClass();
System.out.println(sub instanceof SubClass);
System.out.println(sub instanceof SuperClass);
}
}
class SuperClass {}
class SubClass extends SuperClass{}
//Résultat d'exécution
true
true
//Pour déterminer si une interface est implémentée
public class sample {
public static void main(String[] args) {
SubClass sub = new SubClass();
System.out.println(sub instanceof SubClass);
System.out.println(sub instanceof Interface);
}
}
interface Interface {}
class SuperClass implements Interface {}
class SubClass extends SuperClass {}
//Résultat d'exécution
true
true
this
//Lors du référencement de méthodes et de variables de la même classe
public class sample {
//Exemple de variable de classe
String animal = "Lapins";
public void printAnimal() {
//Variables locales
String animal = "Chat";
System.out.println("Animal variable locale:" + animal);
System.out.println("Classe variable animal:" + this.animal);
}
public static void main(String[] args) {
sample s = new sample();
s.printAnimal();
}
}
//Résultat efficace
Animal variable locale:Chat
Classe variable animal:Lapins
//Lors de l'appel d'un autre constructeur
class ThisSample8 {
String name;
int amount;
//① Constructeur par défaut
ThisSample8() {
this("Gonbei anonyme", 10); //Appelez ③ avec la valeur par défaut
}
//② Constructeur surchargé(Partie 1)
ThisSample8(String name) {
this(name, 20); //Appelez ③ en utilisant des arguments
}
//③ Constructeur surchargé(Partie 2)
ThisSample8(String name, int amount) {
//L'initialisation du champ se fait uniquement avec ce constructeur
this.name = name;
this.amount = amount;
}
void printProperty() {
System.out.println(String.format("mon nom est%s. L'argent que tu as%C'est d yen.", name, amount));
}
public static void sample(String[] args) {
ThisSample8 sample1 = new ThisSample8();
sample1.printProperty(); //→ Gonbei anonyme, 10 yens
ThisSample8 sample2 = new ThisSample8("Yamada Taro");
sample2.printProperty(); //→ Taro Yamada, 20 yens
ThisSample8 sample3 = new ThisSample8("Jiro Suzuki", 1000);
sample3.printProperty(); //→ Jiro Suzuki, 1000 yens
}
}
//Résultat d'exécution
Je m'appelle Anonymous Gonbei. L'argent que vous avez est de 10 yens.
Mon nom est Taro Yamada. L'argent dont vous disposez est de 20 yens.
Je m'appelle Jiro Suzuki. L'argent que vous avez est de 1000 yens.
super
//Lors de l'appel du constructeur d'une super classe
public class sample {
public static void main(String[] args) throws Exception {
SubClass sub = new SubClass();
}
}
class SuperClass {
public SuperClass(){
System.out.println("Super_Const");
}
public SuperClass(String str){
System.out.println("str : " + str);
}
public SuperClass(int num){
System.out.println("num : " + num);
}
}
class SubClass extends SuperClass {
public SubClass(){
super("apple");
}
}
//Résultat d'exécution
str : apple
//Lors de l'appel de la méthode avant de remplacer
class SuperClassSample {
String str = "SuperClass";
public String getSrt() {
return str;
}
}
class SubClassSample extends SuperClassSample {
String str = "SubClass";
public String getSrt() {
return str;
}
public void print() {
System.out.println("super.str = " + super.str);
System.out.println("str = " + str);
System.out.println("super.getSrt() = " + super.getSrt());
System.out.println("getSrt() = " + getSrt());
}
}
public class sample {
public static void main(String[] args) {
SubClassSample scs = new SubClassSample();
scs.print();
}
}
//Résultat d'exécution
super.str = SuperClass
str = SubClass
super.getSrt() = SuperClass
getSrt() = SubClass
native
//Fichier Java
pablic native boolean isCameraMute();
//fichier c
JNIEXPORT jboolean Préfixe JNICALL_isCameraMute();
return isCsmeraMute();
strictfp
public class sample {
public static void main(String args[]) {
new sample();
}
//Générer un constructeur
public sample() {
this.strictfpTest();
}
strictfp public void strictfpTest() {
double a = 0.01;
double b = 0.02;
double c = 0.0001;
System.out.println(a * b * c);
}
}
//Résultat d'exécution
2.0E-8
synchronized
//Lorsque vous n'utilisez pas synchronisé
public class sample{
public static void main(String[] args) {
Bathroom bathroom = new Bathroom();
FamilyTread father = new FamilyTread(bathroom, "père");
FamilyTread mother = new FamilyTread(bathroom, "mère");
FamilyTread sister = new FamilyTread(bathroom, "sœur");
FamilyTread me = new FamilyTread(bathroom, "je");
father.start();
mother.start();
sister.start();
me.start();
}
}
class FamilyTread extends Thread {
private Bathroom mBathroom;
private String mName;
FamilyTread(Bathroom bathroom, String name) {
this.mBathroom = bathroom;
this.mName = name;
}
public void run() {
mBathroom.openDoor(mName);
}
}
class Bathroom {
void openDoor(String name) {
System.out.println(name + ""Je vais prendre un bain!"");
for (int count = 0; count < 100000; count++) {
if (count == 1000) {
System.out.println(name + ""J'ai pris un bain."");
}
}
System.out.println(name + ""Je suis sorti du bain!"");
}
}
//Résultat d'exécution
Père "Je vais prendre un bain!"
Mère "Je vais prendre un bain!"
Père "J'ai pris un bain."
Ma soeur "Je vais prendre un bain!"
Je prends un bain!"
Mère "J'ai pris un bain."
J'ai "j'ai pris un bain."
Ma soeur "J'ai pris un bain."
Père "Je suis sorti du bain!"
Ma soeur "Je suis sortie du bain!"
Je "Je suis sorti du bain!"
Mère "Je suis sortie du bain!"
//Lorsque synchronisé est utilisé pour la salle de bains de classe
class Bathroom {
synchronized void openDoor(String name) {
System.out.println(name + ""Je vais prendre un bain!"");
for (int count = 0; count < 100000; count++) {
if (count == 1000) {
System.out.println(name + ""J'ai pris un bain."");
}
}
System.out.println(name + ""Je suis sorti du bain!"");
}
//Résultat d'exécution
Père "Je vais prendre un bain!"
Père "J'ai pris un bain."
Père "Je suis sorti du bain!"
Je prends un bain!"
J'ai "j'ai pris un bain."
Je "Je suis sorti du bain!"
Mère "Je vais prendre un bain!"
Mère "J'ai pris un bain."
Mère "Je suis sortie du bain!"
Ma soeur "Je vais prendre un bain!"
Ma soeur "J'ai pris un bain."
Ma soeur "Je suis sortie du bain!"
transient
//Main.java
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class Main {
public static void main(String[] args) throws Exception {
Player player = new Player(new Badminton());
player.play(); System.out.println();
Player clonePlayer = deepCopy(player);
clonePlayer.play();
System.out.println();
System.out.print("Même instance de Player:");
System.out.println(player == clonePlayer);
System.out.print("Même instance de badminton:");
System.out.println(player.getSports() == clonePlayer.getSports());
}
@SuppressWarnings("unchecked")
public static <T extends Serializable> T deepCopy(T t) throws Exception {
if (t == null) {
return null;
}
ByteArrayOutputStream byteOut = null;
ObjectOutputStream objectOut = null;
try {
byteOut = new ByteArrayOutputStream();
objectOut = new ObjectOutputStream(byteOut);
objectOut.writeObject(t);
} finally {
objectOut.close();
}
ObjectInputStream objectin = null;
T copy = null;
try {
objectin = new ObjectInputStream(new ByteArrayInputStream
(byteOut.toByteArray()));
copy = (T) objectin.readObject();
} finally {
objectin.close();
}
return copy;
}
}
//Sports.java
public interface Sports {
void play();
}
class Badminton implements Sports {
@Override
public void play() {
System.out.println("Jouez au badminton.");
}
}
//Player.java
import java.io.Serializable;
@SuppressWarnings("serial")
public class Player implements Serializable {
private transient Sports sports;
public Player(Sports sports) {
this.sports = sports;
System.out.println("C'est un constructeur.");
}
public Sports getSports() {
return sports;
}
public void play() {
System.out.println("Réchauffer.");
sports.play();
System.out.println("Refroidir");
}
}
volatile
public class VolatileSample {
private static volatile int count = 0;
//private static int count = 0;
public static void main(String[] args) {
new MultiThread1().start();
new MultiThread2().start();
}
static class MultiThread1 extends Thread {
public void run() {
int val = count;
while(count < 3) {
if (val != count) {
String message = getName() + ": val = " + val + ", count = " + count;
System.out.println(message + "mise à jour");
val = count;
}
}
}
}
static class MultiThread2 extends Thread {
public void run() {
int val = count;
while(count < 3) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
String message = getName() + ": val = " + val + ", count = " + count;
System.out.println(message);
count = ++val;
}
}
}
}
//Résultat d'exécution
Thread-1: val = 0, count = 0
Thread-0: val = 0, count =1 mise à jour
Thread-1: val = 1, count = 1
Thread-0: val = 1, count =2 mise à jour
Thread-1: val = 2, count = 2
Recommended Posts