Csci 142
Download
1 / 34

CSci 142 - PowerPoint PPT Presentation


  • 146 Views
  • Uploaded on

CSci 142. Data and Expressions. Data and Expressions. Topics Strings Primitive data types Using variables and constants Expressions and operator precedence Data conversions. Character Strings. A String consists of zero or more characters Represent a String literal with double quotes

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'CSci 142' - bairn


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Csci 142

CSci 142

Data and Expressions


Data and expressions
Data and Expressions

  • Topics

    • Strings

    • Primitive data types

    • Using variables and constants

    • Expressions and operator precedence

    • Data conversions


Character strings
Character Strings

  • A String consists of zero or more characters

  • Represent a String literal with double quotes

    "This is a string literal."

    "123 Main Street"

    "X"

    ""  this is called an empty String

  • Every string is an object in Java, defined by the Stringclass


Printing strings
Printing Strings

  • The ConsoleProgram class has two methods for printing:

    • print

    • println

  • Both accept String arguments

  • println inserts a line break, while print does not


Printing strings1

method

name

information provided to the method

(argument)

Printing Strings

println ("Whatever you are, be a good one.");

print ("Whatever you are, ");

print ("be a good one.");


String concatenation
String Concatenation

  • Concatenation is appending one string to the end of another

    • "Peanut butter " + "and jelly"

  • A string literal cannot be broken across two lines in a program


The operator
The + Operator

  • The + operator can be used for concatenating Strings or adding numbers

    • If either or both operandsare Strings, String concatenation is performed

      • println(“Good ” + 4 + “U”);

    • If both operands are numeric , it adds them

      • println(3+6);

  • The + operator is evaluated left to right, but parenthesescan be used to force the order

    • println(“Hi ” + 2 + 3);

    • println(“Hi ” + (2 + 3));


Escape sequences
Escape Sequences

  • How would we print the quote (") character?

  • The following line would confuse the compiler

    println ("I said "Hi" to you.");

  • An escape sequence is a series of characters that represents a special character

  • Begins with a backslash (\)

    println ("I said \"Hi\" to you.");



Variables

data type

variable name

Variables

  • A variable is a named memory location

  • A variable must be declared by specifying the variable's name and the type of information that it will hold

int count, temp, result;

int total;

Multiple variables can be declared in one statement


Variable names
Variable names

  • May contain letters or numbers, but may not start with a number

    • you2 - valid

    • 2you - not valid

  • May not contain a space or any special characters, except the underscore (_)

    • why_not - valid

    • why not? - not valid

  • Should use camel case

    • gpa, numCredits, totalClassCount


Variable initialization
Variable Initialization

  • A variable must be initialized before it can be used

  • A variable can be initializedin the declaration

double sum = 0.0;

int base = 32, max = 149;

  • A variable can be initialized after it is declared

double sum;

sum = 0.0;

int base, max;

base = 32;

max = 149;


Variable assignment
Variable Assignment

  • An assignment statement changes the value of a variable

  • Read “=” as gets

    • total gets 55

  • The value that was in total is overwritten

  • Values assigned to a variable must be consistent with the variable's declared type

  • Most current value of a variable is used

total = 55;

int base = 32;

println(base);

base = 45;

println(base);


Constants
Constants

  • A constant is similar to a variable except that its value cannot change during program execution

  • As the name implies, it is constant, not variable

  • The compiler will issue an error if you try to changethe value of a constant

  • In Java, use the keyword final to declare a constant

    final int MIN_HEIGHT = 69;


Why constants are cool
Why Constants are Cool

  • Give meaningto otherwise unclear literal values

    • MAX_LOAD means more than the literal 250

  • They facilitate program maintenance

    • If a constant is used in multiple places, its value need only be updated once

  • They formally establish that a value should not change, avoiding inadvertent errors



  • Numeric primitive data

    Type

    byte

    short

    int

    long

    float

    double

    Storage

    8 bits

    16 bits

    32 bits

    64 bits

    32 bits

    64 bits

    Min Value

    -128

    -32,768

    -2,147,483,648

    < -9 x 1018

    +/- 3.4 x 1038 with 7 significant digits

    +/- 1.7 x 10308 with 15 significant digits

    Max Value

    127

    32,767

    2,147,483,647

    > 9 x 1018

    Numeric Primitive Data

    • The difference between the various numeric primitive types is their size


    Csci 142
    char

    • A char variable stores a single character

    • Characters are delimited by single quotes:

      'a' 'X' '7' '$' ',' '\n'

    • Example declarations:

      char topGrade = 'A';

      char terminator = ';', separator = ' ';

    Note that a character variable can hold only one character, while a String can hold zero or more characters.


    Boolean
    boolean

    • Abooleanvalue represents true or false

    • The reserved wordstrue andfalse are the only valid values for a boolean type

      boolean done = false;


    Expressions
    Expressions

    • Arithmetic expressions use arithmetic operators:

    Addition +

    Subtraction -

    Multiplication *

    Division /

    Remainder %

    • If either or both operandsused by an arithmetic operator are floating point (decimal), then the result is a floating point


    Division and remainder
    Division and Remainder

    • If both operands to the division operator (/) are integers, the result is an integer

      • The fractional part is discarded

    14 / 3equals

    8 / 12equals

    • The remainder operator (%) returns the remainder after dividingthe second operand into the first

    14 % 3equals

    8 % 12equals


    Operator precedence
    Operator Precedence

    • Operators can be combined into complex expressions

      result = total + count / max - offset;

    • Operations have a well-defined precedence

      • Parentheses

      • Multiplication, division, and remainder

      • Addition, subtraction, and string concatenation

      • Assignment

    • Arithmetic operators with the same precedence are evaluatedfrom left to right


    Example
    Example

    answer = sum / 4 + MAX * lowest;

    4

    1

    3

    2

    The expression is evaluated and the result is stored in the variable on the left hand side


    Practice
    Practice

    int a=3, b=5, c=2;

    int answer;

    answer = a * b - c;

    answer = b + a * c;

    answer = b / a;

    answer = a / b;

    answer = b % a;

    answer = a % b;

    answer = b - a * b - c;

    answer = b - a / c;

    answer = (b - a) / c;

    answer = a * (b + c);


    Increment and decrement
    Increment and Decrement

    • The increment operator (++) adds one to its operand

    • The decrement operator (--) subtracts one from its operand

    • The statement count++;is equivalent tocount = count + 1;


    Increment and decrement1
    Increment and Decrement

    • The increment and decrement operators can be applied in postfix form:

      count++

    • or prefix form:

      ++count

    When used as part of a larger expression, the two forms can have different effects


    Assignment operators
    Assignment Operators

    • Often we perform an operation on a variable, and then store the result back into that variable

    • Example:

      • num = num + count;

    • This can be written using an assignment operator:

      • num += count;


    Assignment operators1

    Operator

    +=

    -=

    *=

    /=

    %=

    Example

    x += y

    x -= y

    x *= y

    x /= y

    x %= y

    Equivalent To

    x = x + y

    x = x - y

    x = x * y

    x = x / y

    x = x % y

    Assignment Operators

    • There are many assignment operators in Java, including the following:


    Data conversion
    Data Conversion

    • Sometimes it is convenient to convert data from one type to another

    • These conversions do not change the type of a variable or the value that's stored in it

      • They only convert a value as part of a computation

    • Conversions must be handled carefully to avoid losinginformation


    Data conversion1
    Data Conversion

    • widening conversions

      • Go from a small data type to a larger one

      • Example: short to an int

      • Safe

    • narrowing conversions

      • Go from a large data type to a smaller one

      • Example: int to a short

      • Can lose information

    • Types of conversion

      • Assignment conversion

      • Data conversion

      • Casting

    byte

    short

    int

    long

    float

    double

    narrowing conversions

    widening conversions


    Assignment conversion
    Assignment Conversion

    • Assignment conversion occurs when a value of one type is assigned to a variable of another

      double money;

      int dollars = 5;

      money = dollars;

    • Only wideningconversions can happen via assignment

    • The value and type of dollars did not change

    converts the value in dollars to a float


    Data conversion2
    Data Conversion

    • Promotion happens automatically in certain expressions

    • Example

      double sum = 5.0;

      int count = 3;

      double result = sum / count;

    countis

    Temporarilyconverted to a double


    Casting
    Casting

    • Casting is the most powerful, and dangerous, technique for conversion

    • May be used for both widening and narrowing conversions

    • To cast, the typeis put in parentheses in front of the value being converted

    • Example:

      int total=3, count=2;

      result = (double)total / count;


    Practice1

    iResult = num1 / num4;

    dResult = num1 / num4;

    iResult = num3 / num4;

    dResult = num3 / num4;

    dResult = val1 / num4;

    Practice

    • Given the following declarations, what result is stored in each of the statements?

      int iResult, num1=25, num2=40, num3=17, num4=5;

      double dResult, val1=17.0, val2=12.78;

    • dResult = (double)num1 / num2;

    • dResult = num1 / (double)num2;

    • iResult = (int)(val1 / num4);

    • dResult = (int)((double)num1/num2);

    • iResult = num3%num4;