上节课回顾 Java 的历史及特点 Java 开发工具 标识符和关键字 1. Java 开发工具 JDK 改变环境变量: PATH=%PATH%; c:\java\bin; CLASSPATH =.;c:\java\lib\classes.zip 编译命令: javac ,如 javac HelloWorldApp.java.

Slides:



Advertisements
Similar presentations
软件编程基础 一、程序的编辑 Java 源程序是以 Java 为后缀的简单的文本文件,可以用各种 Java 集成开发环境中的源代码编辑器来编写,也可以用其他文 本编辑工具,如 Windows 中的记事本或 DOS 中的 EDIT 软件等。 利用文字编辑器编写下列程序 public class Hello.
Advertisements

Java 程序分类 Java Application :是完整程序,需要独立的解 释器解释运行;以 “.java” 为后缀的文件,以 main() 方法作为程序入口,由 java 编译器编译生 成字节码,由 Java 解释器加载执行字节码。 Java Applet 没有 main() 方法作为程序入口,是嵌在.
单元二:面向对象程序设计 任务二:借书卡程序设计.
JAVA 编 程 技 术 主编 贾振华 2010年1月.
第一單元 建立java 程式.
项目6 通用堆栈.
第4章 條件判斷與迴圈 Java 2 程式設計入門與應用.
迴圈 迴圈基本觀念 while迴圈 do 迴圈 for迴圈 巢狀迴圈 迴圈設計注意事項 其他控制指令 迴圈與選擇的組合.
四資二甲 第三週作業 物件導向程式設計.
C#程序设计案例教程 第3章 程 序 结 构.
南京理工大学 第2章 Java基本语法 本章我们将学习Java编程语言的基本语法,包括变量、操作符、表达式、语句、字符串、数组、控制流以及如何使用帮助文档。 使用下面的编程框架: public class Test{ public static void main(String []args){ //以下添加测试代码.
本章大綱 2-1、程式、程式語言、程式架構 2-2、變數與資料型態 2-3、常數 2-4、 運算式、運算子和運算元
第 5 章 流程控制 (一): 條件分支.
第二章 JAVA语言基础.
第三章 控制结构.
程式設計實作.
Q1: 追蹤程式: 印出結果? 搶答 while (i<=n) { p=p*i; i=i+2; }
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
控制流程 邏輯判斷 迴圈控制.
Class 2 流程控制-選擇敘述與迴圈.
第二章 C# 基础知识.
流程控制結構 4-1 流程控制與UML活動圖 4-2 程式區塊與主控台基本輸入 4-3 條件控制敘述 4-4 迴圈控制敘述 4-5 巢狀迴圈
程序與函數的類別方法 目的:模組化程式設計 方法:由上而下設計 注意事項:(1)獨立性 (2)結合問題 (3)子問題間的溝通.
2018/11/22 Java语言程序设计-程序流程 教师:段鹏飞.
程式敘述執行順序的轉移 控制與重複、方法 Lecturer:曾學文.
第3章 語法入門 第一個Java程式 文字模式下與程式互動 資料、運算 流程控制.
本單元介紹何謂變數,及說明變數的宣告方式。
2018/11/27 Java语言程序设计-程序流程 教师:段鹏飞.
JAVA程序设计 第5章 深入理解JAVA语言----补充.
程式設計實作.
第2章回顾 标识符:不用记,动手 关键字:if, else, switch, for, while, do, break, continue, void, …… 局部变量和成员变量 ①变量作用域 ②内存布局 基本数据类型 ①4类8种 ②互相转换 流程控制语句 ①分支 if……else, switch.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
變數命名 保留字(Reserved Word)
實作輔導 3 日期: 4/14(星期六) 09:10~12:00、13:10~16:00
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
Java程序设计 第2章 基本数据类型及操作.
第5讲 使用类和对象编程(三) 内部类 实例 程序控制结构 选择语句.
Ch02-基礎語法.
C/C++/Java 哪些值不是头等程序对象
第一單元 建立java 程式.
第2章 C++流程控制语句 if 语句 switch语句 for语句 while语句 do - while语句 break语句
第三章 C# 基础知识.
第3章 Java語法的JSP程式 3-1 Java語言的基礎 3-2 JSP程式的基本架構 3-3 Java的變數與資料型態
第二章Java基本程序设计.
第三课 标识符、关键字、数据类型.
程式結構&語法.
Java變數 2014/6/24.
第二章 Java基本语法 讲师:复凡.
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第二章 Java语法基础.
第二章 类型、对象、运算符和表达式.
Review 1~3.
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
JAVA 程式設計與資料結構 第三章 物件的設計.
變數、資料型態、運算子.
第2章 Java语言基础.
第6章 PHP基本語法介紹.
迴圈(重複性結構) for while do while.
判斷(選擇性敘述) if if else else if 條件運算子.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
第二章 Java基础语法 北京传智播客教育
輸出執行結果到螢幕上 如果要將執行結果的文字和數值都「輸出」到電腦螢幕時,程式要怎麼寫? class 類別名稱 {
第二章 Java基本语法 讲师:复凡.
Summary
Presentation transcript:

上节课回顾 Java 的历史及特点 Java 开发工具 标识符和关键字 1

Java 开发工具 JDK 改变环境变量: PATH=%PATH%; c:\java\bin; CLASSPATH =.;c:\java\lib\classes.zip 编译命令: javac ,如 javac HelloWorldApp.java 执行命令: java, 如 java HelloWorldApp Eclipse 先创建一个 java Project ,然后 new 一个 class 编写 java 源程 序 2

2.1 标识符和关键字 Java 中的标识符:可以用来标识变量名、类名、 类中的方法名和文件名等. 标识符组成 : (1) 字母, (2) 数字, (3) 下划线 “_” 和 (4) 美元符号 “$”; 首字符必须是 (1) 字母, (2) 下划线 “_” 和 (3) 美元符 号 “$”; 所有标识符是区分大小写的 ; 除去关键字、 false 、 true 和 null; 3

标识符的习惯命名 能表达明确意义的英文单词命名,并采用规范 的单词缩写形式与单词分隔形式。 表示常量时标识符全部用大写字母和下划线表 示,如 PI , SALES_TAX 。 表示类名或接口名时,标识符用大写字母开头, 如 CreditCard 。 表示变量名和方法名,以小写字母开头,单词 之间不要有分隔符,第二及后面单词第一个字 符用大写字母,如 authorName 。 4

Java 关键字 具有特殊含义的字符序列  例如: public 、 static 和 class  具有特殊用途,不能作为变量名、方法名和类名 5

2.2 数据类型 6

基本数据类型 类型默认值封装类 byte ( byte ) 0 Byte short ( short ) 0 Short int0Integer long 0L 或 0l Long float 0.0f 或 0.0F Float double 0.0 或 0.0d 或 0.0D Double char ‘\u0000’( 空字符 ) Char booleanfalseBoolean 7

2.3 变量和常量 变量在计算机内部对应着一个存储单元,而且 总是具有某种数据类型:基本数据类型或引用 数据类型 变量总是具有与其数据类型相对应的值 每个变量均具有 : 名字、类型、一定大小的存 储单元以及值  变量名对应内存的位置 8

Java 变量必须属于某种类型 变量值也必须与变量类型相匹配 例如 : int studentNumber; // 声明单个变量 double velocity, distance; // 声明多个变量 studentNumber=30;// 给变量赋以整数 30 int studentNumber=30;// 声明变量,并赋初值 9

变量在内存中的存储方式 int ID = 42889; String s = “Hello World!”; ID E3FA08C1 S 堆栈 Hello World!”; String 堆 10

常量 赋值后不能更改的值 使用关键 final 使常量不能改变 如 final double SALES_TAX=6.5; 如果试图改变常量的值,编译器将发出一条出 错信息 11

Java 常量 Java 常量包括基本数据类型常量、字符串 (String) 常 量和 null 布尔 (boolean) 常量只有两个: true 和 false ‘c’, ‘\u0061’, ‘\u0051’ 和 ‘\u005a’ 是 char 常量. 34 是 int 常量 1.5, 45.6, 76.4E8 和 是 double 常量 34L 是 long 常量. 1.5F, 45.6f, 76.4E8F 和 -32.0F 是 float 常量 “Hello World!” 是 String 常量 null 是引用数据类型的常量  任意引用数据类型的常量 (null) 12

2.4 数据类型转换 用变量、常量赋值给另一个变量时,两者的数 据类型必须一致。如不一致,则要进行数据的 类型转换 类型转换有隐式转换 ( 自动类型转换 ) 和显式转 换 ( 强制类型转换 ) 两种 13

隐式类型转换 当占用比特位较少的类型转换为占有比特位数较多的数 据时,使用隐式类型转换 转换过程由 Java 编译器自动进行 例:将短格式整型数据赋值为长格式整型数据,不会出 现错误,如: int i = 123; long j = i; 若反过来,将长格式赋值给短格式整数,如: long j= 25L; int i = j; 以及将双精度数据赋值为单精度变量,如: float a = 2.5; 将出现编译错误。 14

显示类型转换 当长格式数据赋值给短格式整型变量,双精度数据给 单精度类型赋值,浮点型数据给整型变量赋值时,均 要进行显示类型转换,即强制类型转换 强制类型转换的格式为: (目标数据类型)变量名 例如: int a = 260; byte b; b = (byte)a; 15

2.5 运算符 对基本数据类型的常量与变量进行加工的过程 成为运算,表示各种不同运算的符号称为运算 符,参与运算的数据称为操作数。 Java 语言的运算符分成以下几类: 一元运算符 二元或三元运算符 前缀或中缀或后缀运算符 16

Java 运算符 算术运算符 关系运算符 布尔逻辑运算符 位运算符 赋值类运算符 条件运算符 其他运算符 17

1 、算术运算符 算术运算符包括: +, -, *, /, ++, --, % 没有指数运算 Math.pow(2.0, 3.0); // 整数除法:截去余数 7 / 5 结果为 1 取模:返回余数 7 % 5 结果为 2 18

问题? 7/-5 = -7%5 = 7%-5 = -7.0/5 = 7/-5.0 = 7%5.0 = -7%-5.0 =

2 、关系运算符 六个关系运算符 : 、 = 、 == 和 != 例如 : 1 > 2; // false 3.5 != 1; // true 51.5 >= 23.0; // true 540 <= 654; // true 24 == 3*8; // true boolean isEqual=(10 < 10); // isEqual= false; 20

关系运算符的注意事项 、 = 只能用来比较两个数值类型数 据 (numbers 含 characters) 的大小  不能用于 String 、 boolean 、 array 或其他类型 21

3 、布尔逻辑运算符 六个布尔逻辑运算符 : 1) & ( 逻辑与 AND) 2) | ( 逻辑或 OR) 3) ^ ( 逻辑异或 XOR ) 4) ! ( 逻辑非 NOT)  单目运算符, 即只有一个操作数 5) && ( 条件与 AND) 6) || ( 条件或 OR) 22

4 、位运算符 位运算符包括: & 、 | 、 ~ 、 ^ 、 >> 、 >>> 和 << 1) >> 带符号右移 2) << 左移 3) >>> 不带符号右移 越晦涩难懂的,越会被 SCJP 考到 (?) 移位操作是:先将整数写成二进制形式,然后 按位操作,最后产生一个新的数 注意 : 只用于整数 23

5 、赋值类运算符 赋值类运算符包括: = 、 += 、 -= 、 *= 、 /= 、 &= 、 |= 、 %= 、 >= 和 >>>= op1=op1 二元运算符 op2; 等价于 op1 二元运算符 = op2; 例如: a=a+b; 等价于 a+=b; 24

6 、条件运算符 条件运算符 “? :” 的表达式形式为 “op1 ? op2 : op3” op1: 布尔表达式 例如 : int k= ( (i>=0) ? 1 : -1); 25

7 、其他运算符 其他运算符包括: ( 类型 ) 、. 、 [ ] 、 ( ) 、 instanceof 和 new 例如: int a=51; char c=(char)a; 26

运算符优先级 一元后缀 [ ]. ( ) 一元前缀 = ~ ! 创建和强制类型转换 new (type) 倍数 * / % 增量 + - 移位 > >>> 关系 >= <= instanceof 等价 == != 与 & 异或 ^ 或 | 布尔与 && 布尔或 || 条件 ?: 赋值 = += -= *= /= %= >>= >>= &= ^= |= 27

2.6 程序流程控制语句 1) if / else if / else 2) while 3) do ~ while 4) for 5) switch case 6) break 7) continue 28

if-else 语句 if-else 语句根据判定条件的真假来执行两种操作中的一 种。它的形式如下: if ( 布尔表达式 ) { 语句 1 ; } [else { 语句 2 ; }] 其中,用 “[ ]” 括起的 else 部分是可选的 ( 即可有可无的 ) 。 若无 else 部分, if 语句的流程如下图: 29

例:判断成绩是否优秀 1. class If_NoElse{ 2. public static void main(String[ ] args){ 3. int scoreOfMark=89; 4. if(scoreOfMark>=90){ 5. System.out.println(“ 祝贺你, 你的成绩 优秀 "); 6. } 7. else{ 8. System.out.println(“ 你的成绩未达到优 秀,请继续努力! "); 9. } 10. } 11. } 30

while 语句 while 语句的语法形式为: while ( 布尔表达式 ) { 语句 } while 语句用于在布尔表达式(即测试条件)的 值保持为真( true )时反复地执行其中的内嵌语 句(一般叫做循环体)。 31

例:用 while 语句求 1+2+…+10 的和。 1. public class WhileOfSum{ 2. public static void main(String[ ] args) { 3. int i,sum; 4. sum=0; // 累加器清 0 5. i=1;//i 的初始值为 1 6. while (i<=10){ 7. sum+=i; 8. i++; 9. } 10. System.out.println("sum="+sum); 11. } 12. } 32

do ~ while 语句 Java 还提供了另一个与 while 语句类似的语句: do ~ while 语句。 do ~ while 语句的语法形式如下: do { 语句; } while ( 布尔表达式 ); 33

for 语句 for 语句是循环的另一种表示形式。 for 语句的语法形式为: for ( 表达式 1 ;表达式 2 ;表达式 3) { 语句; } 例如要使循环执行某一段代码 1000 次,可以表达为: for (int number=0; number<1000; number++) { …… // 一段代码 } 34

例:用 for 语句求 1+2+…+10 的和 1. public class ForOfSum{ 2. public static void main(String[ ] args) { 3. int i,sum; 4. sum=0; // 累加器清 0 5. for(i=1;i<=10;i++){ 6. sum+=i; 7. } 8. System.out.println("sum="+sum); 9. } 10. } 35

for 语句常见的错误 错误一: for 语句不写大括号 { } for(int i=1,sum=0;i<=100;i++) sum+=I; System.out.println(“i=”+i+“,+sum=”+sum); 错误二:利用浮点类型的 = 或 != 运算作为条件 表达式 for(double x=0.1;x!=1.0;x+=0.1){ System.out.println(x+";"); } 36

switch 语句 switch 语句根据表达式的结果来执行多个 操作中的一个,它的语法形式如下: switch (表达式) { case 常量 1 :语句 1 ; [break ; ] case 常量 2 :语句 2 ; [break ; ] … case 常量 n :语句 n ; [break ; ] [default: 缺省处理语句 break ; ] } 37

switch 语句的注意点( 1 ) 1. 使用 switch 语句时,要注意表达式必须是符合 byte,char,short,int 类型的表达式,而不能使用浮点类型 或 long 类型,也不能为一个字符串; 2. switch 语句将表达式的值依次与每个 case 子句中的常量 值相比较。如果匹配成功,则执行该 case 子句中常量值 后的语句,直到遇到 break 语句为止; 3. case 子句中常量的类型必须与表达式的类型相容,而且 每个 case 子句中常量的值必须是不同的; 4. default 子句是可选的,当表达式的值与任一 case 子句中 的值都不匹配时,就执行 default 后的语句。 38

switch 语句的注意点( 2 ) 5. break 语句在执行完一个 case 分支后,使程序跳出 switch 语句,执行 switch 语句的后续语句。 6. 在一些特殊的情况下,例如多个不同的 case 值要 执行一组相同的操作,可以写成如下形式: … case 常量 n : case 常量 n+1 :语句 [break ; ] … 39

switch 语句的注意点( 3 ) 7.case 分支中包括多个执行语句时,可以不用花括号 “{}” 括起; 8. 通过 if-else 语句可以实现 switch 语句所有的功能。 但通常使用 switch 语句更简练,且可读性强,程序的 执行效率也高; 9. if-else 语句可以基于一个范围内的值或一个条件来 进行不同的操作,但 switch 语句中的每个 case 子句 都必须对应一个单值。 40

例:用 switch 语句实现学生成绩的百分制 到等级制的转换 1. class SwitchDemo{ 2. public static void main(String[ ] args) { 3. int testScore=88; 4. char grade; 5. switch (testScore/10) { // 两个整型数相除的结果还是整型 6. case 10: // 此处没有使用 break 7. case 9: 8. grade='A'; break; // 值为 10 和 9 时的操作是相同的 9. case 8: 10. grade='B'; break; 11. case 7: 12. grade='C';break; 13. case 6: 14. grade='D';break; 15. default: 16. grade='F'; break; 17. } 18. System.out.println("grade is:"+grade); 19. } 20. } 41

break 语句 对于 Java 中的三种类型的循环: while 、 do- while 、 for 来说,正常的退出循环的方法是当测 试条件变为 false 时。但有时即使测试的条件为 true ,也希望循环立即终止,这时可以用 break 语句实现此功能。 break 语句的一般语法格式为: break [ 标号 ]; break 语句不能用于循环语句和 switch 语句之外 的任何其它语句中。 42

例: break 语句的例子 1. public class BreakDemo { 2. public static void main(String[ ] args) { 3. int index=0; 4. while (index<=100) { 5. index+=10; 6. if (index==40) 7. break; 8. /* 当 index 的值大于 100 时,循环将终止。但有一种特 殊的情况,如果 index 的值等于 40 ,循环也将立即终止。 */ 9. System.out.println("The index is "+index); 10. } 11. } 12. } 输出结果: The index is 10 The index is 20 The index is 30 true false 43

continue 语句 Continue 语句只能在循环中使用。 它和 break 语句的区别是 continue 语句只结束本次 循环,而不是终止整个循环的执行;而 break 语句 则是结束整个循环语句的执行。 continue 语句的一般格式为: continue[ 标号 ]; 44

例 :continue 语句的例子 1. public class ContinueDemo{ 2. public static void main(String[] args){ 3. int index=0; 4. while(index<=99){ 5. index+=10; 6. /* 当 index 的值等于 40 时,使循环回到 while 语 句处, 而不像正常处理那样去执行后面的输出语句 */ 7. if(index==40) 8. continue; 9. System.out.println("The index is "+index); 10. } 11. } 12. } turefalse 45

学生成绩查询系统 —— 案例 1 打印某学生某一学期所有课程的成绩和等级 (优、良、中、及格和不及格),并给出平均 成绩。 46

1. public class PrintStuScore { 2. public static String scoreLevel(int score) { 3. if(score>=90){ 4. return " 优 "; 5. } 6. else if(score>=80){ 7. return " 良 "; 8. } 9. else if(score>=70){ 10. return " 中 "; 11. } 12. else if(score>=60){ 13. return " 及格 "; 14. } 15. else{ 16. return " 不及格 "; 17. } 18. } 47

19. public static void main (String[] args) { 20. int javaScore=90; 21. int databaseScore=75; 22. int englishScore=85; 23. int avrScore=(javaScore+databaseScore+englishScore)/3; 24. System.out.println("Java 课程成绩: "+javaScore+" "+scoreLevel(javaScore)); 25. System.out.println(" 数据库课程成绩: "+databaseScore+" "+scoreLevel(databaseScore)); 26. System.out.println(" 英语课程成绩: "+englishScore+" "+scoreLevel(englishScore)); 27. System.out.println(" 平 均 成 绩 : "+avrScore); 28. } 29. } 48

作业 2.1 、编写一个程序,打印 100 ~ 200 之间的素数,要求每 行按 10 个数 ( 数与数之间有一个空格间隔 ) 的形式对其输 出。 2.2 、编写一个编程,给定一个 t 的值按下式计算 y 值并输 出,要求分别用 if 和 switch 语句来实现。 t ≤t < 1 t 3 -2·t-2 1≤t < 3 y = t 2 -t·sin(t) 3≤t < 5 t+1 5≤t < 7 t-1 其它 提示: 开平方方法: Math.sqrt(n) 计算 sin(t) 方法: Math.sin(t) 问题:请上网查询如何取 y 的值精确到两位小数? 49

Thank You… Any ?? 50