[Java] Résumé des opérations mathématiques

Arithmétique mathématique

Calcul de base

public class Main {
  public static void main(String[] args) {
    //Valeur absolue,maximum,le minimum
    System.out.println(Math.abs(-100)); //100
    System.out.println(Math.max(6, 3)); //6
    System.out.println(Math.min(6, 3)); //3
    //Rassembler
    System.out.println(Math.ceil(1234.56));  //1235.0
    //Tronquer
    System.out.println(Math.floor(1234.56)); //1234.0
    //Arrondi
    System.out.println(Math.round(1234.56)); //1235
    //racine carrée
    System.out.println(Math.sqrt(10000));    //100.0
    //Racine cubique
    System.out.println(Math.cbrt(10000));    //21.544346900318835
    //x à la puissance y
    System.out.println(Math.pow(2, 4));      //16.0
    //Convertir l'angle en radian
    System.out.println(Math.sin(Math.toRadians(30))); //0.49999999999999994
    System.out.println(Math.cos(Math.toRadians(60))); //0.5000000000000001
    System.out.println(Math.tan(Math.toRadians(45))); //0.9999999999999999
    //Journal de base e, journal de base 10
    System.out.println(Math.log(100));                //4.605170185988092
    System.out.println(Math.log10(100));              //2.0
  }
}

Opération de type long ou entier plus grand

//Exemple NG Type long Débordement de l'endroit où la limite supérieure est dépassée
public class Main {
  public static void main(String[] args) {
    long result = 1;
    for (var i = 1; i < 26; i++) {
      result *= i;
      System.out.println(result);
      //1,2,,,(Abréviation),2432902008176640000,-4249290049419214848,-1250660718674968576,8128291617894825984,-7835185981329244160,7034535277573963776
    }
  }
}
//Opération OK
import java.math.BigInteger;
public class Main {
  public static void main(String[] args) {
    var result = BigInteger.valueOf(1);
    for (var i = 1; i < 26; i++) {
      result = result.multiply(BigInteger.valueOf(i));
      System.out.println(result);
      //1,2,6,,,(Abréviation),,2432902008176640000,51090942171709440000,1124000727777607680000,25852016738884976640000,620448401733239439360000,15511210043330985984000000
    }
  }
}

Génération aléatoire

import java.util.Random;

public class Main {
  public static void main(String[] args) {
    var rnd = new Random();
    //Générer des nombres aléatoires avec des valeurs booléennes
    System.out.println(rnd.nextBoolean()); //true
    //Génération aléatoire avec Float(0~1)
    System.out.println(rnd.nextFloat());   //0.11219084
    //Génération aléatoire avec Double(0~1)
    System.out.println(rnd.nextDouble());  //0.983418224742081
    //Génération aléatoire avec Int(0~bound)
    System.out.println(rnd.nextInt(400) + 100); //448
    //Génération aléatoire avec Long
    System.out.println(rnd.nextLong()); //2297825179350643621
    var data = new byte[5];
    //Générez des octets de manière aléatoire et placez-les dans un tableau d'octets avec des arguments spécifiés
    rnd.nextBytes(data);
    for (var b : data) {
      System.out.print(b + " "); //63 -54 23 113 -76 
    }
  }
}

Mise en forme numérique

import java.text.NumberFormat;
import java.util.Locale;

public class Main {
  public static void main(String[] args) {
    var num1 = 1234.5678;
    //Format de devise
    var nf1 = NumberFormat.getCurrencyInstance(Locale.JAPAN); 
    //Format entier
    var nf2 = NumberFormat.getIntegerInstance();
    //Format numérique à usage général (getInstance)
    var nf3 = NumberFormat.getNumberInstance();
    System.out.println(nf1.format(num1)); //¥1,235
    System.out.println(nf2.format(num1)); //1,235
    System.out.println(nf3.format(num1)); //1,234.568

    var num2 = 0.567;
    //%format
    var nf4 = NumberFormat.getPercentInstance();
    System.out.println(nf4.format(num2)); //57%
  }
}

Manipulation de tableau

//Shallow copy
import java.util.Arrays;

public class Main {
  public static void main(String[] args) {
    var  array1 = new String[] { "dog", "cat", "mouse", "fox", "lion" };
    //Trier le tableau
    Arrays.sort(array1);
    //Stringize un tableau
    System.out.println(Arrays.toString(array1)); //[cat, dog, fox, lion, mouse]
    //Rechercher des valeurs dans un tableau trié
    System.out.println(Arrays.binarySearch(array1, "mouse")); //4

    var array2 = new String[] { "Ah", "je", "U", "e", "Oh" };   
    //Copie du tableau, longueur en argument, 0 manque/Remplir avec null
    var array3 = Arrays.copyOf(array2, 2);
    System.out.println(Arrays.toString(array3)); //[Ah,je]
    
    //Copiez le tableau en spécifiant la plage avec l'argument
    var array4 = Arrays.copyOfRange(array2, 1, 7);
    System.out.println(Arrays.toString(array4)); //[je,U,e,Oh, null, null]

    //Définir des valeurs dans un tableau
    Arrays.fill(array4, 4, 6, "―");
    System.out.println(Arrays.toString(array4)); //[je,U,e,Oh, ―, ―]
  }
}
//Deep copy
import java.util.Arrays;

public class Main {
  public static void main(String[] args) {
    var list1 = new StringBuilder[] {
        new StringBuilder("Donuts Doremifa"),
        new StringBuilder("ARAMA"),
        new StringBuilder("Hanihoheto")
      };

    var list2 = new StringBuilder[list1.length];
    for (var i = 0; i < list1.length; i++) {
      list2[i] = new StringBuilder(list1[i].toString());
    }

    list1[2].append("Bonjour");
    System.out.println(Arrays.toString(list1)); //[Donuts Doremifa, ARAMA,Bonjour Hanihoheto]
    System.out.println(Arrays.toString(list2)); //[Donuts Doremifa, ARAMA,Hanihoheto]
  }
}

Recommended Posts

[Java] Résumé des opérations mathématiques
Résumé du support Java 2018
[Java11] Résumé du flux -Avantages du flux-
[Java] Résumé des expressions régulières
[Java] Résumé des opérateurs (opérateur)
Résumé des bases du langage Java
Résumé de la classe Java Math
[Java] Résumé de la syntaxe de contrôle
Résumé du traitement des erreurs Java
[Pour les débutants] Résumé du constructeur java
Résumé du package [Java Silver Study]
Résumé de la programmation orientée objet utilisant Java
[Java Silver] Résumé des points de modification d'accès
Résumé de la session d’étude interne des recrues [Java]
Résumé des connaissances Java
Résumé des génériques Java
[java] Résumé de la gestion des caractères
Récapitulatif des modifications autres que JEP de Java10
[Java] Résumé personnel des instructions conditionnelles (basique)
Résumé du document Java 8
[Java] [Maven3] Résumé de l'utilisation de Maven3
Résumé Java des conversions de types fréquemment recherchées
Résumé du document Java 11
Résumé de Java Math.random et import (calendrier)
[java] Résumé de la gestion des chaînes de caractères
Récapitulatif des paramètres de l'environnement Java pour moi-même [mac]
[Java] Résumé personnel des classes et méthodes (basique)
[Java] Résumé de la façon d'omettre les expressions lambda
Collection expirée de java
Résumé des nouvelles fonctionnalités de Java 12
[Java] Importance de serialVersionUID
[Résumé] Par exemple, préparation de l'environnement Java
3ème résumé efficace de Java
[Java] Opérations de date / heure
NIO.2 examen de Java
Avis sur Java Shilber
Résumé des nouvelles fonctionnalités de Java 13
Résumé des sources OpenJDK
java --Unification des commentaires
vue d'ensemble du fichier jar
Java statique [Résumé personnel]
Histoire des annotations Java
Résumé sur la sécurité de l'information
Résumé de l'utilisation de FragmentArgs
java (mérites du polymorphisme)
Résumé des threads sûrs ~ Java ~
Résumé de la spécialisation des primitives Java
Résumé du lien de développement Java
Résumé personnel sur Java
Examen NIO de Java
Résumé des nouvelles fonctionnalités de Java 10
[Java] Trois fonctionnalités de Java
Résumé des nouvelles fonctionnalités de Java 14
Résumé du mot réservé Java
Résumé approximatif du flux Java8
[Java] Résumé de base de Java non couvert par Progate ~ Partie 1 ~
C'est pratique! Résumé de la bibliothèque Java populaire + α
Résumé du comportement de ToString avec les annotations Java et Groovy
[Java Silver] Résumé des points liés aux expressions lambda