agenda

20
Agenda char N int Bitwise operators • Stings • homework

Upload: haracha

Post on 20-Jan-2016

42 views

Category:

Documents


0 download

DESCRIPTION

char N int Bitwise operators Stings homework. Agenda. Is this legal?. int aInt = 10; char aChar = ‘a’; aInt = aChar; => ok? yes aInt = ‘a’; => ok? yes aInt = 10 + aChar; => ok? yes int aInt = 10; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Agenda

Agenda

• char N int• Bitwise operators• Stings• homework

Page 2: Agenda

Is this legal?int aInt = 10;

char aChar = ‘a’; aInt = aChar; => ok? yes aInt = ‘a’; => ok? yes aInt = 10 + aChar; => ok? yesint aInt = 10;char aChar = aInt; => ok? no aChar=(char)aInt;char aChar = 10; => ok? No

Conclusion: assign a char or char literal to an int variable is ok, but not the other way around

Page 3: Agenda

char N Stringchar aChar = ‘A’ ;

String aStr = “B” ;aChar = aStr; => ok? aStr = aChar; => ok? aStr = aChar + “ “ ; => ok

•Conversion from char to string.•Conversion from string to char

aChar = aStr.CharAt(0);aChar = aStr.CharAt(1); => ok?

Page 4: Agenda

Bitwise operators• Applied to binary only• Boolean operators- && ||• Bitwise operators- & |• Bitwise AND - & 0 1 1

0 0 10 0 1

Page 5: Agenda

• Bitwise OR : |0 1 10 0 10 1 1

• Bitwise exclusive OR: (XOR) ^0 1 10 0 10 1 0

• Short circuit evaluation: the left operand is evaluated first. If the result of the entire expression can be determined by the value of the left operand, then no other operands will be evaluated

Page 6: Agenda

• Bitwise NOT- ~0 => 1 1 => 0

• AND (9010 & 10710 )

9010 0 1 0 1 1 0 1 0

10710 0 1 1 0 1 0 1 1

0 1 0 0 1 0 1 0• OR (9010 | 10710 )

9010 0 1 0 1 1 0 1 0

10710 0 1 1 0 1 0 1 1

0 1 1 1 1 0 1 1

Page 7: Agenda

• XOR ^ (9010 ^ 10710 )

9010 0 1 0 1 1 0 1 0

10710 0 1 1 0 1 0 1 1

0 0 1 1 0 0 0 1• NOT ~46 00000000 00000000 00000000 00101110 11111111 11111111 11111111 11010001 most significant bit(msb)

0 – positive1 - negative

Page 8: Agenda

Bitwise operations• Decimal shifting to the right

283.0 -> 28.3 dividing by 10• Decimal shifting to the left

283.0 -> 2830 multiplying by 10• Binary shifting to the right: >> 32 >> 3 shift the bits(representing number 7)

to the right 3 times 2*2*2=8 32/8 = 4• Binary shifting to the left: << 7 << 2 shift the bits to the left 2 times

Page 9: Agenda

A bitwise operation operates on one or more bit patterns or binary numerals at the level of their individual bits. It is a fast, primitive action directly supported by the processor, and is used to manipulate values for comparisons and calculations. On simple low-cost processors, typically, bitwise operations are substantially faster than division, several times faster than multiplication, and sometimes significantly faster than addition

Page 10: Agenda

Strings• Strings are always a big problem for

programmers, because to manipulate Strings can be very inefficient for the computer with regards to memory usage and processing time.

• Hence the String class which handles all issues that can occurs.

• Class String (java.lang.String)

Page 11: Agenda

• Sting declaration:String alpha = new String("abc"); => ok? String alpha = "abc"; => ok?

• String are immutable, can’t be changed.value of a String Object once created cannot be modified. Any modification on a String object creates a new String object.

• Until a String object is assigned a value, it refers to null. Calling a method from a null String object generates the exception NullPointerException.

String s1 = null; //s1 is a null reference String s2 = new String(); //s2 is an empty character

sequence

Page 12: Agenda

Concatenation operator• Int five = 5;• String state = “Hawaii-”;• String tvShow = state + five + “-0”;

What is the value of tvShow?

Date d1 = new Date(8, 2, 1947);Date d2 = new Date(2, 17, 1948);String s = “My birthday is “ + d2; => s?String s2 = d1 + d2; => ok?String s3 = d1.toString() + d2.toString(); => ok?

Page 13: Agenda

String methods• length() • substring(int start, int end)

returns a substring of the string, which startsat start position and ends one character beforethe end position.

• substring(int start)returns a substring of the string, which starts at start position and extends to the end of the string.

• toLowerCase() • toUpperCase()

Page 14: Agenda

• trim() returns a copy of the string with all leading and trailing spaces removed.

• replaceFirst(String str, String str2)returns a string with the first occurrence of strreplaced by str2.

• replaceAll(String str, String str2)returns a string with all occurrences of strreplaced by str2.

• indexOf(String str): “ABC”.indexOf(“B”)returns the integer corresponding to the location of the first occurrence of str in the string. Otherwise –1 is returned

Page 15: Agenda

String text;text = “HELlO";text = text.toLowerCase();System.out.println(text);

What do we call this? Pass by…

hello

HELLOtext

Page 16: Agenda

public static void main(String[] args){ String aStr="ABC"; changeStr(aStr); System.out.println(aStr); => ? char[] charArry={'A','B','C'}; for(char ele:charArry)System.out.print(ele); System.out.println((char)32); changeStr(charArry); for(char ele:charArry)System.out.print(ele); changeStr(charArry[0], charArry[1],charArry[2]);

}

Page 17: Agenda

public static void changeStr(String bStr){ bStr="CDE"; }public static void changeStr(char[] bStr){ bStr[0]='D';

bStr[1]='E';bStr[2]='F'; }

public static void changeStr(char a, char b, char c)

{ a=‘X';b=‘Y';c=‘Z';

}

Page 18: Agenda

WordGuess is played between the computer and a single player. The secret word is BRAIN. At the start of the game, six dashes are displayed (––––––), one for each letter of the word. The player is repeatedly prompted for a letter guess. When a letter matching one in the word is guessed, the letter replaces the corresponding dash. Letters may be entered as uppercase or lowercase. However, only uppercase letters should be displayed. If the player enters an exclamation point (!), it is game over. Alternatively, the player can continue to guess letters until the entire word is revealed. The games ends when player enters all the letters or palyer enters !

Page 19: Agenda

The WordGuess algorithm1. Display a row of dashes to represent the word.2. Prompt the user for a letter guess.3. If the letter guessed is part of the word, then display that letter in place of the corresponding dash.4. Repeat steps 2 and 3 until all the letters have been guessed or an exclamation point has been entered by the user.5. If an exclamation point has been entered, display “Game over”6. If the player correctly guesses the entire word or all the letters have been guessed, then display “Game over”

Page 20: Agenda

Homework 1. Read Barran’s chapter 1 and bring the

textbook to class.2. Finish the whole project “Word Guess”

and email me the source code