110 likes | 142 Views
Learn Java programming concepts similar to C++, like loops, conditionals, variable declarations, and handling exceptions. Discover unique Java features and tips on type checking, comments, output formatting, and input methods. Improve your Java skills by understanding the similarities and differences with C++.
E N D
Basic Java Programming CSCI 392 Week Two
Stuff that is the same as C++ • for loops and while loops for (int i=0; i<10; i++) • if else if (count != 10) • increment, decrement, etc result *= factorial--; • switch statements switch (answer) { case 'y': case 'Y': some stuff break; default: }
Java Statements Not in C++ • Labeling blocks of code outerloop: for (int i=0;…) for (int j=0; … if (something_bad) break outerloop; • Exception Handling try { value = x/y; } catch (ArithmeticException exceptvar) { System.out.println("Math Error"); }
Boolean boolean - 1 bit Integers byte - 8 bits short - 16 bits int - 32 bits long - 64 bits Characters char - 16 bits Floats float double Strings String still be careful when comparing Basic Data Types
Boolean - So what? This C++ feature is not legal in Java: int factorial, result = 1; . . . while (factorial) result *= factorial--; But neither is this common C++ error: if (count = 10) // not legal Java
Variable Declaration Oddities • You must initialize a variable before it can be used, so most declarations include an initialization. • You can set a "constant's" value at run time. final int count = getCount(); • Arrays require both a definition and declaration. • int[] myarray; myarray = new int[25]; • int[] myarray = new int[25]; • char[] name = {'B', 'o', 'b'};
Type Checking • You can assign small sized variables into bigger variables, but big variables don't fit into small variables. int X = 99; long Y = 0; Y = X; // legal X = Y; // not legal X = (int) Y; // legal
Comments • Just like C /* multi-line */ // single line • Except… /** document comment **/ • not thrown away by compiler
Simple Output • Printing to "Standard Output" System.out.print ("Hello " + name ); System.out.println (); • Formatted Output NumberFormat layout = NumberFormat.getNumberInstance(); layout.setMaximumFractionDigits(4); double x = 12.3, y = 45.6; String outstr = layout.format(x/y); System.out.println("x/y = " + outstr);
Input - not so simple import java.io.* ; public class array_test_1 { public static void main(String[] args) throws Exception { InputStreamReader stdio = new InputStreamReader(System.in); BufferedReader instream = new BufferedReader (stdio); int count; System.out.print ("Enter an integer: "); String indata = instream.readLine(); count = Integer.parseInt (indata); for (int i=0; i<count; i++) System.out.print (i + " "); System.out.println(); } } improvement: catch the NumberFormatException