COP 3331 Object Oriented Analysis and Design Java Part I Reference Learning Java DDC publishing Herst, Yamauchi, Adler Java Part I // First Java Program // HelloWorld.java Public class HelloWorld { public static void main (String args[]) { System.out.println(“Hello World!”); } } Reference Learning Java DDC publishing Herst, Yamauchi, Adler Java Part I The following compile sequence occurs in Unix on Diablo. • gaitrosd@diablo:~/java>javac HelloWorld.java • gaitrosd@diablo:~/java>java HelloWorld • Hello World! Reference Learning Java DDC publishing Herst, Yamauchi, Adler Java Part I Primary Java Program Files File Definition Function javac.exe The Java compiler Converts Java source code into executable byte-code java.exe The Java enterpreter Runs the java program appletview.exe The applet view Locally runs a java applet from within an HTML file. jdb.exe The Java debugger Used to debug your Java applications and applets javah.exe The Java C header and stub file generator Creates C header files and C stub files from a java class, allowing your java and C code to interact. javap.exe The Java class file disassembler Converts a compiled class back into source code. javadoc.exe The Java API documentation generator Generates HTML documentation from Java Source Code Reference Learning Java DDC publishing Herst, Yamauchi, Adler Java Part I • General Java points to remember: – Java is case sensitive. – Use ; (semicolon) to terminate lines of code. – Use { } (curly braces) to indicate blocks of code for classes, methods, if statements, and loops. – Use spaces for indentation to make your code more readable. Reference Learning Java DDC publishing Herst, Yamauchi, Adler Java Part I Commen Type t // /* */ /** */ Function C++ Everything after the // and until the end of the line is treated as a comment. C Everything between the /* and */ is treated as a comment even if it crosses a line boundary. Hypertext Same as the C style comments except that these comments are read by Java’s documentation generator, which can generated HTML code from your comments. You can include HTML code in these comments. Reference Learning Java DDC publishing Herst, Yamauchi, Adler Java Part I • Memory variables: Storage space declared inside the computer on memory is allocated through memory variables and constants. • Java is strongly typed which means that memory variables can only hold their declared type of data. • There are two types of data catetories: – Simple types. – Object types. Reference Learning Java DDC publishing Herst, Yamauchi, Adler Java Part I Simple Types Type Size byte 8 bits char 16 bits (unsigned) short 16 bits int 32 bits long 64 bits float 32 bits double 64 bits boolean 1 bit Simple data types are not based on any other type. These sizes do not vary from machine to machine. All numeric types are signed except character. Java is case sensitive. Names of simple data types Are in lower case as shown. Reference Learning Java DDC publishing Herst, Yamauchi, Adler Java Part I Declaring Variables Format: data_type variable_name; data_type variable_name =value; Example: int j; char opt; short I; long L; float F; double D; boolean ok; // // // // // // // integer character short integer long integer real number 64 bit real number True/False int I,j,k,l; char Men = “A”; Reference Learning Java DDC publishing Herst, Yamauchi, Adler Java Part I Arithmetic Operators Operator Meaning Example - Unary negation x = -y; + Addition - Subtraction x=y-z-x; * Multiplication z = x * y; / Division z = x / y; % Modulus n = x % 3; ++ Increment by 1 x++; ++y; -- Decrement by 1 x--; x= y + z + x; Note: There is not operator for exponent. You must use the Math.pow() function for this task. Reference Learning Java DDC publishing Herst, Yamauchi, Adler Java Part I Comparison and logical Operators Operator Meaning Example != Not Equal if(x != 100) y=Z; < Less then if(x < 100) y=Z; <= Less then or equal to if(x <= 100) y=Z; > Greater then if(x > 100) y=Z; >= Greater then or equal if( <= 100) y=Z; to ! Not Answer = !Answer; & And if( x=100 & y==0 ) y=Z; | Or if( x=100 | y==0 ) y=Z; ^ Exclusive Or if( x=100 ^ y==0 ) y=Z; && Short circuit And if (x <3 && y==0) z=7; || Short circuit OR if (x <3 || y==0) z=7; On the short circuit operators, the next comparison is not accomplished if it does not affect the outcome. Reference Learning Java DDC publishing Herst, Yamauchi, Adler Java Part I Operator Meaning Example ~ Bitwise compliment x = ~x; //flips each bit. & Bitwise And if(y&2 == 2) | Bitwise Or x = 3|5; // result 7 ^ Bitwise Xor x=3^5; // Result 6 << Left Shift x = 1<<2; // Result 4 >> Sign propagating right shift I = 8>> 2; // Result 2 >>> Zero-fill right shift I = 8 >>>2;// result 2 Reference Learning Java DDC publishing Herst, Yamauchi, Adler Java Part I Conditional Execution if(condition) statement; if(condition) { statement1; statement 2; statemetn 3; etc; } Reference Learning Java DDC publishing Herst, Yamauchi, Adler Java Part I if(condition) { statement1; statement2; } else { statement1; statement2; } Reference Learning Java DDC publishing Herst, Yamauchi, Adler Java Part I Switch Statements switch (expression) { case value1: statements; case value2: statements; ... default: statements; } switch (input_char) { case ‘y’: System.out.print(“Entered y”); case ‘n’: System.out.print(“Entered n”); default: System.out.print(“Don’t know”); } Reference Learning Java DDC publishing Herst, Yamauchi, Adler Java Part I Loops for (initialize; condition; increment) { statements; statements; } example: for (i=1; i<100; i++) { System.out.print(i); } Reference Learning Java DDC publishing Herst, Yamauchi, Adler Java Part I while (condition) { statements; statements; } while (J < 100) { { J = J + 1; System.out.print(J); } Reference Learning Java DDC publishing Herst, Yamauchi, Adler Java Part I Command Line Arguments: In all Java applications, the main() function accepts an argument, an array of strings called args[]; This array contains command line arguments. For instance, if you entered the following on the HelloWorld program: java HelloWorld Arg1 Arg2 “Hello Again” The args.length would equal three (3). and the contents would be: args[0] -> “Arg1” args[1] -> “Arg2” args[2] -> “Hello Again” Reference Learning Java DDC publishing Herst, Yamauchi, Adler