Difference between revisions of "W7003 The Basics"

From Coder Merlin
Line 46: Line 46:
b -= 1;
b -= 1;
</syntaxhighlight>
</syntaxhighlight>
== Implicit Casting ==
* Magnitude of numeric types is preserved (precision may be lost)
== Explicit Casting ==
* Required when magnitude of numeric type may not be preserved
== Division by Zero ==
* Compare and contrast integer vs floating point


== New ==
== New ==

Revision as of 22:49, 20 November 2019

Within these castle walls be forged Mavens of Computer Science ...
— Merlin, The Coder

First Steps[edit]

  • Emacs and Java
  • mkdir ~/AP-Practice
  • Within this directory, mkdir Hello, World
  • Create a new file, HelloWorld.java
    • Names matter - the public class name MUST match the file name
  • Compile with javac
  • An executable must have an entry point which is a public, static function named main, accepting a single argument, an array of strings.
  • Execute with java

Short Cuts[edit]

  • Compilation and Execution can be combined
  • All of this can occur within emacs
  • Emacs shortcut and up arrow
  • Define keyboard macro with f3 and f4, execute with f4
    • CTRL-X, CTRL-S, ALT-SHIFT-&, Up-Arrow, ENTER

Semicolons[edit]

Semicolons are required at the end of each statement

Static Typing[edit]

  • Java is statically typed
  • Variables must be declared before they can be used, including the type
  • Types define the possible values of the variable and the operations that may be performed upon it

Primitive Types[edit]

NOTE: All primitive types begin with a lowercase letter

  • byte (8-bit)
  • short (16-bit)
  • int (32-bit)
  • long (64-bit)
  • boolean
  • char (16-bit unicode)
  • float
  • double

Common Errors[edit]

int gpa;
gpa = 3.75;

float f = 10.5; 

byte b = -128;
b -= 1;

Implicit Casting[edit]

  • Magnitude of numeric types is preserved (precision may be lost)

Explicit Casting[edit]

  • Required when magnitude of numeric type may not be preserved

Division by Zero[edit]

  • Compare and contrast integer vs floating point

New[edit]

The new keyword is not used for primitive types

Primitive numeric types[edit]

  • Primitive numeric types overflow and underflow silently