week 4 friday what did we talk about last time examples
play

Week 4 - Friday What did we talk about last time? Examples switch - PowerPoint PPT Presentation

Week 4 - Friday What did we talk about last time? Examples switch statements Format: Multiple choice questions (~20%) Short answer questions (~20%) Programming problems (~60%) On Blackboard during class time No


  1. Week 4 - Friday

  2.  What did we talk about last time?  Examples  switch statements

  3.  Format:  Multiple choice questions (~20%)  Short answer questions (~20%)  Programming problems (~60%)  On Blackboard during class time  No notes  Closed book  No calculator

  4.  History of computers  Hardware  Software development  Basic Java syntax  Output with System.out.print()

  5. Mechanical Calculation Devices (2400BC onward) • Aid to human calculation • No stored program Mechanical Computers (1725 onward) • Punch card programming • Serious limitations Early Electronic Computers (1941 onward) • General purpose, stored program computers • Electronic, using vacuum tubes Microprocessors (1970's onward) • Succeeded transistors • Now billions of computations per second at a nanometer scale

  6. Often goes through phases similar to the following: 1. Understand the problem 2. Plan a solution to the problem 3. Implement the solution in a programming language 4. Test the solution 5. Maintain the solution and do bug fixes Factor of 10 rule!

  7. Source Machine Code Code Hardware 010101010 Computer! Solve a 010100101 Execute problem; 001110010

  8. Java Source Java Machine Hardware Code Code Bytecode class A { 101110101 010101010 Problem p; 101011010 010100101 JVM p.solve(); 110010011 001110010 }

  9.  The absolute smallest program possible, with a print statement public class Hello { public static void main(String[] args) { System.out.println("Hello, world!"); } }

  10.  For example, instead of one print statement, we can have several: System.out.println("Hello, world!"); System.out.println("Hello, galaxy!"); System.out.println("Goodbye, world!");  Each statement is an instruction to the computer  They are printed in order, one by one

  11.  Java is a case sensitive language  Class is not the same as class  System.out.println("Word!"); prints correctly  system.Out.Println("Word!"); does not compile

  12.  Java generally ignores whitespace (tabs, newlines, and spaces) System.out.println("Hello, world!");  is the same as: System.out. println( "Hello, world!");  You should use whitespace effectively to make your code readable

  13.  There are two kinds of comments (actually 3)  Single line comments use // System.out.println("Hi!"); // this is a comment  Multi-line comments start with a /* and end with a */ System.out.println("Hi!"); /* this is a multi-line comment */

  14.  Binary representation  Basic data types  Using Scanner for input  Numerical operations

  15.  The binary number system is base 2  This means that its digits are: 0 and 1  Base 2 means that you need 2 digits to represent two, namely 1 and 0  Each place in the number as you move left corresponds to an increase by a factor of 2 instead of 10

  16. Sixty fours 256's Sixteens Fours 11111100100 1024's Ones 512's Twos 128's Eights Thirty twos

  17.  We're focusing on five basic types of data in Java  These are:  int For whole numbers  double For rational numbers  boolean For true or false values  char For single characters  String For words  String is a little different from the rest, since you can call methods on it (and for other reasons)

  18. Type Sample Literals Kind of values -5 int 0 Integers 900031 3.14 Floating-point double -0.6 Numbers 6.02e23 true boolean Boolean values false 'A' char 'Z' Single characters '&' Sequences of "If you dis Dr. Dre" String "10 Sesquipedalians" characters

  19.  The int type is used to store integers (positive and negative whole numbers and zero)  Examples:  54  -893992  0  Inside the computer, an int takes up 4 bytes of space, which is 32 bits (1's and 0's)

  20.  You will use the int type very often  Sometimes, however, you need to represent numbers with a fractional part  The double type is well suited to this purpose  Declaration of a double variable is just like an int variable: double x;

  21.  Numbers are great  But, sometimes you only need to keep track of whether or not something is true or false  This is what the boolean type is for  Hopefully you have more appreciation for boolean s now  Declaration of a boolean variable is like so: boolean value;

  22.  Sometimes you need to deal with characters  This is what the char type is for  The char type only allows you to store a single character like '$' or 'q'  Declaration of a char variable is like so: char c;

  23.  The String type is different from the other types in several ways  The important thing for you to focus on now is that it can hold a large number of char s, not just a single value  A String literal is what we used in the Hello, World program String word;

  24. There are three parts to using Scanner for input Include the appropriate import statement so that your program 1. knows what a Scanner object is 2. Create a specific Scanner object with a name you choose Use the object you create to read in data 3.

  25.  Lots of people have written all kinds of useful Java code  By importing that code, we can use it to help solve our problems  To import code, you type import and then the name of the package or class  To import Scanner , type the following at the top of your program (before the class !) import java.util.Scanner;

  26.  Once you have imported the Scanner class, you have to create a Scanner object  To do so, declare a reference of type Scanner , and use the new keyword to create a new Scanner with System.in as a parameter like so: Scanner in = new Scanner(System.in);  You can call it whatever you want, I chose to call it in

  27.  Now that you've got a Scanner object, you can use it to read some data  It has a method that will read in the next piece of data that user types in, but you have to know if that data is going to be an int , a double , or a String  Let's say the user is going to input her age (an int ) and you want to store it in an int variable called years  We'll use the nextInt() method to do so: int years = in.nextInt();

  28.  Scanner has a lot of methods (ways to accomplish some tasks)  For now, we're only interested in three  These allow us to read the next int , the next double , and the next String , respectively: Scanner in = new Scanner(System.in); int number = in.nextInt(); double radius = in.nextDouble(); String word = in.next();

  29.  + adds  - subtracts  * multiplies  / divides (integer division for int type and fractional parts for double type)  % finds the remainder

  30.  Order of operations holds like in math int a = 31; int b = 16; int c = 1; int d = 2; a = (((b + c) * d) – a / b) / d;  You can use parentheses to clarify or change the precedence  Now a is 16

  31.  You cannot directly store a double value into an int variable int a = 2.6; // fails!  However, you can cast the double value to convert it into an int int a = (int)2.6;// succeeds! (a = 2)  Casting tells the compiler that you want the loss of precision to happen  You can always store an int into a double

  32.  Advanced math operations  boolean operations  char operations  String operations  Wrapper classes

  33.  The sin() method allows you to find the sine of an angle (in radians)  This method is inside the Math class  The answer that it gives back is of type double  To use it, you might type the following: double value = Math.sin( 2.4 );

  34.  In Java , the conversion of a double into an int does not use rounding  As in the case of integer division, the fractional part is dropped  For positive numbers, that's like using floor  For negative numbers, that's like using ceiling  The right way to do rounding is to call Math.round() double x = 2.6; int a = (int)Math.round(x); // rounds

  35. Return type Name Job double sin( double theta ) Find the sine of angle theta double cos( double theta ) Find the cosine of angle theta double tan( double theta ) Find the tangent of angle theta double exp( double a ) Raise e to the power of a ( e a ) double log( double a ) Find the natural log of a double pow( double a, double b ) Raise a to the power of b ( a b ) long round( double a ) Round a to the nearest integer double random() Create a random number in [0, 1) double sqrt( double a ) Find the square root of a double toDegrees( double radians ) Convert radians to degrees double toRadians( double degrees ) Convert degrees to radians

  36.  ! NOT  Flips value of operand from true to false or vice versa  && AND  true if both operands are true  || OR  true if either operand is true  ^ XOR  true if operands are different

  37.  char values can be treated like an int int number; number = 'a'; // number contains 97  It can be more useful to get the offset from a starting point char letter = 'r'; int number; number = letter – 'a' + 1; //number is 18

Recommend


More recommend