Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language Chapter 2 : Primitive Data Type and Operation
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Introducing Programming with an Example Listing 2.1 Computing the Area of a Circle This program computes the area of the circle.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Identifiers F identifier คือคำที่มีความหมายในภาษา ซึ่งเป็น ตัวอักษรที่เรียงต่อเนื่องกัน ประกอบด้วย ตัวอักษร (letters), ตัวเลข (digits), ขีดเส้นใต้ (_) และ dollar signs ($). F identifier จะต้องขึ้นต้นด้วยตัวหนังสือ (letter), ขีดเส้น ใต้ (_), หรือ dollar sign ($). ไม่สามารถขึ้นต้นด้วย ตัวอักษรและคำที่เป็น reserved word. identifier ไม่สามารถเป็น true, false หรือ null.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved การประกาศตัวแปร 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;
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved ประโยคกำหนดค่า (Assignment Statements) x = 1; // Assign 1 to x; radius = 1.0; // Assign 1.0 to radius; a = 'A'; // Assign 'A' to a;
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Declaring and Initializing in One Step F int x = 1; F double d = 1.4;
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved ค่าคงที่ (Constants) รูปแบบ : final datatype CONSTANTNAME = VALUE; คัวอย่าง เช่น final double PI = ; final int SIZE = 3;
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Primitive Data Types char2 15 (0 to 255)16 bit booleantrue/false1 bit Name Range Storage Size
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Integer Division +, -, *, /, and % 5 / 2 yields an integer / 2 yields a double value % 2 yields 1 (the remainder of the division)
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Number Literals Number literal เป็นค่าคงที่ที่กำหนดให้ โปรแกรมโดยตรง ตัวอย่าง เช่น 34, 1,000,000 และ 5.0 ตัวอย่าง เช่น int i = 34; long x = ; double d = 5.0;
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Floating-Point Literals Floating-point literals คือค่าคงที่เลขทศนิยม โดยปกติในภาษาจาวาจะกำหนดให้เป็น double type value. ตัวอย่าง เช่น 5.0 ในภาษาจาวาจะเป็น double value, ไม่ใช่ float value. แต่เราสามารถทำเป็น float ได้โดยใส่อักษร f หรือ F, และสามารถทำ เป็น double ได้โดยใส่อักษร d หรือ D. ตัวอย่างเช่น 100.2f หรือ 100.2F สำหรับ float number, และ 100.2d หรือ 100.2D สำหรับ double number.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Arithmetic Expressions is translated to (3+4*x)/5 – 10*(y-5)*(a+b+c)/x + 9*(4/x + (9+x)/y)
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Example: Converting Temperatures Write a program that converts a Fahrenheit degree to Celsius using the formula:
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Shortcut Assignment Operators OperatorExampleEquivalent +=i += 8i = i + 8 -=f -= 8.0f = f *=i *= 8i = i * 8 /=i /= 8i = i / 8 %=i %= 8i = i % 8
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Increment and Decrement Operators OperatorNameDescription ++varpreincrementThe expression (++var) increments var by 1 and evaluates to the new value in var after the increment. var++postincrementThe expression (var++) evaluates to the original value in var and increments var by 1. --varpredecrementThe expression (--var) decrements var by 1 and evaluates to the new value in var after the decrement. var--postdecrement The expression (var--) evaluates to the original value in var and decrements var by 1.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Increment and Decrement Operators, cont.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Numeric Type Conversion Consider the following statements: byte i = 100; long k = i * 3 + 4; =>(i*3)+4 double d = i * k / 2; => (i*3.1)+(k/2)
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Type Casting Implicit casting double d = 3; Explicit casting int i = (int)3.0; int i = (int)3.9; What is wrong?int x = 5 / 2.0; => double x=5/2.0;
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Escape Sequences for Special Characters Description Escape Sequence Unicode Backspace \b\u0008 Tab \t\u0009 Linefeed \n\u000A Carriage return \r\u000D Backslash \\\u005C Single Quote \ ' \u0027 Double Quote \ " \u0022
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Casting between char and Numeric Types int i = ' a ' ; // Same as int i = (int) ' a ' ; char c = 97; // Same as char c = (char)97;
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved The String Type The char type only represents one character. To represent a string of characters, use the data type called String. For example, String msg = "Welcome to Java"; The String type is not a primitive type. It is known as a reference type.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved String Concatenation // Three strings are concatenated String msg = "Welcome " + "to " + "Java"; // String Chapter is concatenated with number 2 String s = "Chapter" + 2; // s becomes Chapter2 // String Supplement is concatenated with character B String s1 = "Supplement" + 'B'; // s becomes SupplementB
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Two Ways to Invoke the Method There are several ways to use the showInputDialog method. For the time being, you only need to know two ways to invoke it. One is to use a statement as shown in the example: String string = JOptionPane.showInputDialog(null, x, y, JOptionPane.QUESTION_MESSAGE)); where x is a string for the prompting message, and y is a string for the title of the input dialog box. The other is to use a statement like this: JOptionPane.showInputDialog(x); where x is a string for the prompting message.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Converting Strings to Integers input ที่รับมาจาก input dialog box จะเป็นชนิด String. ถ้า เราต้องการให้เป็นตัวเลข อาทิเช่น 123 เราต้องทำการ Convert String ที่รับเข้ามาเป็นตัวเลขโดยใช้ method parseInt สำหรับแปลงสตริงเป็น integer และ parseDouble สำหรับแปลงสตริงเป็น double. การ convert a string เป็น int value, เราสามารถใช้ static parseInt method ที่อยู่ใน Integer class ตัวอย่างเช่น : int i = Integer.parseInt(intString); เมื่อ intString เป็น numeric string อาทิเช่น “123”.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Converting Strings to Doubles การแปลง string เป็น double value, สามารถใช้ static parseDouble method ที่อยู่ใน Double class ตัวอย่างเช่น : double d =Double.parseDouble(doubleString); เมื่อ doubleString เป็น numeric string อาทิเช่น “123.45”.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved ข้อตกลงในการตั้งชื่อ Variables and method names: – ใช้อักษรตัวเล็กในการขึ้นต้น. ถ้าชื่อประกอบด้วย หลายๆคำต่อกัน, ให้ใช้อักษรตัวเล็กสำหรับคำ แรก, และขึ้นต้นด้วยอักษรตัวใหญ่สำหรับคำที่ ต่อกัน ตัวอย่างเช่น ตัวแปร radius and area, และ method computeArea.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved ข้อตกลงในการตั้งชื่อ ชื่อ Class : – ขึ้นต้นด้วยอักษรตัวใหญ่ ถ้าเป็นคำ ผสมให้ขึ้นด้วยอักษรตัวใหญ่. ตัวอย่างเช่น ชื่อ class ComputeArea. F Constants: – ตัวแปรที่ใช้สำหรับเก็บค่าคงที่ใน ภาษาจาวา จะเป็นตัวอักษรตัวใหญ่ ทั้งหมด. ตัวอย่างเช่น ตัวแปร PI และ MAX_VALUE
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Programming Errors F Compile Errors –Detected by the compiler F Runtime Errors –Causes the program to abort
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Compile Errors public class ShowSyntaxErrors { public static void main(String[] args) { i = 30;//variable i is no type System.out.println(i + 4); }
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Runtime Errors public class ShowRuntimeErrors { public static void main(String[] args) { int i = 1 / 0;//devid by zero }
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Programming Exercises F Class Work 0.25 point F ให้นักศึกษาเขียนโปรแกรมรับข้อมูลจากผู้ใช้โดย ใช้ JOptionPane และทำการคำนวณภาษีหัก ณ. ที่จ่าย 15% และทำการแสดงผลข้อมูลโดยใช้ JOptionPane ข้อมูล ดังนี้ ชื่อ สังกัดแผนก เงินเดือน จำนวนเงินภาษีหัก ณ. ที่จ่าย 15%