summaryrefslogtreecommitdiff
path: root/java/java.tex
blob: f64ad323dce26aebe76dd1732a53a147b66df320 (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
50
51
52
53
54
55
\section{Java}
\lstset{language=Java}

\subsection{Introduction}

\begin{itemize}[nosep]
	\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(); // Die nächste Zeile.
int num = in.nextInt(); // Das nächste Token als int.
double num2 = in.nextDouble(); // Das nächste Token als double.
	\end{lstlisting}
	\item Ausgabe:
	\begin{lstlisting}
// In StringBuilder schreiben und auf einmal ausgeben ist 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++}