บทที่ 4. ตัวดําเนินการ...
Transcript of บทที่ 4. ตัวดําเนินการ...
![Page 1: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/1.jpg)
บทที ่4. ตวัดําเนินการ(Operators)
อาจารย นัฐพงศ สงเนียมhttp://[email protected]@hotmail.com
Lec04_Operators_Last_Updated_24_12_2560.pdf
![Page 2: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/2.jpg)
Reviews/ทบทวนเนือ้หา
• ชนิดขอมูลพืน้ฐาน Primitive DataType
• Keywords
• ขอกําหนดในการต้ังชื่อ
• การประกาศตัวแปร
![Page 3: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/3.jpg)
Primitive Type
ชนิดขอมูลมีทั้งหมด 8 ชนิดดวยกัน และแบงเปน 4 กลุมดวยกนัคือ
• จํานวนเต็ม สวนใหญใชเก็บขอมูลจํานวนเต็ม ไดแก byte, short, int ,long
• จํานวนจริง ใชเก็บขอมูลที่เปนจุดทศนิยม ไดแก float, double
• ขอมูลตัวอักษร ใชเก็บขอมูลที่เปนตัวอักษร ไดแก char
• ขอมูลแบบบลูีน เปนชนดิตรรกศาสตรไดแก boolean
![Page 4: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/4.jpg)
Primitive Type
![Page 5: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/5.jpg)
การประกาศตวัแปรรูปแบบ
ชนิดของตัวแปร ชือ่ตัวแปร;
เชน
- int number;
- long a2z;
- short num;
- char ch;
- double mm;
![Page 6: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/6.jpg)
การตั้งช่ือในภาษา Java (2)
ตัวอยางการตั้งชื่อท่ีถูกตองและไมถูกตอง
- int a2z;
- long a2z;
- short 1a;
- int a$4;
- int _char;
- int while ;
- int x,X ;
// ถูกตอง// ไมถูกตองเพราะช่ือซ้ํากบัขางบน// ไมถูกตองเพราะขึ้นตนดวยตัวเลข
// ถูกตอง// ถูกตองเพราะขึ้นตนดวย _// ไมถูกตองเพราะเปนคําสงวน
// ถูกตอง
![Page 7: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/7.jpg)
Agenda
Operators Casting การรับขอมูลทางหนาจอ
String ลําดับความสําคัญของ operators
Precedence of Operators
Term and Expression
![Page 8: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/8.jpg)
ตัวดําเนนิการ Operator
Operator คือสัญลักษณ หรอื keywords ที่ใชสําหรับนําคามา
คํานวณบางอยางใหไดเปนผลลัพธ ซึ่งจะเรยีกอินพุตของ operator วา
operand
Unary Operator ใช operand 1 ตัว
◦ Pre-fix เชน --y , ++x
◦ Post-fix เชน y-- , x++
Binary Operator ใช operand 2 ตัว เชน a + b , x / y , a = 5
![Page 9: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/9.jpg)
Term and Expression
Term คือคาหน่ึงคา อาจจะเปนคาคงที่ หรือ คาที่อยูในตัวแปร
Expression คือหนวยของโปรแกรมที่สามารถคํานวณออกมาเปน
คาคาหน่ึง ซึ่งอาจจะเปน term เดียว ๆ หรือประกอบขึ้นจากหลาย ๆ
term และ operator
7 X
X + 7Math.sqrt(X)
Y - Math.sqrt(X)A+b-5/2*4/6+7
ตวัอยา่ง เชน่
Term
Term
Expression
![Page 10: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/10.jpg)
Operator กลุมตาง ๆ Assignment Operators
◦ สําหรับกําหนดคา โดยใช operator =
Arithmetic Operators
◦ สําหรับการคํานวณทางคณิตศาสตร
Bit-wise Operators
◦ สําหรับกระทํากับ bits ของเลขจํานวนเต็ม
Relational Operators
◦ สําหรับการเปรียบเทียบ ใหผลลัพธเปนคา boolean
Logical Operators
◦ สําหรับใชกระทํากับขอมูลชนิด boolean
Conditional Operators
◦ สําหรับเปรียบเทียบแลวตัดสินใจทําประโยคที่กําหนดให
![Page 11: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/11.jpg)
Assignment Operators
ภาษา Java มี operators = สําหรับทําการกําหนดคา (assignment)
รูปแบบคําสั่ง
variable = [constance|expression];
ExampleX = ( a * a + 4.0 * b ) / 2.0;Y = 5;MyClass.name = “alovela”;
![Page 12: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/12.jpg)
ทดสอบโปรแกรม
class TestOperator1{public static void main(String [] args){ int x ,y ,z ;x = y = z = 1;System.out.println(x + "," + y +"," + z );x = (y = (z = z + 1 )+ 1 )+ 1;System.out.println(x + "," + y +"," + z );x = (y = 1) + (z = 1) ;System.out.println(x + "," + y +"," + z );//x = y = 1 + z = 1 ;
}}
![Page 13: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/13.jpg)
การสรางประโยคและการประมวลผลแบบเรียงลําดับ
class Test_Opt03 {public static void main(String[] args) {
double a, b, c;a = 1 + (Math.random() * 10);b = 1 + (Math.random() * 10);System.out.println("a = " + a + " and b = " + b);c = a + b; System.out.println("a + b = " + c);c = a - b; System.out.println("a - b = " + c);c = a * b; System.out.println("a * b = " + c);c = a / b; System.out.println("a / b = " + c);c = a % b; System.out.println("a % b = " + c);}
}
![Page 14: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/14.jpg)
Arithmetic Operators
Operators ใชสําหรับการคํานวณทางคณิตศาสตร ซึ่งจะมี
Operands และผลลัพธเปนตัวเลข จํานวนเต็มหรือทศนิยมก็ได แบงเปน
4 ประเภทคือ
Integer Arithmetic Operators
Floating-point Arithmetic Operators
Arithmetic Assignment Operators
Increment and Decrement Operators
![Page 15: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/15.jpg)
Integer Arithmetic Operators
Floating-point Arithmetic Operators
Integer Arithmetic Operators ไดแก + (บวก), - (ลบ), *
(คูณ), / (หาร) และ % (modulus) ที่ใชกระทํากบัเลขจํานวน
เต็มและจะไดผลลัพธเปนเลขจํานวนเต็ม
Floating-point Arithmetic Operators ไดแก + (บวก), -
(ลบ), * (คูณ), / (หาร) และ % (modulus) ที่ใชกระทํากับเลข
จํานวนทศนยิมและจะไดผลลัพธเปนเลขทศนิยม
![Page 16: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/16.jpg)
ตัวดําเนินการคณิตศาสตร (Arithmetic Operators)
Opt Integer Output Float Output
+ + 1 1 + 1.0 1.0
- - 2 -2 – 2.0 -2.0
ตัวดําเนินการเด่ียว(unary operator)
![Page 17: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/17.jpg)
ตัวดําเนินการคณิตศาสตร (Arithmatic Operators)
Opt Integer Output Float Output
+ 1 + 2 3 1.0 + 2.0 3.0
- 2 - 3 -1 2.0 – 3.0 -1.0
* 3 * 4 12 3.0 * 4.0 12.0
/ 24 / 5 4 24.0 / 5.0 4.8
% 16 % 7 2 16.0 % 7.0 2.0
ตัวดําเนินการคู(binary operator)
![Page 18: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/18.jpg)
ทดสอบโปรแกรม
System.out.println(1 + 2);…………System.out.println(2 - 3);………..System.out.println(3 * 4);System.out.println(6 % 7);
System.out.println(1.0 + 2.0);System.out.println(2.0 - 3.0);System.out.println(3.0 * 4.0);System.out.println(6.0 % 7.0);
System.out.println(2.0 - 3);System.out.println(3 * 4.0);
![Page 19: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/19.jpg)
Arithmetic Assignment Operators
Operator ที่ใชคาของตัวแปรตัวหน่ึงมากระทํากับ operand แลว
เก็บผลลัพธไวที่ตัวแปรตัวน้ัน โดยมีรูปแบบประโยคดังน้ี
<variable> <op> = <operand>;
Example
X += 1; // X = X + 1Y -= 5; // Y = Y - 5X /= 4; // X = X / 4
![Page 20: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/20.jpg)
Arithmatic Assignment Operators
op Form Meaning
+= x += y x = x + y
-= x -= y x = x – y
*= x *= y x = x * y
/= x /= y x = x / y
%= x %= y x = x % y
![Page 21: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/21.jpg)
ทดสอบโปรแกรม
int x = 1;x += 1; System.out.println(x);x *= 2; System.out.println(x);x -= 3; System.out.println(x);x /= 4; System.out.println(x);float y = 1f;y += 1; System.out.println(y);y *= 2; System.out.println(y);y -= 3; System.out.println(y);y /= 4; System.out.println(y);
![Page 22: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/22.jpg)
Increment and Decrement Operators
Operators สําหรับใชในการเพิ่มคาหรือลดคาของตัวแปรทลีะ 1 เชน
++x; จะมีความหมายวา x = x + 1; และ
--x; จะมีความหมายวา x = x – 1;
มีวิธใีช 2 แบบคือ
1. ใชแบบ prefix เชน ++x จะทําการบวกหนึ่งใหแก x กอนแลวจงึสงผลลัพธออกมาเปนคาที่ไดจากการกระทํา
2. ใชแบบ posfix เชน x++ จะเก็บคา x ตอนนั้นไวกอน แลวจึงทําการบวกหนึ่ง แลวจงึสงคา x ที่ไดจากการกระทําออกมาเปนผลลัพธ
![Page 23: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/23.jpg)
Increment and Decrement Operators
ตวัดําเนินการสําหรับเพิ่มคา่ ++
ตวัดําเนินการสําหรับลดคา่ --
int x = 10;int y;y = ++x;System.out.println(x);System.out.println(y);
int x = 10;int y;y = x++;System.out.println(x);System.out.println(y);
1111
1110
![Page 24: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/24.jpg)
ทดสอบโปรแกรมint a, b, x = 1, y = 1 ;
a = x++; b = ++y;
System.out.println(a + "," + b);
a = x--; b = --y;
System.out.println(a + "," + b);
…………1 2………………………………………1 0………………………..
![Page 25: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/25.jpg)
Bit-wise Operator
เปน Operator สําหรับกระทาํกับทุก ๆ bits ของ operands ที่เปน
ขอมูลเลขจํานวนเต็ม(ไดแก byte, short, int และ long) หรือเปน
ตัวอักษร char แบงออกเปน 2 กลุมคือ
Boolean Bit-wise Operators
Assignment Bit-wise Operators
![Page 26: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/26.jpg)
การใชคําส่ังทางคณิตศาสตรทีจ่าวามีให
ตัวอยางในการหาคาสมการยกกําลังสอง (Quadratic Equation) ที่อยูในรูป ax2 + bx + c
= 0 ซึ่งคํานวณไดจากการใชสูตร
aacbbx
242
1−+−
=
aacbbx
242
2−−−
=
![Page 27: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/27.jpg)
Boolean Bit-wise Operators
Op Meaning Example Result
~ Bitwise NOT ~(0110) 1001
& Bitwise AND 0011 & 0101 0001
| Bitwise OR 0011 | 0101 0111
^ Bitwise XOR 0011 ^ 0101 0110
<< Shift left 1011 << 2 1100
>> Shift right(sign bit) 1011 >> 2 1110
>>> Shift right(zero fill) 1011 >>> 2 0010
![Page 28: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/28.jpg)
Assignment Bit-wise Operators
op Form Meaning
&= x &= y x = x & y
|= x |= y x = x | y
^= x ^= y x = x ^ y
<<= x <<= y x = x << y
>>= x >>= y x = x >> y
>>>= x >>>= y x = x >>> y
![Page 29: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/29.jpg)
ทดสอบโปรแกรม
System.out.println(~2);
System.out.println(2&1);
System.out.println(2|1);
System.out.println(2<<1);
System.out.println(2<<2);
System.out.println(-4>>1);
System.out.println(-1>>>1);
![Page 30: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/30.jpg)
Comparison Operators
ไดแก ==, !=, >, <, >=, <= ใชทําการเปรียบเทียบคาของ
operands ทีมีชนิดขอมูลเปน byte, char, short, int, long, float และ
double สําหรับชนิดขอมูล boolean จะทําการเปรียบเทียบเทากับ
หรือ ไมเทากับไดเทาน้ัน
ผลลัพธจากการเปรียบเทียบจะไดเปนคา boolean
![Page 31: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/31.jpg)
ตัวดําเนินการเปรียบเทียบ(Comparison Operators)
Operator Meaning Example Result
> more than a > b false
< Less then a < b true
>= More than and equal a >= b false
<= Less than and equal a <= b true
== Equal a == b false
!= Not equal a != b true
int a = 0, b = 1;
![Page 32: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/32.jpg)
Logical Operators
เปน operat0rs ที่ใชกับ operands ที่มีชนิดขอมูลเปน boolean
เทาน้ัน และใหผลลัพธเปน boolean แบงเปน 3 กลุม
Boolean Logical Operators
◦ ไดแก & (AND), | (OR), ^ (XOR), ! (NOT)
Short-circuit Logical Operators
◦ ไดแก && (short-circuit AND) , || (short-circuit OR)
Assignment Logical Operators
◦ ไดแก &= , |=, ^=
![Page 33: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/33.jpg)
ตัวดําเนินการตรรกะ (Logical Operators)
Boolean Logical Operator& b = false & true false| b = false | true true^ b = false ^ true true! b = !true false
Short-circuit logical Operator&& b = false && true false|| b = true || true true
boolean b;
![Page 34: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/34.jpg)
ทดสอบโปรแกรม
1. System.out.println(1<2 & 4==1);
2. System.out.println(1<2 | 4==1);
3. System.out.println(!true ^ 1==1);
4. System.out.println(!(4!=1));
![Page 35: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/35.jpg)
• !(2==1) & (2 > 4) ……………False……….• (2==4) | (1 == 1) …………. True ……
![Page 36: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/36.jpg)
Conditional Operators
Operators ? ใชรวมกับ : โดยมีรูปแบบดังน้ี
ถาคาของ <condition> เปน true คาที่ไดจะเปน <expression 1>
แตถาเปน false คาที่ไดจะเปน <expression 2>
เชน System.out.println((a<b)? "aนอยกวาb":"aมากกวาหรือเทากับb" );
(<condition>)? <expression 1> : <expression 2>;
![Page 37: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/37.jpg)
ลําดับความสําคัญของ operators
Precedence of Operators[],(), op++, op--
++op,--p, +op, -op, ~, !
New, (type)op
*,/,%
+,-
<<,>>,>>>
<,>,>=,<=,instanceof
==,!=
&
^
|
&&
||
?:
=,+=,-=,*=,/=,%=,&=,^=,|=,<<=,>>=,>>>=
สาํคญัมาก
สาํคญันอ้ย
![Page 38: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/38.jpg)
Associativity of Operators
ลําดบัการกระทําของ operators ท่ีมีลําดบัความสําคญัเท่ากนั มีทัง้การทําจากซ้ายไปขวา และขวาไปซ้าย เรียกวา่ associativityขึน้อยูก่บัชนิดของ operator เช่น
operators = มี associativity ทางขวา คือจะทําจากขวามาซ้าย เช่น
a = b = c = 1 ; ทํางานดงันี ้ a = (b = (c = 1))operators + , - มี associativity ทางซ้าย คือจะทําจากซ้ายมาขวา
a + b – c + d ; ทํางานดงันี ้ ((a + b) – c) + d
![Page 39: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/39.jpg)
ทดสอบโปรแกรม
System.out.println(1 + 2 * 3 - 2);System.out.println((1 + 2) * (3 -2));System.out.println(2 * -5 - 17 % 3/ 2 + 26 * 2 + 4);
ทดลองใสว่งเล็บใหถ้กูตอ้งตามลําดบัของ Operator
![Page 40: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/40.jpg)
การแปลงชนิดขอมูล (Type Conversions)
เมื่อตองการดําเนินการทางคณิตศาสตรระหวาง operands ทีม่ีชนิด
ขอมูลที่แตกตางกัน จะตองแปลงชนิดขอมูลใหเปนชนิดเดียวกันกอน แบง
การแปลงออกเปน 2 ประเภท คือ
Implicit type conversion
◦ เปนการแปลงชนดิขอมูลท่ีภาษาจาวาทําใหโดยอัตโนมัติตามความเหมาะสม
Explicit type conversion (หรือ Casting)
◦ เปนการแปลงชนดิขอมูลท่ีผูเขียนโปรแกรมตองทําดวยตนเอง
![Page 41: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/41.jpg)
Implicit type conversion
Java จะทําการแปลงใหโดยอัตโนมัติOperand byte char short int long float double
byte int int int int long float double
char int int int int long float double
short int int int int long float double
int int int int int long float double
long long long long long long float double
float float float float float float float double
double double double double double double double double
ผลลัพธของการใชOperators รวมกัน Operand ชนิดตาง ๆ
![Page 42: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/42.jpg)
Explicit type conversion (หรือ Casting)
เปนการแปลงชนิดขอมูลที่ผูเขยีนกําหนดเอง
รูปแบบ
เชน a = (int)(c + b);
*** ควร casting ชนิดขอมูลจากคาที่เล็กกวาไปเปนคาที่ใหญกวา เพ่ือลดการสูญหายของขอมูล
(<type>)<operand>
ชนิดข้อมูล ขนาด
ข้อมูล
double
float
long
int
short
byte
ขนาดใหญ่
ขนาดเลก็
![Page 43: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/43.jpg)
ทดสอบโปรแกรม
float a = 1.0F, b = 2.5F;
int c;
double d;
d = a + b;
System.out.println("d = " + d);
c = (int)(a + b);
System.out.println("c = " + c);
![Page 44: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/44.jpg)
Casting
• เปนการแปลงชนิดของขอมูล (Type) จากชนิดหนึง่เปนอีกชนิดหนึง่
• รูปแบบ คือ
(target_type)variable;
target_type หมายถึง ชนิดขอมูลของตัวแปรที่ใชเปนตัว
แปรปลายทาง
variable หมายถึง ตัวแปร
![Page 45: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/45.jpg)
การ Casting (2)
- การแปลงจากชนิดขอมูลทีมี่ขนาดเล็กกวาไปเปนชนิดขอมูลที่มีขนาด
ใหญกวา
![Page 46: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/46.jpg)
- การแปลงจากชนิดขอมูลที่มีขนาดที่ใหญกวาไปเปนชนิดขอมูลทีม่ีขนาดเล็ก
กวา
การ Casting (3)
![Page 47: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/47.jpg)
public class Ex_cast{
public static void main(String args[]){
int n = 5; double m = 3.5;short p = (short)n;System.out.println((int)m);System.out.println((double)n ); System.out.println(p);
}}
3
5.0
5
![Page 48: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/48.jpg)
การรับขอมลูดวยคลาส Scanner
คลาส Scanner อยูใน package java.util.Scanner จึงตองมีการ import กอน
จากนั้นทําการสรางวัตถุจากคลาส Scanner โดยมีรูปแบบดังนี้
Scanner keyboard = new Scanner(System.in);
ตัวอยางการใชงาน
int number;
Scanner keyboard = new Scanner(System.in);
System.out.print(“Enter an interger value: ”);
number = keyboard.nextInt();
![Page 49: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/49.jpg)
![Page 50: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/50.jpg)
![Page 51: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/51.jpg)
เมธอดในคลาส Scanner
เมธอด การทํางาน
nextByte() รับขอมูลเลขจํานวนเต็มชนิด Byte ทางแปนพิมพ
nextDouble() รับขอมูลเลขทศนิยมชนิด Double ทางแปนพิมพ
nextFloat() รับขอมูลเลขทศนิยมชนิด Float ทางแปนพิมพ
nextInt() รับขอมูลเลขจํานวนเต็มชนิด Int ทางแปนพิมพ
nextLine() รับขอมูลแบบ String ทางแปนพิมพ
nextLong() รับขอมูลตัวเลขชนิด Long ทางแปนพิมพ
nextShort() รับขอมูลตัวเลขชนิด Short ทางแปนพิมพ
![Page 52: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/52.jpg)
ทดสอบโปรแกรมรับขอมูลโดยใชคลาส Scanner
import java.util.Scanner; //เรยีกใชค้ลาส Scannerpublic class calnum {
public static void main(String[] args){int x,y; //ประกาศตัวแปร x และ y สําหรับเก็บเลขจํานวนเต็มScanner in = new Scanner(System.in); //สรา้งออบเจ็กต ์in สําหรับรับขอ้มลูSystem.out.print("Input Number 1 : ");x = in.nextInt(); //รับตัวเลขจํานวนเต็มมาเก็บในตัวแปร xSystem.out.print("Input Number 2 : ");y = in.nextInt(); //รับตัวเลขจํานวนเต็มมาเก็บในตัวแปร ySystem.out.println(x + " + " + y + " = " + (x+y) ); //แสดงผลการบวก
} }
![Page 53: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/53.jpg)
ทดสอบการหาพื้นที่สามเหลี่ยม
import java.util.Scanner;public class FindTriangle {public static void main(String[] args) {
double height = 0 , base = 0 , result = 0;Scanner input = new Scanner(System.in);System.out.println("โปรแกรมหาพืน้ทีส่ามเหลีย่ม");
System.out.println("กรณุาป้อนความสงู "); height = input.nextDouble();
System.out.println("กรณุาป้อนความยาวฐาน "); base = input.nextDouble();
result = 0.5 * height * base;System.out.println("พืน้ทีส่ามเหลีย่ม = " + result );}
}
![Page 54: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/54.jpg)
เครื่องหมายทางคณิตศาสตร
(Arithmetic Operators)
เคร่ืองหมาย ความหมาย ตวัอย่าง
+
-
*
/
%
การบวก
การลบ
การคูณ
การหาร
การหารเอาแต่
เศษ
x+y
x-y
x*y
x/y
x%y
![Page 55: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/55.jpg)
ลาํดบัความสําคญัของตวัดาํเนินการ
ลาํดับที่ เคร่ืองหมาย
12345
( )++,--*, /, %+, -+=, -=, /=, %=
![Page 56: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/56.jpg)
public class Ex_arit{
public static void main(String args[]){
int n = 6; int m = 34;
double p,q;p = m / n;q = m%n;System.out.println(n+m);System.out.println(n-m);System.out.println(n*m);System.out.println(p);System.out.println(q);System.out.println(m/n);System.out.println(m%n);
}}
40, -28, 204, 5.0, 4.0
![Page 57: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/57.jpg)
การคํานวณแบบยอ
เคร่ืองหมาย ตวัอย่าง ความหมาย
+=-=*=/=
%=++
--
x+=5x-=5x*=5x/=5
x%=5x++++xx----x
x=x+5x=x-5x=x*5x=x/5
x=x%5x=x+1x=x+1x=x-1x=x-1
![Page 58: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/58.jpg)
public class Ex_short{
public static void main(String args[]){
int n = 10,m = 5,o=4,p=15;n++; o = --o;m+=5; p *= 3;System.out.println(n);System.out.println(o);System.out.println(m);System.out.println(p);
}}
n = 11
o = 3
m = 10
p= 45
![Page 59: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/59.jpg)
public class Ex_short{
public static void main(String args[]){
int n = 10,m = 5,o,p,q;n++; m+=5;
o = n*m;p = n*m++; q = n*++m;
System.out.println(n);System.out.println(m);System.out.println(o);System.out.println(p);System.out.println(q);
}} n = 11 , m = 12 , o = 110 , p= 110 ,q = 132
// n = 11// m = 10
// before m = 10 , after m = 11// m = 12
![Page 60: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/60.jpg)
เครื่องหมายเปรียบเทียบ
เครื่องหมาย ความหมาย ตัวอยาง
>
>=
<
<=
==
!=
มากกวา
มากกวาหรือเทากับ
นอยกวา
นอยกวาหรือเทากับ
เทากับ
ไมเทากับ
x>y
x>=y
x<y
x<=y
x==y
x != y
![Page 61: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/61.jpg)
เครื่องหมายตรรก (Logical Operators)
เคร่ืองหมาย && (AND)
![Page 62: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/62.jpg)
เครื่องหมาย || (OR)
![Page 63: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/63.jpg)
เครื่องหมาย ! (NOT)
![Page 64: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/64.jpg)
public class Ex_double
{
public static void main(String args[])
{
int n = 5;
int m = 3;
System.out.println(n>m);
System.out.println(n<=m);
System.out.println(n>= m&&m<n);
System.out.println(!(n<=m || n<m));
}
true
false
true
true
![Page 65: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/65.jpg)
String
เปน class หนึ่ง ใน Package ของ java ชื่อ java.lang ทํา
หนาที่ในการเก็บขอมูลที่เปน “ชุดของตัวอักษร” ซ่ึงสามารถเก็บ
ขอมูลไดมากกวา 1 ตัวอักษร
7.1 การสราง String มีหลายรูปแบบ แตที่ใชสะดวกคือ
การกําหนดคาลงไปในตัวแปร เชน String mess = “Gozzila”;
7.2 การใช Length เปนการหาความยาวของขอมูลที่
เก็บในตัวแปร ไดโดยใช Method ชือ่ “length()” เชน
int n = fname.length();
![Page 66: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/66.jpg)
ตัวอยาง
class Ex_string
{
public static void main(String[] args)
{
String fname = “Kingdom";
int n = fname.length();
System.out.println(n);
}
}
![Page 67: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/67.jpg)
String
7.3 การใช charAt เปนการหาคาของขอมูล ณ ตําแหนง
ตัวอักษรที่ระบุของขอมูลที่เก็บในตัวแปร ไดโดยใช Method ชื่อ
“charAt()” เชน
fname.charAt(4);
7.4 การใช toLowerCase เปนการเปล่ียนตัวอักษรใหเปนตัว
เล็กทั้งหมด ไดโดยใช Method ชื่อ “toLowerCase()” เชน
fname.toLowerCase();7.5 การใช toUpperCase เปนการเปล่ียนตัวอกัษรใหเปนตัว
ใหญทั้งหมด ไดโดยใช Method ชือ่ “toUpperCase()” เชน
fname.toUpperCase();
![Page 68: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/68.jpg)
7.6 การใช Substring
เปนการดึงขอความเพียงบางสวนที่เกบ็ในตัวแปรแบบ String มาใชงานโดยใช Method “substring()” ตัวอยาง
String mess = “Gozzila”;
String sub = mess.substring(0,4);
คําตอบคือ Gozz (0,4) คือ เริ่มต้ังแตตัวแรกจนถึงตัวที่ 4
![Page 69: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/69.jpg)
7.3 การเชื่อมตอขอความ (Concatenation)
การเชื่อมตอขอความโดยใชเครื่องหมาย +
ตัวอยาง
String mess = “Hello”;
String mess1 = “Gozzila”;
String name = mess + “ “ + mess1;
System.out.println(name.length());
![Page 70: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/70.jpg)
การรับขอมูลทางจอภาพ
1. การใช System.in.read
- เปนการรบัขอมูลที่ปอนทางจอภาพไดเพียง 1 ตัวอกัษรเทานัน้ ซ่ึง
คําส่ังที่ใชคือ “System.in.read()”
- การเขียนโปรแกรมเพื่อรับขอมูลทางจอภาพนั้น จะตองใชคั่ง
“throws IOException” และ Package ชื่อ “java.io” รวมดวย
เสมอ เพื่อใชในการตรวจจับความผิดพลาดในการรับขอมูล
![Page 71: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/71.jpg)
import java.io.*;public class Ex_read {
public static void main (String args [] ) throws IOException {
char ch;System.out.print(“ Input 1 character : ”);
ch = (char)System.in.read();System.out.println(ch);
}}
![Page 72: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/72.jpg)
2. การใช BufferedReader รวมกับ InputStreamReader
การรับขอมูลในรูปแบบของ String โดยใชคําสั่ง 2 คําสั่ง ไดแก
- InputStreamReader reader = new InputStreamReader(System.in);
- BufferedReader stdin = new BufferedReader(reader);
แบบเขียนรวมกัน
BufferedReader stdin = new BufferedReader (new InputStreamReader (System.in))
Method ที่ใชรวมกัน
ช่ือ readLine ในการรบัขอมูลทางจอภาพดังน้ี
Input = stdin.readLine();
![Page 73: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/73.jpg)
import java.io.*;
public class Ex_read {
Public static void main (String args [] ) throws IOException{
BufferedReader stdin = new BufferedReader (new InputStreamReader (System.in));
String Input = “”;
System.out.print(“ Input message : ”);
Input = stdin.readLine();
System.out.println(“Your message is ”+ Input);
}
}
![Page 74: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/74.jpg)
การรับขอมลูเปนตัวเลข
Input = stdin.readLine();
int num = Integer.parseInt(Input);
![Page 75: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/75.jpg)
3. การใช Scanner
• เปน Class หนึ่งที่สามารถเรยีกใชไดใน JDK 1.5.0 ซึ่งเก็บอยูใน java.util
• รูปแบบการสรางการอานขอมูลจาก keyboard คือ
Scanner keyboard = new Scanner(System.in);
• รูปแบบการนําไปใชคือ
String input = keyboard.nextLine();
byte input = keyboard.nextByte();
short input = keyboard.nextShort();
int input = keyboard.nextInt();
long input = keyboard.nextLong();
double input = keyboard.nextDouble();
float input = keyboard.nextFloat();
![Page 76: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/76.jpg)
ตัวอยางโปรแกรมimport java.util.Scanner;public class hw3_1
{public static void main (String args [] ) {
int num1,num2,sum;Scanner keyboard = new Scanner(System.in);
System.out.print("Input Number1 : ");num1 = keyboard.nextInt();
System.out.print("Input Number2 : ");num2 = keyboard.nextInt();
sum = num1+num2;System.out.println("Sum : "+sum);
}}
![Page 77: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/77.jpg)
การกําหนดตําแหนงของทศนิยม
java.text.DecimalFormat dfm = new java.text.DecimalFormat("0.00");
dfm.format(ตัวแปล)
ตัวอยาง
double pi=3.1414;
java.text.DecimalFormat dfm = new java.text.DecimalFormat("0.00");
System.out.println(dfm.format(pi));
![Page 78: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/78.jpg)
แบบฝกหัด
1. กําหนดให
- short a = 350, int b=245, c=165
double d,h,f,g
- d = a/b , h = b%c , f = b-c , g = a-(b+c)
จงหาคําตอบตอไปนี้
1.1) d+f > h+g
1.2) d / h <= f % g
1.3) d <= h || f > g
1.4) d-h <= h || !(f == g) && f*g !=g*f
![Page 79: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/79.jpg)
2. จงแปลงขอมูลตอไปนี้
2.1) byte b=67; // จงแปลงเปน int, double และ
float
2.2) double c=7.346 // จงแปลงเปน byte, short
และ float
3. เขียนโปรแกรมรับชื่อและนามสกุล
- รับชือ่และนามสกุลเปนตัวเล็ก
- หาความยาวท้ังหมด
- ใหพิมพชื่อและนามสกุลพรอมกัน โดยใหอักษรตัวแรกของชื่อ
และนามสกุลเปนตัวใหญ
![Page 80: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/80.jpg)
4. เขียนโปรแกรมหาพื้นทีว่งกลมและเสนรอบวง
- รับคา รัศมี
- สูตรพื้นที่ คือ ¶r2
- สูตรเสนรอบวง คือ 2 ¶ r
![Page 81: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/81.jpg)
5. เขียนโปรแกรมหาเงินเดือนสุทธิหลังจากหักภาษีแลว
- รับคา เงินเดือนและจํานวนช่ัวโมง
- OT ช่ัวโมงละ 150 บาท
- รวมเงินเดือนและคา OT แลวคิดภาษี 7%
- แสดงเงินเดือน,จํานวนช่ัวโมง,จํานวน OT ,ภาษี
และเงินเดือนสุทธิ
![Page 82: บทที่ 4. ตัวดําเนินการ (Operators)siam2dev.net/E_Learning/Java_Programming/Lec04_Operators_Last_… · บทที่ 4. ตัวดําเนินการ](https://reader034.fdocuments.net/reader034/viewer/2022050511/5f9c44c7d9e2f97ca55d99ef/html5/thumbnails/82.jpg)
ขอ 6.
สรางโปรแกรมแปลงหนวย โดยรบั Input ทาง
Keyboard ตั้งชื่อ Project และ Class วา DataConv
ดูอัตราการแปลงหนวยไดท่ีเว็บไซต
http://navy.in.th/dataconv.html
โดยเลือกแปลงหนวยอะไรก็ไดคนละ 1 หนวย