




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,Chapter 2 Java程序设计简介,2,Welcome1.java Program Output,1 / Welcome1.java 2 / Text-printing program. 3 4 public class Welcome1 5 6 / main method begins execution of Java application 7 public static void main( String args ) 8 9 System.out.println( “Welcome to Java Programming!“ ); 10 11 / end method main 12 13 / end class Welcome1,Welcome to Java Programming!,示例: 输出一行文字,3,注释行的开始处标以: / 程序执行时将忽略注释行 用以对程序进行解释的文档,从而增加程序的可读性 传统的注释方法: /* . */ /* This is a traditional comment. It can be split over many lines */ 另外一行注释 注意: 行号不是程序的一部分,示例: 输出一行文字,4,空行 增加程序的可读性 空行, 空格和tabs是空白字符(white-space) 编译器将忽略这些字符 开始声明Welcome1类 每个Java至少包含一个用户类 关键字( keyword ):被Java保留的词汇 Class关键字后跟着类名 命名类: 一般每个词的首字符大写 SampleClassName,示例: 输出一行文字,5,示例: 输出一行文字,类名称之为标示符( identifier) 可以由字符、数字、下划线 ( _ ) 以及 $ 不能以数字开始, 不允许包含空格 示例: Welcome1, $value, _value, button7 7button 是无效的标示符 Java 的标示符是大小写敏感的 A1与a1是不同的标示符 关于关键字 public以后再讨论,6,保存文件 File name必须是类名(welcome1),扩展名必须是 .java Welcome1.java 左大括号 每个类体的开始标志 右大括号结束类体声明 (line 13) 每个 Java应用( application)的一部分 Applications 从执行 main开始 圆括号表示 main是一个方法(method) Java applications 可以包含多个方法,示例: 输出一行文字,7,但至少有一个方法的名字是 main 方法可以执行一系列任务并返回信息 void 表示 main 不返回信息 左大括号表示开始方法体声明 以右大括号结束 (line 11),示例: 输出一行文字,8,指示计算机执行一个操作 Prints字符串(string) String 在双引号内的一组字符序列 String的White-spaces不会被编译器忽略 System.out 标准输出(output)对象 Print 到命令行窗口 (i.e., MS-DOS prompt) Method System.out.println 显示一行文本信息 参数(Argument)在圆括号之内 这一行称之为语句(statement) Statements必须以 ;结束,示例: 输出一行文字,9,结束方法声明 结束类声明 注释可以写在同一行代码的后面,示例: 输出一行文字,10,编译程序 开启一个命令行窗口, 转换到存放程序的目录 输入javac Welcome1.java 如果没有错误提示,将创建Welcome1.class 程序的bytecodes代码 Bytecodes可以由Java解释器执行,示例: 输出一行文字,11,执行程序 输入java Welcome1 解释器加载class Welcome1的 .class文件 .class 扩展名忽略不写 解释器调用main方法,执行结果,示例: 输出一行文字,12,修改示例程序(1),修改程序 使用不同的程序代码,Welcome2.java产生与 Welcome1.java相同的输出 Line 9 显示 “Welcome to ” 并保持光标在输出行 Line 10 显示 “Java Programming! ” 在同一行,并将光标移动到下一行,13,Welcome2.java 1. Comments 2. Blank line 3. Begin class Welcome2 3.1 Method main 4. Method System.out.print 4.1 Method System.out.println 5. end main, Welcome2 Program Output,Welcome to Java Programming!,1 / Welcome2.java 2 / Printing a line of text with multiple statements. 3 4 public class Welcome2 5 6 / main method begins execution of Java application 7 public static void main( String args ) 8 9 System.out.print( “Welcome to “ ); 10 System.out.println( “Java Programming!“ ); 11 12 / end method main 13 14 / end class Welcome2,14,新行字符 (n) 被方法 System.out.print和System.out.println解释为特殊字符 表明光标将移动到下一行进行输出 Welcome3.java 输出行将在 n处分开 使用方法 可以用在 System.out.println或System.out.print 方法中以开始在新行输出 System.out.println( “WelcomentonJavanProgramming!“ );,修改示例程序(2),15,Welcome3.java 1. main 2. System.out.println (uses n for new line) Program Output,1 / Welcome3.java 2 / Printing multiple lines of text with a single statement. 3 4 public class Welcome3 5 6 / main method begins execution of Java application 7 public static void main( String args ) 8 9 System.out.println( “WelcomentonJavanProgramming!“ ); 10 11 / end method main 12 13 / end class Welcome3,Welcome to Java Programming!,16,转义字符(Escape characters) 反斜杠开始 ( ) 表明需要输出特殊字符,Escape,sequence,含义,n,新行。将光标移至下一行,.,t,水平制表符. 将光标移至下一制表位,r,回车。 将光标移动到当前行行首。回车后输出的字符将覆盖原来的 输出,反斜杠。,“,双引号。,-,System.out.println(,“,“in quotes,“,);,显示,“in quotes“,常用转义字符,修改示例程序(2),17,在对话框中显示文本信息,显示 大多数Java应用使用Window和dialog box 我们已经使用过命令行窗口 Class JOptionPane 允许我们使用dialog box 包(Packages) 一组可以用于程序开发的预定义类 一组相关的类称之为包 比如Java API JOptionPane 在 javax.swing 包中定义 javax.swing 包中包含使用GUIs 的类(Graphical User Interfaces),18,在对话框中显示文本信息,19,Welcome4.java 1. import declaration 2. Class Welcome4 2.1 main 2.2 showMessageDialog 2.3 System.exit Program Output,1 / Welcome4.java 2 / Printing multiple lines in a dialog box. 3 4 / Java packages 5 import javax.swing.JOptionPane; / program uses JOptionPane 6 7 public class Welcome4 8 9 / main method begins execution of Java application 10 public static void main( String args ) 11 12 JOptionPane.showMessageDialog( 13 null, “WelcomentonJavanProgramming!“ ); 14 15 System.exit( 0 ); / terminate application with window 16 17 / end method main 18 19 / end class Welcome4,20,Lines 1-2: 注释 Java API的两类包 核心包(Core packages) 以 java开始 包含在Java 2 Software Development Kit(SDK)中 扩展包(Extension packages) 以javax开始 新的Java包 import 声明 用于帮助编译器定位和表示在Java程序中使用的类 告诉编译器JOptionPane定义在javax.swing 包中,在对话框中显示文本信息,21,Lines 6-11: 调用class JOptionPane的showMessageDialog方法 需要两个参数 多个参数之间用逗号分割 (,) 现在, 第一个参数是null空值 第二个参数是要显示的文本信息 showMessageDialog 是class JOptionPane的一个 static 方法 static方法可以用类名后面跟一个 (.) 然后再是方法名的方式调用,在对话框中显示文本信息,22,所有语句以 ;结束 一条语句可以被分为多行 但语句不能从标示符或字符串中间分行 执行 lines 12 and 13 显示对话框 自动包含 OK 按钮 标题栏显示 Message,在对话框中显示文本信息,23,调用class System 的static方法 exit 终止应用程序 参数0表示程序正常结束 非0一般表示有错误发生 Class System是java.lang包中的类 不需要import乃声明而自动包含 Lines 17-19: 结束 Welcome4和main,在对话框中显示文本信息,24,另一个Java程序:接受用户输入,程序功能 使用输入对话框接收用户输入的两个值 使用信息框显示这两个值的和,25,Addition.java 1. import 2. class Addition 2.1 Declare variables (name and type) 3. showInputDialog 4. parseInt 5. Add numbers, put result in sum,1 / Addition.java 2 / Addition program that displays the sum of two numbers. 3 4 / Java packages 5 import javax.swing.JOptionPane; / program uses JOptionPane 6 7 public class Addition 8 9 / main method begins execution of Java application 10 public static void main( String args ) 11 12 String firstNumber; / first string entered by user 13 String secondNumber; / second string entered by user 14 15 int number1; / first number to add 16 int number2; / second number to add 17 int sum; / sum of number1 and number2 18 19 / read in first number from user as a String 20 firstNumber = JOptionPane.showInputDialog( “Enter first integer“ ); 21 22 / read in second number from user as a String 23 secondNumber = 24 JOptionPane.showInputDialog( “Enter second integer“ ); 25 26 / convert numbers from type String to type int 27 number1 = Integer.parseInt( firstNumber ); 28 number2 = Integer.parseInt( secondNumber ); 29 30 / add numbers 31 sum = number1 + number2; 32,加, 结果放在sum中,26,Program output,33 / display result 34 JOptionPane.showMessageDialog( null, “The sum is “ + sum, 35 “Results“, JOptionPane.PLAIN_MESSAGE ); 36 37 System.exit( 0 ); / terminate application with window 38 39 / end method main 40 41 / end class Addition,27,指定JOptionPane的位置 开始定义public class Addition file name一定是 ? Lines 10-11: main 声明 firstNumber 与 secondNumber是变量,另一个Java程序:接受用户输入,28,变量(Variables) 特定内存中保存值的位置 在使用前要确定名字(name)与类型(type) firstNumber 与 secondNumber 是 String 类型的(package java.lang) 保存strings类型的值 变量名: 任何有效的标示符 以 ;结束 可以一次声明多个同类型的变量 使用 ,分隔变量,另一个Java程序:接受用户输入,29,声明int 类型的变量 number1, number2, 与sum int 保存 integer 值 : i.e., 0, -4, 97 Float、double可以存放数字型数值 char 可以保存单个字符: i.e., x, $, n, 7 还有其他的一些基本数据类型 (Primitive types)在以后的章节介绍 也可以使用前面提到的方法加注释,另一个Java程序:接受用户输入,30,接受用户输入得到一个String值, 代表第一个要加的数 JOptionPane.showInputDialog 方法显示如下的对话框: 标题栏提示用户进行输入 参数是提示性文字 如果输入的数据类型错误(如:非整数)或者按 Cancel, 那么,就会产生错误,另一个Java程序:接受用户输入,31,调用(call) showInputDialog的结果通过赋值操作 (assignment operator =) 保存在firstNumber中 赋值语句 = 二元操作(binary operator) 需要两个操作数 =右侧的表达式进行计算赋值给左边的变量 读作: firstNumber 得到 JOptionPane.showInputDialog( “Enter first integer” )的值,另一个Java程序:接受用户输入,32,与前面的赋值语句类似 secondNumber 获得用户输入的第二个整数值 Method Integer.parseInt 将String 类型的参数转化为整数 (type int) Class Integer in java.lang Integer.parseInt 返回的整数值被赋给变量number1 (line 27) 注意number1的类型 Line 28相似,另一个Java程序:接受用户输入,33,赋值语句 计算number1、number2的和 用赋值操作(=)将结果保存在变量sum中,另一个Java程序:接受用户输入,34,用showMessageDialog方法显示结果 “The sum is “ + sum 用操作符 + 将 string常量( literal) “The sum is” 和变量 sum(数字型)加(合)在一起 允许异种类型进行基本运算(+) String类和其他的合并操作 产生一个新String 如果sum值为117, 那么 “The sum is ” + sum 计算的新String将是“The sum is 117“ 注意空格 “The sum is “ 有关String类的其他操作将在以后介绍,另一个Java程序:接受用户输入,35,另外一种showMessageDialog方法的型式 需要四个参数,而不是两个 第一个参数: null 第二个: 要显示的字符串 第三个: 标题栏的显示 第四个: 消息对话框的图标(icon) 现在的参数表示没有图标: JOptionPane.PLAIN_MESSAGE,另一个Java程序:接受用户输入,36,另一个Java程序:接受用户输入,37,内存的概念,变量(Variables) 每个变量都有一个名字,属于某种类型(如,整数型、字符串),占据一定的存储空间,具有一定的值 变量的名字(Name)对应于变量在内存空间中的位置(地址) 当一个新值存入变量后(赋值), 原先的值就被替换了 读取变量不会改变变量的值,38,可视化的表达形式 Sum = 0; number1 = 1; number2 = 2; Sum = number1 + number2; 执行后,内存的概念,39,算术运算,在许多地方都会用到算术运算 用法 * / +, - 整型相除将舍掉余数 7 / 5 的结果是 1 取余运算 % (取模)返回余数部分 7 % 5的结果是 2,40,运算符的优先级 某些算术运算比其他的运算优先(i.e., 乘优先于加) 可以在必要的时候通过加圆括号提高优先级 Example: 求 a、b、c三个变量的平均值 错误: a + b + c / 3 正确: ( a + b + c ) / 3 算术运算优先级顺序 圆括号,指数运算, 乘法, 除法, 加法, 减法,算术运算,41,决策: 关系运算,if 控制语句 在以后我们还会详细讨论 如果条件为真(true), if 语句的语句体就将执行 0 表示假( false), 非0 表示真(true) 这种控制结构总是执行 if 结构后的语句 可以用关系运算构成构成 if 语句的条件 if ( condition ) statement executed if condition true 条件之后不要加分号,否则 ?,42,下面通过示例程序讨论if语句的一般用法,决策: 关系运算,43,Comparison.java 1. import 2. Class Comparison 2.1 main 2.2 Declarations 2.3 Input data (showInputDialog) 2.4 parseInt 2.5 初始化 result,1 / Comparison.java 2 / Compare integers using if statements, relational operators 3 / and equality operators. 4 5 / Java packages 6 import javax.swing.JOptionPane; 7 8 public class Comparison 9 10 / main method begins execution of Java application 11 public static void main( String args ) 12 13 String firstNumber; / first string entered by user 14 String secondNumber; / second string entered by user 15 String result; / a string containing the output 16 17 int number1; / first number to compare 18 int number2; / second number to compare 19 20 / read first number from user as a string 21 firstNumber = JOptionPane.showInputDialog( “Enter first integer:“ ); 22 23 / read second number from user as a string 24 secondNumber = 25 JOptionPane.showInputDialog( “Enter second integer:“ ); 26 27 / convert numbers from type String to type int 28 number1 = Integer.parseInt( firstNumber ); 29 number2 = Integer.parseInt( secondNumber ); 30 31 / initialize result to empty String 32 result = “; 33,44,Comparison.java 3. if statements 4. showMessageDialog,34 if ( number1 = number2 ) 35
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 同学录经典语句时光祭(15篇)
- 时装店入门知识培训方案课件
- 合同管理模板包含风险评估与条款审查功能
- 蓝色科技人工智能日常运用
- 人教版三年级上册第六单元6.1.2《几分之几》课时练(含答案)
- 绿色简约手绘环保公益讲座
- 商业照明设计与安装合同书
- 如何理解诗经中的情感表达:高中诗歌教学计划
- 纪念白求恩李红玲课件
- 企业品牌推广与宣传方案制作工具包
- “李可中医药学术流派论治厥阴病”-课件
- 通用技术作品设计报告
- JJF 1847-2020 电子天平校准规范-(高清现行)
- 人工智能遥感解译介绍课件
- 大信审计执业问题解答-存货监盘审计指引
- 锚杆支护技术规范正式版本
- 婚育情况证明
- 下一代互联网技术
- 皮肤知识与问题性皮肤分析(入行必看)
- 单位消防安全评估报告(模板)
- 江西之江化工“7.2”压力容器爆炸事故
评论
0/150
提交评论