1 / 139

Advanced Programming Language

Advanced Programming Language. MSc. Nguyen Cao Dat dat@cse.hcmut.edu.vn. Chapter I. Fundamentals of Programming. Content. Introduction Primitive Data Types and Operations Control Statements Loop Statements Methods. Introduction. Why Java?

varana
Télécharger la présentation

Advanced Programming Language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Advanced Programming Language MSc. Nguyen Cao Dat dat@cse.hcmut.edu.vn

  2. Chapter I Fundamentals of Programming

  3. Content • Introduction • Primitive Data Types and Operations • Control Statements • Loop Statements • Methods

  4. Introduction • Why Java? • - Java is a general purpose programming language. • - Java is the Internet programming language. • - Java can be used to develop Web applications. • - Java can also be used to develop applications for hand-held devices such as Palm and cell phone

  5. Introduction • Examples of Java’s Versatility • Standalone Application: TicTacToe • Applet: TicTacToe • Servlets: SelfTest Web site • Mobile Computing: Cell phones

  6. TicTacToe Standalone

  7. TicTacToe Applet

  8. SelfTest Website (using Java Servlets)

  9. PDA and Cell Phone

  10. Introduction • Java’s History • James Gosling and Sun Microsystems • Oak • Java, May 20, 1995, Sun World • HotJava • The first Java-enabled Web browser • Early History Website: http://java.sun.com/features/1998/05/birthday.html

  11. Introduction • Characteristics of Java • Java Is Simple • Java Is Object-Oriented • Java Is Distributed • Java Is Interpreted • Java Is Robust • Java Is Secure • Java Is Architecture-Neutral • Java Is Portable • Java Is Multithreaded • Java Is Dynamic www.cs.armstrong.edu/liang/intro6e/JavaCharacteristics.pdf

  12. Introduction • JDK(Java Development Kit) Versions • JDK 1.02 (1995) • JDK 1.1 (1996) • JDK 1.2 (1998) • JDK 1.3 (2000) • JDK 1.4 (2002) • JDK 1.5 (2004) a. k. a. JDK 5 or Java 5

  13. Introduction • JDK Editions • Java Standard Edition (J2SE) • J2SE can be used to develop client-side standalone applications or applets. • Java Enterprise Edition (J2EE) • J2EE can be used to develop server-side applications such as Java servlets and Java ServerPages. • Java Micro Edition (J2ME). • J2ME can be used to develop applications for mobile devices such as cell phones. This course uses J2SE to introduce Java programming.

  14. Introduction A Simple Java Program //This program prints Welcome to Java! public class Welcome { public static void main(String[] args) { System.out.println("Welcome to Java!"); } }

  15. Creating, Compiling, and Running Programs

  16. Compiling and Running Java from the Command Window • Set path to JDK bin directory • set path=c:\Program Files\java\jdk1.5.0\bin • Set classpath to include the current directory • set classpath=. • Compile • javac Welcome.java • Run • java Welcome

  17. Introduction • Anatomy of a Java Program • Comments • Package • Reserved words • Modifiers • Statements • Blocks • Classes • Methods • The main method

  18. Comments In Java, comments are preceded by two slashes (//) in a line, or enclosed between /* and */ in one or multiple lines. When the compiler sees //, it ignores all text after // in the same line. When it sees /*, it scans for the next */ and ignores any text between /* and */.

  19. Package The second line in the program (package chapter1;) specifies a package name, chapter1, for the class Welcome. IDE compiles the source code in Welcome.java, generates Welcome.class, and stores Welcome.class in the chapter1 folder.

  20. Reserved Words Reserved words or keywords are words that have a specific meaning to the compiler and cannot be used for other purposes in the program. For example, when the compiler sees the word class, it understands that the word after class is the name for the class. Other reserved words in Listing 1.1 are public, static, and void. Their use will be introduced later in the book.

  21. Modifiers Java uses certain reserved words called modifiers that specify the properties of the data, methods, and classes and how they can be used. Examples of modifiers are public and static. Other modifiers are private, final, abstract, and protected. A public datum, method, or class can be accessed by other programs. A private datum or method cannot be accessed by other programs. Modifiers are discussed in Chapter 6, “Objects and Classes.”

  22. Classes The class is the essential Java construct. A class is a template or blueprint for objects. To program in Java, you must understand classes and be able to write and use them. The mystery of the class will continue to be unveiled throughout this course. For now, though, understand that a program is defined by using one or more classes.

  23. Methods What is System.out.println? It is a method: a collection of statements that performs a sequence of operations to display a message on the console. It can be used even without fully understanding the details of how it works. It is used by invoking a statement with a string argument. The string argument is enclosed within parentheses. In this case, the argument is "Welcome to Java!" You can call the same println method with a different argument to print a different message.

  24. main Method The main method provides the control of program flow. The Java interpreter executes the application by invoking the main method. The main method looks like this: public static void main(String[] args) { // Statements; }

  25. Displaying Text in a Message Dialog Box you can use the showMessageDialog method in the JOptionPane class. JOptionPane is one of the many predefined classes in the Java system, which can be reused rather than “reinventing the wheel.” Source IMPORTANT NOTE: To run the program from the Run button, (1) set c:\jdk1.5.0\bin for path, and (2) install slides from the Instructor Resource Website to a directory (e.g., c:\LiangIR) . Run

  26. The showMessageDialog Method JOptionPane.showMessageDialog(null, "Welcome to Java!", “Display Message", JOptionPane.INFORMATION_MESSAGE));

  27. Identifiers • An identifier is a sequence of characters that consist of letters, digits, underscores (_), and dollar signs ($). • An identifier must start with a letter, an underscore (_), or a dollar sign ($). It cannot start with a digit. • An identifier cannot be a reserved word. (See Appendix A, “Java Keywords,” for a list of reserved words). • An identifier cannot betrue, false, ornull. • An identifier can be of any length.

  28. Variables // Compute the first area radius = 1.0; area = radius * radius * 3.14159; System.out.println("The area is “ + area + " for radius "+radius); // Compute the second area radius = 2.0; area = radius * radius * 3.14159; System.out.println("The area is “ + area + " for radius "+radius);

  29. Declaring Variables int x; // Declare x to be an // integer variable; double radius; // Declare radius to // be a double variable; char a; // Declare a to be a // character variable;

  30. Assignment Statements x = 1; // Assign 1 to x; radius = 1.0; // Assign 1.0 to radius; a = 'A'; // Assign 'A' to a;

  31. Declaring and Initializingin One Step • int x = 1; • double d = 1.4;

  32. Constants final datatype CONSTANTNAME = VALUE; final double PI = 3.14159; final int SIZE = 3;

  33. Numerical Data Types

  34. Numeric Operators

  35. Integer Division +, -, *, /, and % 5 / 2 yields an integer 2. 5.0 / 2 yields a double value 2.5 5 % 2 yields 1 (the remainder of the division)

  36. Remainder Operator Remainder is very useful in programming. For example, an even number % 2 is always 0 and an odd number % 2 is always 1. So you can use this property to determine whether a number is even or odd. Suppose today is Saturday and you and your friends are going to meet in 10 days. What day is in 10 days? You can find that day is Tuesday using the following expression:

  37. Scientific Notation Floating-point literals can also be specified in scientific notation, for example, 1.23456e+2, same as 1.23456e2, is equivalent to 123.456, and 1.23456e-2 is equivalent to 0.0123456. E (or e) represents an exponent and it can be either in lowercase or uppercase.

  38. Arithmetic Expressions is translated to (3+4*x)/5 – 10*(y-5)*(a+b+c)/x + 9*(4/x + (9+x)/y)

  39. Example: Converting Temperatures Write a program that converts a Fahrenheit degree to Celsius using the formula:

  40. Shortcut Assignment Operators Operator Example Equivalent += i += 8 i = i + 8 -= f -= 8.0 f = f - 8.0 *= i *= 8 i = i * 8 /= i /= 8 i = i / 8 %= i %= 8 i = i % 8

  41. Increment andDecrement Operators Operator Name Description ++var preincrement The expression (++var) increments var by 1 and evaluates to the new value in varafter the increment. var++ postincrement The expression (var++) evaluates to the original value in var and increments var by 1. --var predecrement The expression (--var) decrements var by 1 and evaluates to the new value in varafter the decrement. var-- postdecrement The expression (var--) evaluates to the original value in var and decrements var by 1.

  42. Increment andDecrement Operators, cont.

  43. Increment andDecrement Operators, cont. Using increment and decrement operators makes expressions short, but it also makes them complex and difficult to read. Avoid using these operators in expressions that modify multiple variables, or the same variable for multiple times Such as this: int k = ++i + i.

  44. Assignment Expressions and Assignment Statements Prior to Java 2, all the expressions can be used as statements. Since Java 2, only the following types of expressions can be statements: variable op= expression; // Where op is +, -, *, /, or % ++variable; variable++; --variable; variable--;

  45. Numeric Type Conversion Consider the following statements: byte i = 100; long k = i * 3 + 4; double d = i * 3.1 + k / 2;

  46. Conversion Rules When performing a binary operation involving two operands of different types, Java automatically converts the operand based on the following rules: 1.    If one of the operands is double, the other is converted into double. 2.    Otherwise, if one of the operands is float, the other is converted into float. 3.    Otherwise, if one of the operands is long, the other is converted into long. 4.    Otherwise, both operands are converted into int.

  47. Type Casting Implicit casting double d = 3; (type widening) Explicit casting int i = (int)3.0; (type narrowing) int i = (int)3.9; (Fraction part is truncated) What is wrong? int x = 5 / 2.0;

  48. Character Data Type Four hexadecimal digits. char letter = 'A'; (ASCII) char numChar = '4'; (ASCII) char letter = '\u0041'; (Unicode) char numChar = '\u0034'; (Unicode) NOTE: The increment and decrement operators can also be used on char variables to get the next or preceding Unicode character. For example, the following statements display character b char ch = 'a'; • System.out.println(++ch);

  49. Unicode Format Java characters use Unicode, a 16-bit encoding scheme established by the Unicode Consortium to support the interchange, processing, and display of written texts in the world’s diverse languages. Unicode takes two bytes, preceded by \u, expressed in four hexadecimal numbers that run from '\u0000' to '\uFFFF'. So, Unicode can represent 65535 + 1 characters. Unicode \u03b1 \u03b2 \u03b3 for three Greek letters

  50. Example: Displaying Unicodes Write a program that displays two Chinese characters and three Greek letters. DisplayUnicode Run

More Related