summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLevi Bostian <levi.bostian@gmail.com>2015-10-12 23:29:27 -0500
committerLevi Bostian <levi.bostian@gmail.com>2015-10-12 23:29:27 -0500
commitadc92f538d3e9b2556a5c0d52023189aa30feff5 (patch)
treef984f0c46874ef21aad329812b4f04935b340763
parent133baf5565f8ff1b39c7f3853ea8d50145538ab6 (diff)
parenta504713d000567919196fed9f2be44e91ba722fe (diff)
Merge pull request #1484 from RobRoseKnows/master
Added BigInteger and BigDecimal explanations to Java tutorial
-rw-r--r--java.html.markdown30
1 files changed, 30 insertions, 0 deletions
diff --git a/java.html.markdown b/java.html.markdown
index 653cc97a..35ec57d8 100644
--- a/java.html.markdown
+++ b/java.html.markdown
@@ -96,11 +96,13 @@ public class LearnJava {
// Note: Java has no unsigned types.
// Float - Single-precision 32-bit IEEE 754 Floating Point
+ // 2^-149 <= float <= (2-2^-23) * 2^127
float fooFloat = 234.5f;
// f or F is used to denote that this variable value is of type float;
// otherwise it is treated as double.
// Double - Double-precision 64-bit IEEE 754 Floating Point
+ // 2^-1074 <= x <= (2-2^-52) * 2^1023
double fooDouble = 123.4;
// Boolean - true & false
@@ -116,6 +118,34 @@ public class LearnJava {
final double E;
E = 2.71828;
+
+ // BigInteger - Immutable arbitrary-precision integers
+ //
+ // BigInteger is a data type that allows programmers to manipulate
+ // integers longer than 64-bits. Integers are stored as an array of
+ // of bytes and are manipulated using functions built into BigInteger
+ //
+ // BigInteger can be initialized using an array of bytes or a string.
+
+ BigInteger fooBigInteger = new BigDecimal(fooByteArray);
+
+
+ // BigDecimal - Immutable, arbitrary-precision signed decimal number
+ //
+ // A BigDecimal takes two parts: an arbitrary precision integer
+ // unscaled value and a 32-bit integer scale
+ //
+ // BigDecimal allows the programmer complete control over decimal
+ // rounding. It is recommended to use BigDecimal with currency values
+ // and where exact decimal percision is required.
+ //
+ // BigDecimal can be initialized with an int, long, double or String
+ // or by initializing the unscaled value (BigInteger) and scale (int).
+
+ BigDecimal fooBigDecimal = new BigDecimal(fooBigInteger, fooInt);
+
+
+
// Strings
String fooString = "My String Is Here!";