Un terminal interactif Java (REPL : Read Eval Print Loop) ```shell jshell | Welcome to JShell -- Version 25.0.1 | For an introduction type: /help intro jshell> ``` - Tab completion - Shift+Tab puis v : extraire dans une variable - Shift+Tab puis m : extraire dans une méthode - Shift+Tab puis i : propose l'import manquant ### Exo : JShell Raccourcis dans JShell ```text jshell> "Mon nom" -> Shift+Tab puis v , String name name ==> "Mon nom" "Hello" + name + "!" -> Shift+Tab puis m , greet | created method greet greet() $10 ==> "Hello Mon nom!" "Hello" + name + "!" -> Shift+Tab puis m , greet(String name) | created method greet(String) greet("Toto") $11 ==> "Hello Toto!" ``` - Tab completion - Shift+Tab puis v : extraire dans une variable - Shift+Tab puis m : extraire dans une méthode - /list : afficher les résultats de commande, variables et méthodes ### Exo : Types primitifs : les nombres entiers #### Int ```java 1 -500 int entier32 = 42 int i Integer.MIN_VALUE Integer.MAX_VALUE 30 + 12 23 - 12 10 / 2 5 / 3 5 % 3 5 % 5 2_147_483_647 2_147_483_648 2_147_483_647 + 1 ``` **int** Nombre entier signé (négatif ou positif sur 32 bits. - minimum :  -2^31 (-2147483648) - maximum : 2^31 - 1 (2147483647) #### long ```java 1L 1l -500L long entier64 = 42l long l long entier64b = 42 Long.MIN_VALUE Long.MAX_VALUE 2_147_483_647L 2_147_483_648L 2_147_483_647L + 1 30L + 12 9223372036854775807L + 1 ``` **long** Nombre entier signé (négatif ou positif sur 64 bits. - minimum :  -2^63 (-9223372036854775808) - maximum : 2^63 - 1 (9223372036854775807) Est-ce que des chose vous surprennent ? [dev.java : Primitive types](https://dev.java/learn/language-basics/primitive-types/#primitive-types) ### Exo : Types primitifs : les nombres décimaux #### float ```java var f = 1f var f2 = 1F float f3 = 2 Float.MAX_VALUE Float.MAX_EXPONENT Float.MIN_NORMAL -Float.MAX_VALUE 1 / 3F 1.0f / 0.0f 1_009. 0.1f + 0.1f + 0.1f + 0.1f + 0.1f + 0.1f + 0.1f ``` **float** Nombre à virgule flottant à précision simple signé (négatif ou positif sur 32 bits. - minimum :  -2^31 (-2147483648) - maximum : 2^31 - 1 (2147483647) #### double ```java var d = 1.0 var d2 = 1d var d3 = 1D double d4 = 1 Double.MAX_VALUE Double.MIN_NORMAL Double.MAX_EXPONENT 1/2.0 0.1 + 0.1 + 0.1 ``` **double** Nombre à virgule flottant signé (négatif ou positif sur 64 bits). - minimum :  -2^63 (-9223372036854775808) - maximum : 2^63 - 1 (9223372036854775807) Est-ce que des chose vous surprennent ? [dev.java : Primitive types](https://dev.java/learn/language-basics/primitive-types/#primitive-types) ## String et chars ```java String s = "" char c = 'a' ++c s+c String text = 1 + "A" // Que se passe t'il? ``` # À suivre [[POO en Java]]