《Java程序设计简介.ppt》由会员分享,可在线阅读,更多相关《Java程序设计简介.ppt(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Chapter 2 Java程序设计简介程序设计简介1Welcome1.javaProgram Output1 /Welcome1.java/Welcome1.java2 /Text-printing program./Text-printing program.3 4 public class public class Welcome1 Welcome1 5 6 /main method begins execution of Java application/main method begins execution of Java application7 public static vo
2、idpublic static void main(String args)main(String args)8 9 System.out.println(System.out.println(Welcome to Java Programming!Welcome to Java Programming!););10 11 /end method main/end method main12 13 /end class Welcome1/end class Welcome1Welcome to Java Programming!Welcome to Java Programming!示例:输出
3、一行文字2注释行的开始处标以:/程序执行时将忽略注释行用以对程序进行解释的文档,从而增加程序的可读性传统的注释方法:/*.*/*This is a traditional comment.It can be split over many lines*/另外一行注释注意:行号不是程序的一部分1 /Welcome1.java/Welcome1.java2 /Text-printing program.示例示例:输出一行文字输出一行文字3空行增加程序的可读性空行,空格和tabs是空白字符(white-space)编译器将忽略这些字符开始声明Welcome1类每个Java至少包含一个用户类关键字(k
4、eyword):被Java保留的词汇Class关键字后跟着类名命名类:一般每个词的首字符大写SampleClassName3 4 public class public class Welcome1 Welcome1 示例示例:输出一行文字输出一行文字4示例示例:输出一行文字输出一行文字类名称之为标示符(identifier)可以由字符、数字、下划线(_)以及$不能以数字开始,不允许包含空格示例:Welcome1,$value,_value,button77button 是无效的标示符Java 的标示符是大小写敏感的 A1与a1是不同的标示符关于关键字 public以后再讨论4 public
5、class public class Welcome1 Welcome1 5保存文件File name必须是类名(welcome1),扩展名必须是.javaWelcome1.java左大括号 每个类体的开始标志右大括号结束类体声明(line 13)每个 Java应用(application)的一部分Applications 从执行 main开始圆括号表示 main是一个方法(method)Java applications 可以包含多个方法4 public class public class Welcome1 Welcome1 7 public static voidpublic stati
6、c void main(String args)main(String args)示例示例:输出一行文字输出一行文字6但至少有一个方法的名字是 main方法可以执行一系列任务并返回信息void 表示 main 不返回信息左大括号表示开始方法体声明以右大括号结束 (line 11)7 public static voidpublic static void main(String args)main(String args)8 示例示例:输出一行文字输出一行文字7指示计算机执行一个操作Prints字符串(string)String 在双引号内的一组字符序列String的White-spaces不
7、会被编译器忽略System.out标准输出(output)对象Print 到命令行窗口(i.e.,MS-DOS prompt)Method 显示一行文本信息参数(Argument)在圆括号之内这一行称之为语句(statement)Statements必须以;结束9 System.out.println(System.out.println(Welcome to Java Programming!Welcome to Java Programming!););示例示例:输出一行文字输出一行文字8结束方法声明结束类声明注释可以写在同一行代码的后面11 /end method main/end me
8、thod main13 /end class Welcome1/end class Welcome1示例示例:输出一行文字输出一行文字9编译程序开启一个命令行窗口,转换到存放程序的目录输入javac Welcome1.java如果没有错误提示,将创建Welcome1.class程序的bytecodes代码Bytecodes可以由Java解释器执行示例示例:输出一行文字输出一行文字10执行程序输入java Welcome1解释器加载class Welcome1的.class文件.class 扩展名忽略不写解释器调用main方法执行结果示例示例:输出一行文字输出一行文字11修改示例程序(修改示例程
9、序(1)修改程序使用不同的程序代码,Welcome2.java产生与 Welcome1.java相同的输出Line 9 显示“Welcome to”并保持光标在输出行Line 10 显示“Java Programming!”在同一行,并将光标移动到下一行9 System.out.print(System.out.print(Welcome to Welcome to ););10 System.out.println(System.out.println(Java Programming!Java Programming!););12Welcome2.java1.Comments2.Blank
10、 line3.Begin class Welcome23.1 Method main4.Method 4.1 Method 5.end main,Welcome2Program OutputWelcome to Java Programming!Welcome to Java Programming!1 /Welcome2.java/Welcome2.java2 /Printing a line of text with multiple statements./Printing a line of text with multiple statements.3 4 public classp
11、ublic class Welcome2 Welcome2 5 6 /main method begins execution of Java application/main method begins execution of Java application7 public static voidpublic static void main(String args)main(String args)8 9 System.out.print(System.out.print(Welcome to Welcome to ););10 System.out.println(System.ou
12、t.println(Java Programming!Java Programming!););11 12 /end method main/end method main13 14 /end class Welcome2/end class Welcome2System.out.print保持光标在输出行,System.out.println将光标移动到下一行13新行字符(n)被方法 和解释为特殊字符表明光标将移动到下一行进行输出Welcome3.java 输出行将在 n处分开使用方法可以用在 或 方法中以开始在新行输出System.out.println(WelcomentonJavanP
13、rogramming!);9 System.out.println(System.out.println(WelcomentonJavanProgramming!WelcomentonJavanProgramming!););修改示例程序(修改示例程序(2)14Welcome3.java1.main2.(uses n for new line)Program Output1 /Welcome3.java/Welcome3.java2 /Printing multiple lines of text with a single statement./Printing multiple lines
14、 of text with a single statement.3 4 public class public class Welcome3 Welcome3 5 6 /main method begins execution of Java application/main method begins execution of Java application7 public static void public static void main(String args)main(String args)8 9 System.out.println(System.out.println(W
15、elcomentonJavanProgramming!WelcomentonJavanProgramming!););10 11 /end method main/end method main12 13 /end class Welcome3/end class Welcome3WelcomeWelcometotoJavaJavaProgramming!Programming!注意新行与 n 的对应关系15转义字符(Escape characters)反斜杠开始()表明需要输出特殊字符Escape sequence 含义 n 新行。将光标移至下一行.t 水平制表符.将光标移至下一制表位 r
16、回车。将光标移动到当前行行首。回车后输出的字符将覆盖原来的输出 反斜杠。双引号。-System.out.println(System.out.println(in quotesin quotes ););显示 in quotesin quotes 常用转义字符常用转义字符 修改示例程序(修改示例程序(2)16在对话框中显示文本信息在对话框中显示文本信息显示大多数Java应用使用Window和dialog box我们已经使用过命令行窗口Class JOptionPane 允许我们使用dialog box包(Packages)一组可以用于程序开发的预定义类一组相关的类称之为包比如Java APIJ
17、OptionPane 在 javax.swing 包中定义javax.swing 包中包含使用GUIs 的类(Graphical User Interfaces)17在对话框中显示文本信息在对话框中显示文本信息18Welcome4.java1.import declaration2.Class Welcome42.1 main2.2 showMessageDialog2.3 System.exit Program Output1/Fig.2.6:Welcome4.java2/Printing multiple lines in a dialog box3import javax.swing.J
18、OptionPane;/import class JOptionPane45public class Welcome4 6 public static void main(String args)7 8 JOptionPane.showMessageDialog(9 null,WelcomentonJavanProgramming!);1011 System.exit(0);/terminate the program12 1 /Welcome4.java/Welcome4.java2 /Printing multiple lines in a dialog box./Printing mul
19、tiple lines in a dialog box.3 4 /Java packages /Java packages 5 importimport javax.swing.JOptionPane;javax.swing.JOptionPane;/program uses JOptionPane/program uses JOptionPane6 7 public classpublic class Welcome4 Welcome4 8 9 /main method begins execution of Java application/main method begins execu
20、tion of Java application10 public static void public static void main(String args)main(String args)11 12 JOptionPane.showMessageDialog(JOptionPane.showMessageDialog(13 nullnull,WelcomentonJavanProgramming!WelcomentonJavanProgramming!););14 15 System.exit(System.exit(0 0););/terminate application wit
21、h window/terminate application with window16 17 /end method main/end method main18 19 /end class Welcome4/end class Welcome419Lines 1-2:注释Java API的两类包核心包(Core packages)以 java开始包含在Java 2 Software Development Kit(SDK)中扩展包(Extension packages)以javax开始新的Java包import 声明 用于帮助编译器定位和表示在Java程序中使用的类告诉编译器JOption
22、Pane定义在javax.swing 包中4 /Java packages/Java packages 5 importimport javax.swing.JOptionPane;javax.swing.JOptionPane;/program uses OptionPane/program uses OptionPane在对话框中显示文本信息在对话框中显示文本信息20Lines 6-11:调用class JOptionPane的showMessageDialog方法需要两个参数多个参数之间用逗号分割(,)现在,第一个参数是null空值空值第二个参数是要显示的文本信息showMessageD
23、ialog 是class JOptionPane的一个 static 方法static方法可以用类名后面跟一个(.)然后再是方法名的方式调用12 JOptionPane.showMessageDialog(JOptionPane.showMessageDialog(13 nullnull,WelcomentonJavanProgramming!WelcomentonJavanProgramming!););在对话框中显示文本信息在对话框中显示文本信息21所有语句以;结束 一条语句可以被分为多行但语句不能从标示符或字符串中间分行执行 lines 12 and 13 显示对话框自动包含 OK 按钮
24、标题栏显示 Message 在对话框中显示文本信息在对话框中显示文本信息22调用class System 的static方法 exit 终止应用程序参数0表示程序正常结束非0一般表示有错误发生Class System是java.lang包中的类不需要import乃声明而自动包含Lines 17-19:结束 Welcome4和main 15 System.exit(System.exit(0 0););/terminate application with window/terminate application with window在对话框中显示文本信息在对话框中显示文本信息23另一个另一个
25、Java程序:接受用户输入程序:接受用户输入程序功能使用输入对话框接收用户输入的两个值使用信息框显示这两个值的和24Addition.java1.import2.class Addition2.1 Declare variables(name and type)3.showInputDialog4.parseInt5.Add numbers,put result in sum1 1 /Addition.java/Addition.java2 2 /Addition program that displays the sum of two numbers./Addition program th
26、at displays the sum of two numbers.3 3 4 4 /Java packages /Java packages 5 5 importimport javax.swing.JOptionPane;javax.swing.JOptionPane;/program uses JOptionPane/program uses JOptionPane6 6 7 7 public classpublic class Addition Addition 8 8 9 9 /main method begins execution of Java application/mai
27、n method begins execution of Java application10 10 public static voidpublic static void main(String args)main(String args)11 11 12 12 String firstNumber;String firstNumber;/first string entered by user/first string entered by user 13 13 String secondNumber;String secondNumber;/second string entered
28、by user/second string entered by user14 14 15 15 intint number1;number1;/first number to add/first number to add 16 16 intint number2;number2;/second number to add /second number to add 17 17 intint sum;sum;/sum of number1 and number2/sum of number1 and number218 18 19 19 /read in first number from
29、user as a String /read in first number from user as a String 20 20 firstNumber=JOptionPane.showInputDialog(firstNumber=JOptionPane.showInputDialog(Enter first integer Enter first integer););21 21 22 22 /read in second number from user as a String /read in second number from user as a String 23 23 se
30、condNumber=secondNumber=24 24 JOptionPane.showInputDialog(JOptionPane.showInputDialog(Enter second integerEnter second integer););25 25 26 26 /convert numbers from type String to type int /convert numbers from type String to type int27 27 number1=Integer.parseInt(firstNumber);number1=Integer.parseIn
31、t(firstNumber);28 28 number2=Integer.parseInt(secondNumber);number2=Integer.parseInt(secondNumber);29 29 30 30 /add numbers /add numbers 31 31 sum=number1+number2;sum=number1+number2;32 32 声明变量:名字和类型以String的方式接受用户输入的整数,并赋值给 firstNumber.加,结果放在sum中将String转换为整数25Program output33 33 /display result /dis
32、play result 34 34 JOptionPane.showMessageDialog(JOptionPane.showMessageDialog(nullnull,The sum is The sum is +sum,+sum,35 35 ResultsResults,JOptionPane.PLAIN_MESSAGEJOptionPane.PLAIN_MESSAGE););36 36 37 37 System.exit(System.exit(0 0););/terminate application with window/terminate application with w
33、indow38 38 39 39 /end method main/end method main40 40 41 41 /end class Addition/end class Addition26指定JOptionPane的位置开始定义public class Additionfile name一定是?Lines 10-11:main声明firstNumber 与 secondNumber是变量5 importimport javax.swing.JOptionPane;javax.swing.JOptionPane;/program uses JOptionPane/program u
34、ses JOptionPane7 public classpublic class Addition Addition 12 String firstNumber;String firstNumber;/first string entered by user/first string entered by user 13 String secondNumber;String secondNumber;/second string entered by user/second string entered by user另一个另一个Java程序:接受用户输入程序:接受用户输入27变量(Vari
35、ables)特定内存中保存值的位置在使用前要确定名字(name)与类型(type)firstNumber 与 secondNumber 是 String 类型的(package java.lang)保存strings类型的值变量名:任何有效的标示符以;结束可以一次声明多个同类型的变量使用,分隔变量String firstNumber,secondNumber;12 String firstNumber;String firstNumber;/first string entered by user/first string entered by user 13 String secondNum
36、ber;String secondNumber;/second string entered by user/second string entered by user另一个另一个Java程序:接受用户输入程序:接受用户输入28声明int 类型的变量 number1,number2,与sumint 保存 integer 值:i.e.,0,-4,97Float、double可以存放数字型数值char 可以保存单个字符:i.e.,x,$,n,7还有其他的一些基本数据类型(Primitive types)在以后的章节介绍也可以使用前面提到的方法加注释15 intint number1;number1
37、;/first number to add/first number to add 16 intint number2;number2;/second number to add /second number to add 17 intint sum;sum;/sum of number1 and number2/sum of number1 and number2另一个另一个Java程序:接受用户输入程序:接受用户输入29接受用户输入得到一个String值,代表第一个要加的数JOptionPane.showInputDialog 方法显示如下的对话框:标题栏提示用户进行输入参数是提示性文字如
38、果输入的数据类型错误(如:非整数)或者按 Cancel,那么,就会产生错误20 firstNumber=JOptionPane.showInputDialog(Enter first integer);另一个另一个Java程序:接受用户输入程序:接受用户输入30调用(call)showInputDialog的结果通过赋值操作(assignment operator=)保存在firstNumber中赋值语句=二元操作(binary operator)需要两个操作数=右侧的表达式进行计算赋值给左边的变量读作:firstNumber 得到 JOptionPane.showInputDialog(“E
39、nter first integer”)的值20 firstNumber=JOptionPane.showInputDialog(Enter first integer);另一个另一个Java程序:接受用户输入程序:接受用户输入31与前面的赋值语句类似secondNumber 获得用户输入的第二个整数值Method Integer.parseInt将String 类型的参数转化为整数(type int)Class Integer in java.langInteger.parseInt 返回的整数值被赋给变量number1(line 27)注意number1的类型Line 28相似23 sec
40、ondNumber=secondNumber=24 JOptionPane.showInputDialog(JOptionPane.showInputDialog(Enter second integerEnter second integer););27 number1=Integer.parseInt(firstNumber);number1=Integer.parseInt(firstNumber);28 number2=Integer.parseInt(secondNumber);number2=Integer.parseInt(secondNumber);另一个另一个Java程序:接
41、受用户输入程序:接受用户输入32赋值语句计算number1、number2的和用赋值操作(=)将结果保存在变量sum中31 sum=number1+number2;另一个另一个Java程序:接受用户输入程序:接受用户输入33用showMessageDialog方法显示结果The sum is +sum用操作符+将 string常量(literal)“The sum is”和变量 sum(数字型)加(合)在一起 允许异种类型进行基本运算(+)String类和其他的合并操作产生一个新String如果sum值为117,那么“The sum is”+sum 计算的新String将是The sum is
42、 117注意空格 The sum is 有关String类的其他操作将在以后介绍34 JOptionPane.showMessageDialog(JOptionPane.showMessageDialog(nullnull,The sum is The sum is +sum,+sum,35 ResultsResults,JOptionPane.PLAIN_MESSAGEJOptionPane.PLAIN_MESSAGE););另一个另一个Java程序:接受用户输入程序:接受用户输入34另外一种showMessageDialog方法的型式需要四个参数,而不是两个第一个参数:null 第二个:要
43、显示的字符串第三个:标题栏的显示第四个:消息对话框的图标(icon)现在的参数表示没有图标:JOptionPane.PLAIN_MESSAGE34 JOptionPane.showMessageDialog(JOptionPane.showMessageDialog(nullnull,The sum is The sum is +sum,+sum,35 ResultsResults,JOptionPane.PLAIN_MESSAGEJOptionPane.PLAIN_MESSAGE););另一个另一个Java程序:接受用户输入程序:接受用户输入35另一个另一个Java程序:接受用户输入程序:接
44、受用户输入36内存的概念内存的概念变量(Variables)每个变量都有一个名字,属于某种类型(如,整数型、字符串),占据一定的存储空间,具有一定的值变量的名字(Name)对应于变量在内存空间中的位置(地址)当一个新值存入变量后(赋值),原先的值就被替换了 读取变量不会改变变量的值37可视化的表达形式Sum=0;number1=1;number2=2;Sum=number1+number2;执行后sum0sum3内存的概念内存的概念38算术运算算术运算在许多地方都会用到算术运算用法*/+,-整型相除将舍掉余数7/5 的结果是 1取余运算%(取模)返回余数部分 7%5的结果是 239运算符的优先
45、级 某些算术运算比其他的运算优先(i.e.,乘优先于加)可以在必要的时候通过加圆括号提高优先级Example:求 a、b、c三个变量的平均值错误:a+b+c/3 正确:(a+b+c)/3算术运算优先级顺序 圆括号,指数运算,乘法,除法,加法,减法算术运算算术运算40决策决策:关系运算关系运算if 控制语句在以后我们还会详细讨论如果条件为真(true),if 语句的语句体就将执行0 表示假(false),非0 表示真(true)这种控制结构总是执行 if 结构后的语句可以用关系运算构成构成 if 语句的条件if(condition)statement executed if condition
46、true条件之后不要加分号,否则?41下面通过示例程序讨论if语句的一般用法决策决策:关系运算关系运算42Comparison.java1.import2.Class Comparison2.1 main2.2 Declarations2.3 Input data(showInputDialog)2.4 parseInt2.5 初始化初始化 result1 1 /Comparison.java/Comparison.java2 2 /Compare integers using if statements,relational operators/Compare integers using
47、if statements,relational operators 3 3 /and equality operators./and equality operators.4 4 5 5 /Java packages/Java packages6 6 importimport javax.swing.JOptionPane;javax.swing.JOptionPane;7 7 8 8 public classpublic class Comparison Comparison 9 9 10 10 /main method begins execution of Java applicati
48、on /main method begins execution of Java application11 11 public static void public static void main(String args)main(String args)12 12 13 13 String firstNumber;String firstNumber;/first string entered by user/first string entered by user14 14 String secondNumber;String secondNumber;/second string e
49、ntered by user/second string entered by user15 15 String result;String result;/a string containing the output/a string containing the output16 16 17 17 intint number1;number1;/first number to compare/first number to compare18 18 intint number2;number2;/second number to compare/second number to compa
50、re19 19 20 20 /read first number from user as a string /read first number from user as a string21 21 firstNumber=JOptionPane.showInputDialog(firstNumber=JOptionPane.showInputDialog(Enter first integer:Enter first integer:););22 22 23 23 /read second number from user as a string /read second number f