CS 211 Java Basics

Post on 21-Feb-2016

37 views 0 download

description

CS 211 Java Basics. Today’s lecture. Review of Chapter 1 Go over homework exercises for chapter 1. Simple Java Program. public class HelloWorld { public static void main (String[] args ) { //our code will all go here… System.out.println ("Hello, World!"); } }. - PowerPoint PPT Presentation

Transcript of CS 211 Java Basics

CS 211Java Basics

Today’s lectureReview of Chapter 1Go over homework exercises for chapter

1

Simple Java Program

public class HelloWorld {public static void main (String[] args) {

//our code will all go here…System.out.println("Hello, World!");

}}Each word of this should make sense by the semester's end! For now it is boilerplate code—just the template we'll use to write code.

file: HelloWorld.java

WhitespaceWhitespace means the 'blank' characters:

space, tab, newline characters.White Space is (almost) irrelevant in Java.

Java does not care about indentationHowever, indentation is highly recommended!

Java uses curly braces, { and } to replace indentationFollow the indentation pattern you had for Python, for

readabilityThe computer will only care about { }, however

Good Whitespace Examplepublic class GoodSpacing {

public static void main (String[] args) {int x = 5;int y = 12;System.out.println("x+y = "+

(x+y));}

}indentation levels for each block: class, method definitions, control structures…

Types!Java is strongly typed: every

expression has a specific type that is known at compile time.

Java has two kinds of types:primitive types (containing literal

values)reference types (containing objects of

some class). These are complex types.Variable types must be declared before

use

Type declarationpublic class GoodSpacing {

public static void main (String[] args) {int x = 5;int y = 12;System.out.println("x+y = "+

(x+y));}

}x is declared to be of type integerargs is declared to be a list of stringsmain is declared to return void (nothing)the println method returns void

Primitive Typesboolean: truth values: true, falsechar: a character in single-quotes: 'a' 'H' '\n' '5’integers: byte, short, int, longfloating point: float, double

void is technically not a type, but is used to represent when a method doesn’t return a value

Specific Integer TypesJava provides integral numbers of different 'widths' (different numbers of bits), and different ranges of values:

byte (8 bits) -128 to 127short (16 bits) -32768to 32767int (32 bits) -2147483648 to 2147483647long (64 bits) (-263) to (263-1)

char (16 bits) 0 to 65535 (all positive)(a character is actually stored in memory as an integer)

You don’t have to memorize any of these ranges, just be aware they exist

Floating Point NumbersApproximating the real #s: called floating point numbers. internal binary representation: like scientific notation.

S: sign bit. E: bias-adjusted exponent.M: adjusted fractional value.

value = (-1)S * 2E * MAlso representable: infinity (+/−), NaN ("not a number")float: 32-bit representation. (1 sign, 8 exp, 23 frac)double: 64-bit representation. (1 sign, 11 exp, 52 frac)

sign exponent fraction

Reference Typesstrings: Stringlanguage-defined: System, Mathuser-defined: Person, Address, Animalarrays: int[], String[], Person[], double[][]

int[] myArray = {1, 5, 7};

int[] otherArray = new int[];

Person jill = new Person();new is a keyword that we can use to create all reference typesarrays and strings are special in Java; other ways to create without new

Creating VariablesVariables must be declared and initialized before use.Declaration: creates the variable. It includes a type and a

name. The variable can only hold values of that type.int x; char c; double[][] grid; Person p;

Initialization: assign an expr. of the variable's type to it.x=7+8; c='M';

grid={{0,1},{2,3}}; p= new Person();

Both: we can declare and instantiate all at once:int x = 5;

char c = 'S';

Person p = new Person();

Castinga cast is a conversion from one type to another.

We cast things by placing the type in parentheses in front of it:

(int) 3.14

One use: forcing floating-point division.int x=3, y=4;double z = ((double)x)/y;System.out.println(z);

StringsCan be declared as

String cat = “Fluffy”;String cat = new String(“Fluffy”);

Can be added with + operator (concatenation)“Hello” + “ “ + “world”

Can mix typesString cat = “Hi” + 3 + ‘ ‘ + false;int number = 5 + 3;

Java CommentsThere are two main styles of comments in Java:Single-Line: from // to the end of the line.

Multi-Line: all content between /* and */, whether it spans multiple lines or part of one line.

JavaDoc: convention of commenting style that helps generate code documentation/API. More on this later.

Expressions, Statements

Expression: a representation of a calculation that can be evaluated to result in a single value. There is no indication what to do with the value.

Statement: a command, or instruction, for the computer to perform some action. Statements often contain expressions.

Basic Expressionsliterals (all our primitive types)operation expressions:

< <= > >= == != (relational ops)

+ - * / % (math ops)& | && || !(boolean ops)

parenthesized expressions ( expr )variables (can store primitive types or reference

types)method calls that return a value (are not void)

Programming TRAPOnly use == and != for primitive typesWe will learn how to compare reference types

later

Expression ExamplesLegal:x++ (3>x) && (! true)x%2==1 (x<y)&&(y<z)numPeople drawCard()(2+3)*4 y!=z

Illegal:x>y>z 4 && false x=3 7(x+y)

Basic StatementsDeclaration: announce that a variable exists.Assignment: store an expression's result into a

variable.method invocations (may be stand-alone)blocks: multiple statements in { }'scontrol-flow: if-else, for, while, … (next

lecture)

Statement Examplesint x; // declare xx = 15; // assignment to xint y = 7;// decl./assign. of yx = y+((3*x)−5); // assign. with operatorsx++; // increment (x = x+1)System.out.println(x);// method invocation

if (true):{ //if statementint x = 50;int y = 3;x = x + y;

}

Print Statementprintln is a method of the PrintStream class,

that can print anything on a single line:System.out.println(“Hello World!);

System.out is the standard buffer for printing to the screen

User InputCreate a Scanner object and get the next value: Scanner scan = new Scanner(System.in); int num = scan.nextInt();

String string = scan.nextLine();

System.in is the standard buffer for keyboard input

Questions?