College Board A.P. Computer Science A Topics Program Design - Read and understand a problem's description, purpose, and goals. Procedural Constructs - Constant declarations ; Variable declarations Standard Data Stuctures - Simple data types (int, boolean, double) Vocabulary & Terms Reference Variable Keyword Identifier Data type int char double boolean Object Initializing a variable Assignment operator Basic Output Commands print() println() object / reference command / method System.out.print("Hello" System ); is the class name.out is an object that prints characters on the console window (black window on the screen). • println is a method, or behavior, that the System.out object carries out. • The characters enclosed in double quotation marks and are called a string. The string is printed in the console window. • Each statement in a program ends with a semicolon (;). OUTPUT Hello Try this in the interactions pane of Dr. Java. You should get the output to the left. Type the following into java: public class TestOutputs { public static void main(String [] args) { System.out.print("Hello"); System.out.print("Hello"); } } OUTPUT HelloHello public class TestOutputs { public static void main(String [] args) { System.out.println("Hello"); System.out.print("Hello"); } } OUTPUT Hello Hello Try the statements below in your TestOutputs program. Be sure to run each one and not any differences. Pay close attention to the difference between print and println. Java provides a facility for displaying special characters in a string. These special characters are indicated by placing a backslash (\) in the string. For example, since double quotation marks are used to indicate the start and end of a string, there is no obvious way to include quotation marks within a string. Therefore, the backslash must be used as in the statement: System.out.println(“You say \”Goodbye,\” and I say \“Hello.\””); Try this in the TestOutputs program. It should display: You say "Goodbye," and I say "Hello.“ The double quotation marks that follow the backslashes are displayed rather than interpreted as ending the string. The combination of symbols is called an escape character. The idea is that it escapes from the normal interpretation of characters in a string. Another special escape character is the end-of-line character. This is indicated by \n and can replace the use of –ln in println. For example: System.out.print(“This is the first line,\n”); System.out.print(“and this is the second line.”); Try this in the TestOutputs program. Displays: This is the first line, and this is the second line. \\ \“ \’ \n \t Prints out \ Prints out “ Prints outs ’ Goes to next line Tab(moves over 8 spaces System.out.println("\\hello\"/"); OUTPUT \hello"/ What is the output? (Attempt to answer the questions first, then type each into the interactions pane in Dr. Java to confirm your answers). System.out.println( “h\tello”); System.out.println( “hel\\lo\””); System.out.println( “hel\nlo”); What is a data type? byte long char short float boolean int double int num = 9; double total = 3.4; We will use int, double and boolean in this course. TYPE SIZE RANGE byte 8 bits -128 to 127 short 16 bits -32768 to 32767 int 32 bits -2 billion to 2 billion long 64 bits -big to +big Think about a light bulb. It has 2 states ON or OFF. The same principals can be applied to a computer. The electronic circuits are either On or Off. Different combinations of On and Off mean different things for the computer. For the computer On is 1, and Off is 0. A number system made up of 1’s and 0’s is known as the Binary Number System. We use the Decimal Number System: digits 0 – 9. What is a BIT? Each 1 or 0 is called a BIT. It is short hand… take the b at the start of binary and the it at the end of digit… BIT = Binary digIT. Memory consists of bits and bytes. 1 byte = 8 bits Every character on the keyboard has a binary digit associated with it in accordance with the UNICODES. Look at the following site: http://www.neurophys.wisc.edu/comp/docs/ascii/#table What is the Binary Number for the letter A? What about a? 7? The more bits you have the more you can store. int one = 120; int two = 987123; System.out.println(one); System.out.println(two); OUTPUT 120 987123 (Type the code above into the interactions pane in Dr. Java and check your output.) Type the following code into Dr. Java exactly as it is written. Compile the code and run the program. Are the results what you expected? //integer example public class Integers { public static { int int int void main(String args[]) one = 120; //legal assignment two = 987123; three = 999999999; System.out.println(one); System.out.println(two); three = three * 3; //creates an overflow error at runtime System.out.println(three); } } TYPE SIZE RANGE float 32 bits -big to +big double 64 bits -big to +big Float has 7 digits of precision and double has 15 digits of precision. We are talking about decimal numbers now! int can NOT store decimal numbers. double one = 99.57; double two = 3217; double three = 23.32; System.out.println(one); System.out.println(two); System.out.println(three); OUTPUT 99.57 3217.0 23.32 (type the code above into the interactions pane in Dr. Java and check your output.) Type the following program into Dr. Java exactly as it is written. Compile the code and then run the program. Are the results what you would have expected? //real number example public class Reals { public static void main(String args[]) { double one = 99.57; double two = 3217; System.out.println(one); System.out.println(two); } } Characters store letters. char let = ‘A’; char is a 16-bit unsigned integer data type. We use single quotes for character literals. We use double quotes for String literals… more than 1 character. char is a 16-bit unsigned int data type. For example, here is a 16 bit pattern: 000000000110011 char let = 65; ASCII VALUES YOU SHOULD KNOW!!! ‘A’ – 65 ‘a’ – 97 ‘0’ - 48 char alpha = 'A'; char ascii = 65; char sum = 'B' + 1; OUTPUT A A 67 C System.out.println(alpha); System.out.println(ascii); System.out.println('B'+1); //’B’ gets converted to its ASCII value //66 and then 1 is added to it. System.out.println(sum); //since sum holds 67 and it is a char, we //get C. Type the following program in Dr. Java exactly as it is written. Compile the code and run the program. Are the results what you expected? public class Char { public static void main(String args[]) { char alpha = 'A'; char ascii = 65; char sum = 'B' + 1; System.out.println(alpha); System.out.println(ascii); System.out.println('B'+1); //char is an integer type System.out.println(sum); } } The boolean data type can store true or false only. boolean heads = true; boolean tails= false; Type the following program into Dr. Java exactly as it is written. Compile the code and run the program. Are the results what you expected? public class BooleanTest { public static void main(String args[]) { boolean stop = true; boolean go = false; System.out.println( stop ); stop = go; System.out.println( go ); System.out.println( stop ); } } In JAVA, you have 8 primitive data types that take up very little memory. Everything else in Java in an Object. Strings are objects. String temp = "abc"; When we have values that should not change during the program, we make them constants. Use the keyword final to create a constant. Constants should be assigned a value upon creation. final int birthYear = 1976; For this program, birthYear will always be set to 1976. Strings are collections of characters. They are words, sentences, combinations of letters and numbers, etc. When declaring and creating an instance of any class, we follow this pattern: ClassName objectName = new ClassName(parameters); String name = new String (“Furman”); String literals: Actual Strings enclosed in double quotes. The String class is a special class. It is used so much, that we have some exceptions for how they can be created. String name = new String (“Furman”); OR String name = “Furman”; //whenever Java comes across a String literal, it automatically creates a String object. The first part String name declares name as a variable to hold a String object. The second part = “Furman”; or = new (“Furman”); creates a String object, and gives name the memory address. receiver = 57; receiver is assigned( = ) the value 57. In an assignment statement, the receiver is always on the left of the assignment symbol ( = ). Assignment statements examples : total = 10; amount = 100.34; You can initialize more than one variable in one statement if they have the same type. Just separate them using a comma. int number = 75, it=99; float taxrate = 7.75; char letter = ‘A’, newlet = ‘a’; boolean isprime = false; String sone = "abc"; Java is a strong typed language. As a result, you must be very careful to look at data types when assigning values. int one=90; char letter= ‘A’; char let= 65; one=letter; letter=let; one=let; int one = 90; double dec = 234.5; char letter = 'A'; System.out.println( one ); one = letter; //char to int System.out.println( one ); one = 'A'; //char to int System.out.println( one ); System.out.println( dec ); dec = one; //int to double System.out.println( dec ); System.out.println (one); one = dec; //double to int… Illegal System.out.println (one); OUTPUT 90 65 65 234.5 65.0 65 Error Type the following program into Dr. Java. Compile the code and run the program. Are the results what you expected? //strong typed language example public class MixingData { public static void main(String args[]) { int one = 95; double dec = 12.4; char letter = ‘B'; System.out.println( one ); one = letter; System.out.println( one ); //char to int one = 'A'; //char to int System.out.println( one ); System.out.println( dec ); dec = one; System.out.println( dec ); //int to double System.out.println( letter ); //letter = dec; //double to int - not legal //System.out.println( letter ); } }