summaryrefslogtreecommitdiff
path: root/java/java.tex
blob: f52e733ee8d12cc4d17ebe07f97da7f278ad51a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
\section{Java}
\lstset{language=Java}

\subsection{Introduction}

\begin{itemize}
\item Compilen: \lstinline{javac main.java}
\item Ausführen: \lstinline{java main < sample.in}
\item Eingabe:
\lstinline{Scanner} ist sehr langsam. Bei großen Eingaben muss ein Buffered Reader verwendet werden.
\begin{lstlisting}
Scanner in = new Scanner(System.in); // java.util.Scanner
String line = in.nextLine(); // Liest die nächste Zeile.
int num = in.nextInt(); // Liest das nächste Token als int.
double num2 = in.nextDouble(); // Liest das nächste Token als double.
\end{lstlisting}
\item Ausgabe:
\begin{lstlisting}
// Ausgabe in StringBuilder schreiben und am Ende alles auf einmal ausgeben. -> Viel schneller.
StringBuilder sb = new StringBuilder(); // java.lang.StringBuilder
sb.append("Hallo Welt");
System.out.print(sb.toString());
\end{lstlisting}
\end{itemize}

\subsection{BigInteger}
\begin{lstlisting}
// Berechnet this +,*,/,- val.
BigInteger add(BigInteger val), multiply(BigInteger val), divide(BigInteger val), substract(BigInteger val)

// Berechnet this^e.
BigInteger pow(BigInteger e)

// Bit-Operationen.
BigInteger and(BigInteger val), or(BigInteger val), xor(BigInteger val), not(), shiftLeft(int n), shiftRight(int n)

// Berechnet den ggT von abs(this) und abs(val).
BigInteger gcd(BigInteger val)

// Berechnet this mod m, this^-1 mod m, this^e mod m.
BigInteger mod(BigInteger m), modInverse(BigInteger m), modPow(BigInteger e, BigInteger m)

// Berechnet die nächste Zahl, die größer und wahrscheinlich prim ist.
BigInteger  nextProbablePrime()

// Berechnet int/long/float/double-Wert. Ist die Zahl zu großen werden die niedrigsten Bits konvertiert.
int intValue(), long longValue(), float floatValue(), double doubleValue() 
\end{lstlisting}
\lstset{language=C++}