4. Operator & Assignment

download 4. Operator & Assignment

of 47

Transcript of 4. Operator & Assignment

  • 8/12/2019 4. Operator & Assignment

    1/47

  • 8/12/2019 4. Operator & Assignment

    2/47

    Topik

    Unary operator

    Arithmetic operator Shift operator: , dan >>> Comparison operator

    Bitwise operator: &, , dan |. Short Circuit operator Conditional operator : ? Assignment operator Operator lain : new, instance of Urutan pemrosesan

  • 8/12/2019 4. Operator & Assignment

    3/47

    The Unary Operators Dibutuhkan hanya satu operan.

    1. Operator increment dan decrement : ++

    dan - -2. Operator unary plus dan minus : + dan 3. Operator bitwise inversion : ~4. Operator boolean complement : !5. Cast : ()

  • 8/12/2019 4. Operator & Assignment

    4/47

    The Unary Operators: ++ dan - -

  • 8/12/2019 4. Operator & Assignment

    5/47

  • 8/12/2019 4. Operator & Assignment

    6/47

    The Unary Operators: + dan -1. X = -3;

    2. Y = +3;

    3. Z = -(Y+6);

  • 8/12/2019 4. Operator & Assignment

    7/47

    The Unary Operators The Bitwise Inversion Operator: ~

    converting all the 1 bits in a binary value to 0s and allthe 0 bits to 1s.Example:00001111 11110000

    The Boolean Complement Operator: ! inverts the value of a boolean expression.Example:

    ! t rue f al se! f al se t rue

  • 8/12/2019 4. Operator & Assignment

    8/47

  • 8/12/2019 4. Operator & Assignment

    9/47

  • 8/12/2019 4. Operator & Assignment

    10/47

  • 8/12/2019 4. Operator & Assignment

    11/47

  • 8/12/2019 4. Operator & Assignment

    12/47

  • 8/12/2019 4. Operator & Assignment

    13/47

    The Arithmetic Operators The Multiplication and Division Operators: * and /

    multiply or divide two integers, the result will be calculated using integerarithmetic in either int or long representation. Issues:

    Loses precision.i nt x = 7;i nt y = 4;i nt r esul t = x/ y;

    The result will be bigger than the maximum number (overflow)byt e x = 64;byt e y = 4;byt e r esul t = x*y;

  • 8/12/2019 4. Operator & Assignment

    14/47

    The Modulo Operator: % Adalah sisa pembagian Bisa diaplikasikan pada:

    Bilangan integer

    Bilangan floating - point

    Example:x = 7 % 4; / / so x = 3y = 7. 6 % 2. 9; / / so y = 1. 8

  • 8/12/2019 4. Operator & Assignment

    15/47

    The Addition and SubtractionOperators: + and -

    Digunakan untuk melakukan operasipenambahan dan pengurangan.

    Concatenation + bisa juga

    digunakan untuk menggabungkan 2 string

  • 8/12/2019 4. Operator & Assignment

    16/47

    Arithmetic Error Conditions Integer division by zero ( ArithmeticException)

    Floating-point calculations represent out-of-range values using the IEEE 754 infinity, minusinfinity, and Not a Number (NaN) values.

    Overflow

  • 8/12/2019 4. Operator & Assignment

    17/47

    The Shift Operators: Shift operator:

    > : sign right shift

    >>> : unsigned right shift Fundamentals of Shifting

    moving the bit pattern left or right.

    applied to arguments of integral types only. Pada operator >>: Nilai bit yang baruadalah 0

    Pada operator >> : Nilai bit yang barutergantung pada bit yang akan digeser, jikanilainya : 1 negatif, maka nilai baru adalah 1 0 positif, maka nilai baru adalah 0

  • 8/12/2019 4. Operator & Assignment

    18/47

  • 8/12/2019 4. Operator & Assignment

    19/47

  • 8/12/2019 4. Operator & Assignment

    20/47

  • 8/12/2019 4. Operator & Assignment

    21/47

    Operator >>>

  • 8/12/2019 4. Operator & Assignment

    22/47

  • 8/12/2019 4. Operator & Assignment

    23/47

  • 8/12/2019 4. Operator & Assignment

    24/47

  • 8/12/2019 4. Operator & Assignment

    25/47

    The Comparison Operators Menghasilakn boolean result. Yang termasuk comparison operator:

    Ordinal comparison: =

    Theinstanceof

    Operator Tests the class of an object at runtime. The Equality Comparison Operators: ==

    and !=Test for equality and inequality, respectively,returning a boolean value.

  • 8/12/2019 4. Operator & Assignment

    26/47

    Ordinal comparisoni nt p = 9;i nt q = 65;i nt r = 12;f l oat f = 9. 0f ;char c = A ;

    Ber i kut i ni akan menghasi l kan t r ue:p < qf < qf rc >= q

  • 8/12/2019 4. Operator & Assignment

    27/47

    Operator instanceof Operator instance of digunakan untuk mengecek class suatu obyek.

    Pengecekan dilakukan pada saat runtime.i mpor t j ava. awt . *;

    cl ass Compar eTest {

    publ i c st at i c voi d mai n( St r i ng [ ] ar gs) {

    But t on b = new But t on( Exi t ) ;

    bool ean compar e1 = b i nst anceof But t on;

    bool ean compar e2 = b i nst anceof Componenet ;

    Syst em. out . pr i nt l n( I s b a But t on? + compar e1)

    Syst em. out . pr i nt l n( I s b a Component ? + compar e2)

    }

    }

  • 8/12/2019 4. Operator & Assignment

    28/47

    Operator instanceof Hasil:

    I s b a But t on? t r ue

    I s b a Component ? t r ue

    Argumen sebelah kiri adalah object referenceexpression.

    Argumen sebelah kanan adalah class, interface, atauarray

  • 8/12/2019 4. Operator & Assignment

    29/47

    Equality operators Equality can be tested with the operators

    equals and not equals:= = equals!= not equals

    There are four different types of entitiesthat can be tested:

    Numbers Characters Boolean primitives Reference variables to object

  • 8/12/2019 4. Operator & Assignment

    30/47

    Equality for Primitivesclass ComparePrimitives{

    public static void main(String [] args) {System.out.println(a ==a);

    System.out.println(a ==b);System.out.println(5 != 6);System.out.println(5.0 == 5L);System.out.println(true==false);

    }}

  • 8/12/2019 4. Operator & Assignment

    31/47

  • 8/12/2019 4. Operator & Assignment

    32/47

    The Bitwise Operators: &, ^, and | Provide logical AND, OR and XOR operations

    on integral data types.

  • 8/12/2019 4. Operator & Assignment

    33/47

  • 8/12/2019 4. Operator & Assignment

    34/47

    |

    |

  • 8/12/2019 4. Operator & Assignment

    35/47

  • 8/12/2019 4. Operator & Assignment

    36/47

    Binary Operators: &, |, and ^ AND, OR and XOR operations on logical data types. Semua operan akan dieksekusi.

    Operator & True & True = True True & False = False False & True = False False & False = False

    Operator | True & True = True True & False = True False & True = True False & False = False

    Operator True & True = False True & False = True False & True = True False & False = False

  • 8/12/2019 4. Operator & Assignment

    37/47

    The Short-Circuit Logical Operators Operators && and || Applicable only to boolean values and not integral

    types. For an AND operation, if one operand is false, the

    result is false, without regard to the other operand.

    For an OR operation, if one operand is true, the resultis true, without regard to the other operand.

    Jadi, untuk nilai boolean x:

    false && X = false true || X = true

  • 8/12/2019 4. Operator & Assignment

    38/47

  • 8/12/2019 4. Operator & Assignment

    39/47

  • 8/12/2019 4. Operator & Assignment

    40/47

  • 8/12/2019 4. Operator & Assignment

    41/47

  • 8/12/2019 4. Operator & Assignment

    42/47

    The Conditional Operator: ?: known as the ternary operator takes three operands code simple conditions (if/else) into a single expression.

    Example:a = x ? b : c;

    Aturan: Tipe data b, c dan a sebaiknya sama. Jika tidak sama? Terjadipromosi

    Tipe ekspresi x harus boolean Contoh nilai x (6>7) Jika ekspresi x benar maka akan menghasilkan b Jika ekspresi x salah maka akan menghasilkan c

  • 8/12/2019 4. Operator & Assignment

    43/47

  • 8/12/2019 4. Operator & Assignment

    44/47

    The Assignment Operators set the value of a variable or expression to

    a new value. Example:1. byt e x = 2;2. x += 3;3. a = b = c = 0; / / l egal .

  • 8/12/2019 4. Operator & Assignment

    45/47

    Operators Precedence

  • 8/12/2019 4. Operator & Assignment

    46/47

    Operators Precedence (cont.)

  • 8/12/2019 4. Operator & Assignment

    47/47

    Evaluation Order 1. i nt [ ] a = { 4, 4 };

    2. i nt b = 1;3. a[ b] = b = 0;

    Not e: unt uk assi gnment ber l akuat ur an asosi at i f dar i kanan kek i r i .

    1. a[ b] a[ 1]2. b = 03. a[ 1] = 0