summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdam <adam@adambard.com>2013-06-30 14:54:21 -0700
committerAdam <adam@adambard.com>2013-06-30 14:54:21 -0700
commit329eba20a5d64f72091a6b9faf2eff7e246d3d9d (patch)
tree7276a03b771b1cfe76516645dbf708becfa37e98
parentf7cd75c31bbca713cc66b3b46568472a2a1665fd (diff)
parentfbe0fb471896e55c40d734b082f5e994e6dc775d (diff)
Merge branch 'patch-2' of github.com:Jakehp/learnxinyminutes-docs into jakehp-patch-2
-rw-r--r--java.html.markdown377
1 files changed, 200 insertions, 177 deletions
diff --git a/java.html.markdown b/java.html.markdown
index 648b98bc..3208971d 100644
--- a/java.html.markdown
+++ b/java.html.markdown
@@ -6,6 +6,8 @@ author: Jake Prather
author_url: http://github.com/JakeHP
+filename: learnjava.java
+
---
Java is a general-purpose, concurrent, class-based, object-oriented computer programming language.
@@ -19,120 +21,120 @@ Multi-line comments look like this.
// Import Packages
import java.util.ArrayList;
-import package.path.here;
// Import all "sub-packages"
import java.lang.Math.*;
-// Your program's entry point is a function called main
-public class Main
+// Inside of the learnjava class, is your program's
+// starting point. The main method.
+public class learnjava
{
- public static void main (String[] args) throws java.lang.Exception
+ //main method
+ public static void main (String[] args)
{
- //stuff here
- }
-}
-
-// Printing, and forcing a new line on next print = println()
-System.out.println("Hello World");
-System.out.println("Integer: "+10+"Double: "+3.14+ "Boolean: "+true);
-// Printing, without forcing a new line on next print = print()
-System.out.print("Hello World");
-System.out.print("Integer: "+10+"Double: "+3.14+ "Boolean: "+true);
+
+System.out.println("->Printing");
+// Printing, and forcing a new line on next print, use println()
+System.out.println("Hello World!");
+System.out.println("Integer: "+10+" Double: "+3.14+ " Boolean: "+true);
+// Printing, without forcing a new line on next print, use print()
+System.out.print("Hello World - ");
+System.out.print("Integer: "+10+" Double: "+3.14+ " Boolean: "+true);
///////////////////////////////////////
// Types
///////////////////////////////////////
-
+System.out.println("\n\n->Types");
// Byte - 8-bit signed two's complement integer
// (-128 <= byte <= 127)
-byte foo = 100;
+byte fooByte = 100;
// Short - 16-bit signed two's complement integer
// (-32,768 <= short <= 32,767)
-short bar = 10000;
+short fooShort = 10000;
-//Integer - 32-bit signed two's complement integer
+// Integer - 32-bit signed two's complement integer
// (-2,147,483,648 <= int <= 2,147,483,647)
-int foo = 1;
+int fooInt = 1;
-//Long - 64-bit signed two's complement integer
+// Long - 64-bit signed two's complement integer
// (-9,223,372,036,854,775,808 <= long <= 9,223,372,036,854,775,807)
-long bar = 100000L;
+long fooLong = 100000L;
// (Java has no unsigned types)
-//Float - Single-precision 32-bit IEEE 754 Floating Point
-float foo = 234.5f;
+// Float - Single-precision 32-bit IEEE 754 Floating Point
+float fooFloat = 234.5f;
-//Double - Double-precision 64-bit IEEE 754 Floating Point
-double bar = 123.4;
+// Double - Double-precision 64-bit IEEE 754 Floating Point
+double fooDouble = 123.4;
-//Boolean - True & False
-boolean foo = true;
-boolean bar = false;
+// Boolean - True & False
+boolean fooBoolean = true;
+boolean barBoolean = false;
-//Char - A single 16-bit Unicode character
-char foo = 'A';
+// Char - A single 16-bit Unicode character
+char fooChar = 'A';
-//Make a variable a constant
+// Make a variable a constant
final int HOURS_I_WORK_PER_WEEK = 9001;
-//Strings
-String foo = "Hello World!";
+// Strings
+String fooString = "My String Is Here!";
// \n is an escaped character that starts a new line
-String foo = "Hello World!\nLine2!";
-System.out.println(foo);
-//Hello World!
-//Line2!
+String barString = "Printing on a new line?\nNo Problem!";
+System.out.println(fooString);
+System.out.println(barString);
-//Arrays
+// Arrays
//The array size must be decided upon declaration
//The format for declaring an array is follows:
//<datatype> [] <var name> = new <datatype>[<array size>];
-int [] array = new int[10];
-String [] array = new String[1];
-boolean [] array = new boolean[100];
+int [] intArray = new int[10];
+String [] stringArray = new String[1];
+boolean [] booleanArray = new boolean[100];
// Indexing an array - Accessing an element
-array[0];
+System.out.println("intArray @ 0: "+intArray[0]);
// Arrays are mutable; it's just memory!
-array[1] = 1;
-System.out.println(array[1]); // => 1
-array[1] = 2;
-System.out.println(array[1]); // => 2
+intArray[1] = 1;
+System.out.println("intArray @ 1: "+intArray[1]); // => 1
+intArray[1] = 2;
+System.out.println("intArray @ 1: "+intArray[1]); // => 2
-//Others to check out
-//ArrayLists - Like arrays except more functionality is offered,
+// Others to check out
+// ArrayLists - Like arrays except more functionality is offered,
// and the size is mutable
-//LinkedLists
-//Maps
-//HashMaps
+// LinkedLists
+// Maps
+// HashMaps
///////////////////////////////////////
// Operators
///////////////////////////////////////
+System.out.println("\n->Operators");
int i1 = 1, i2 = 2; // Shorthand for multiple declarations
// Arithmetic is straightforward
-i1 + i2; // => 3
-i2 - i1; // => 1
-i2 * i1; // => 2
-i1 / i2; // => 0 (0.5, but truncated towards 0)
+System.out.println("1+2 = "+(i1 + i2)); // => 3
+System.out.println("1+2 = "+(i2 - i1)); // => 1
+System.out.println("1+2 = "+(i2 * i1)); // => 2
+System.out.println("1+2 = "+(i1 / i2)); // => 0 (0.5, but truncated towards 0)
// Modulo
-11 % 3; // => 2
+System.out.println("11%3 = "+(11 % 3)); // => 2
// Comparison operators
-3 == 2; // => 0 (false)
-3 != 2; // => 1 (true)
-3 > 2; // => 1
-3 < 2; // => 0
-2 <= 2; // => 1
-2 >= 2; // => 1
+System.out.println("3 == 2? "+(3 == 2)); // => 0 (false)
+System.out.println("3 != 2? "+(3 != 2)); // => 1 (true)
+System.out.println("3 > 2? "+(3 > 2)); // => 1
+System.out.println("3 < 2? "+(3 < 2)); // => 0
+System.out.println("2 <= 2? "+(2 <= 2)); // => 1
+System.out.println("2 >= 2? "+(2 >= 2)); // => 1
// Bitwise operators!
+/*
~ Unary bitwise complement
<< Signed left shift
>> Signed right shift
@@ -140,100 +142,110 @@ i1 / i2; // => 0 (0.5, but truncated towards 0)
& Bitwise AND
^ Bitwise exclusive OR
| Bitwise inclusive OR
+*/
// Incrementations
int i=0;
-i++; //i = 1. Post-Incrementation
-++i; //i = 2. Pre-Incrementation
-i--; //i = 1. Post-Decrementation
---i; //i = 0. Pre-Decrementation
+System.out.println("\n->Inc/Dec-rementation");
+System.out.println(i++); //i = 1. Post-Incrementation
+System.out.println(++i); //i = 2. Pre-Incrementation
+System.out.println(i--); //i = 1. Post-Decrementation
+System.out.println(--i); //i = 0. Pre-Decrementation
///////////////////////////////////////
// Control Structures
///////////////////////////////////////
-
-if (false) {
- System.out.println("I never run");
- } else if (false) {
- System.out.println("I am also never run");
- } else {
- System.out.println("I print");
- }
+System.out.println("\n->Control Structures");
+if (false){
+ System.out.println("I never run");
+}else if (false) {
+ System.out.println("I am also never run");
+} else {
+ System.out.println("I print");
}
// While loop
-int i = 0;
-while(i < 100){
- System.out.println(i);
+int fooWhile = 0;
+while(fooWhile < 100)
+{
+ //System.out.println(fooWhile);
//Increment the counter
- i++;
+ //Iterated 99 times, fooWhile 0->99
+ fooWhile++;
}
+System.out.println("fooWhile Value: "+fooWhile);
// Do While Loop
-int i = 0;
-do{
- System.out.println(i);
+int fooDoWhile = 0;
+do
+{
+ //System.out.println(fooDoWhile);
//Increment the counter
- i++;
-}while(i < 100);
+ //Iterated 99 times, fooDoWhile 0->99
+ fooDoWhile++;
+}while(fooDoWhile < 100);
+System.out.println("fooDoWhile Value: "+fooDoWhile);
// For Loop
-int i;
+int fooFor;
//for loop structure => for(<start_statement>;<conditional>;<step>)
-for(i=0;i<100;i++){
- System.out.println(i);
+for(fooFor=0;fooFor<100;fooFor++){
+ //System.out.println(fooFor);
+ //Iterated 99 times, fooFor 0->99
}
+System.out.println("fooFor Value: "+fooFor);
// Switch Case
int month = 8;
- String monthString;
- switch (month) {
- case 1: monthString = "January";
- break;
- case 2: monthString = "February";
- break;
- case 3: monthString = "March";
- break;
- case 4: monthString = "April";
- break;
- case 5: monthString = "May";
- break;
- case 6: monthString = "June";
- break;
- case 7: monthString = "July";
- break;
- case 8: monthString = "August";
- break;
- case 9: monthString = "September";
- break;
- case 10: monthString = "October";
- break;
- case 11: monthString = "November";
- break;
- case 12: monthString = "December";
- break;
- default: monthString = "Invalid month";
- break;
- }
- System.out.println(monthString);
+String monthString;
+switch (month){
+ case 1: monthString = "January";
+ break;
+ case 2: monthString = "February";
+ break;
+ case 3: monthString = "March";
+ break;
+ case 4: monthString = "April";
+ break;
+ case 5: monthString = "May";
+ break;
+ case 6: monthString = "June";
+ break;
+ case 7: monthString = "July";
+ break;
+ case 8: monthString = "August";
+ break;
+ case 9: monthString = "September";
+ break;
+ case 10: monthString = "October";
+ break;
+ case 11: monthString = "November";
+ break;
+ case 12: monthString = "December";
+ break;
+ default: monthString = "Invalid month";
+ break;
+}
+System.out.println("Switch Case Result: "+monthString);
///////////////////////////////////////
-// Typecasting
+// Converting Data Types And Typcasting
///////////////////////////////////////
// Converting data
-//Convert String To Integer
+// Convert String To Integer
Integer.parseInt("123");//returns an integer version of "123"
-//Convert Integer To String
+// Convert Integer To String
Integer.toString(123);//returns a string version of 123
-//For other conversions check out the following classes:
-//Double
-//Long
-//String
+// For other conversions check out the following classes:
+// Double
+// Long
+// String
+// Typecsating
// You can also cast java objects, there's a lot of details and
// deals with some more intermediate concepts.
// Feel free to check it out here: http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html
@@ -243,66 +255,77 @@ Integer.toString(123);//returns a string version of 123
// Classes And Functions
///////////////////////////////////////
-// Classes Syntax shown below.
-// Function declaration syntax:
-// <public/private/protected> <return type> <function name>(<args>)
-// Here is a quick rundown on access level modifiers (public, private, etc.)
-// http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
-
-
-public class Bicycle {
-
- // Bicycle's Fields/Variables
- public int cadence;
- public int gear;
- public int speed;
-
- // Constructors are a way of creating classes
- // This is a default constructor
- public Bicycle(){
- gear = 1;
- cadence = 50;
- startGear = 1;
- }
-
- // This is a specified constructor (it contains arguments)
- public Bicycle(int startCadence, int startSpeed, int startGear) {
- gear = startGear;
- cadence = startCadence;
- speed = startSpeed;
- }
-
- // the Bicycle class has
- // four methods
- public void setCadence(int newValue) {
- cadence = newValue;
- }
+ // Read about the class, and function syntax before
+ // reading this.
+ System.out.println("\n->Classes & Functions");
+ // Call bicycle's constructor
+ Bicycle trek = new Bicycle();
+ // Manipulate your object
+ trek.speedUp(3);
+ trek.setCadence(100);
+ System.out.println("trek info: "+trek.toString());
+
+ // Classes Syntax:
+ // <public/private/protected> class <class name>{
+ // //data fields, constructors, functions all inside
+ // }
+ // Function Syntax:
+ // <public/private/protected> <return type> <function name>(<args>)
+ // Here is a quick rundown on access level modifiers (public, private, etc.)
+ // http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
+
+// This bracket ends the main method
+}
+ // The static field is only required because this class
+ // is nested inside of the learnjava.java class.
+ public static class Bicycle {
+
+ // Bicycle's Fields/Variables
+ public int cadence;
+ public int gear;
+ public int speed;
+
+ // Constructors are a way of creating classes
+ // This is a default constructor
+ public Bicycle(){
+ gear = 1;
+ cadence = 50;
+ speed = 5;
+ }
- public void setGear(int newValue) {
- gear = newValue;
- }
+ // This is a specified constructor (it contains arguments)
+ public Bicycle(int startCadence, int startSpeed, int startGear) {
+ gear = startGear;
+ cadence = startCadence;
+ speed = startSpeed;
+ }
- public void applyBrake(int decrement) {
- speed -= decrement;
- }
+ // the Bicycle class has
+ // four functions/methods
+ public void setCadence(int newValue) {
+ cadence = newValue;
+ }
- public void speedUp(int increment) {
- speed += increment;
- }
+ public void setGear(int newValue) {
+ gear = newValue;
+ }
-}
+ public void applyBrake(int decrement) {
+ speed -= decrement;
+ }
-//Now..Later in the main / driver of your java program
-public class Main
-{
- public static void main (String[] args) throws java.lang.Exception
- {
- //Call bicycle's constructor
- Bicycle trek = new Bicycle();
- //Manipulate your object
- trek.speedUp(3);
- trek.setCadence(100);
+ public void speedUp(int increment) {
+ speed += increment;
+ }
+
+ public String toString(){
+ return "gear: "+Integer.toString(gear)+
+ " cadence: "+Integer.toString(cadence)+
+ " speed: "+Integer.toString(speed);
+ }
+ // bracket to close nested Bicycle class
}
+// bracket to close learnjava.java
}
```