《Java程序设计简介.ppt》由会员分享,可在线阅读,更多相关《Java程序设计简介.ppt(48页珍藏版)》请在三一办公上搜索。
1、1,Chapter 2 Java程序设计简介,2,Welcome1.javaProgram Output,1/Welcome1.java2/Text-printing program.3 4 public class Welcome1 5 6/main method begins execution of Java application7 public static void main(String args)8 9 System.out.println(Welcome to Java Programming!);10 11/end method main12 13/end class We
2、lcome1,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保留的词
3、汇Class关键字后跟着类名命名类:一般每个词的首字符大写SampleClassName,示例:输出一行文字,5,示例:输出一行文字,类名称之为标示符(identifier)可以由字符、数字、下划线(_)以及$不能以数字开始,不允许包含空格示例:Welcome1,$value,_value,button77button 是无效的标示符Java 的标示符是大小写敏感的 A1与a1是不同的标示符关于关键字 public以后再讨论,6,保存文件File name必须是类名(welcome1),扩展名必须是.javaWelcome1.java左大括号 每个类体的开始标志右大括号结束类体声明(line
4、13)每个 Java应用(application)的一部分Applications 从执行 main开始圆括号表示 main是一个方法(method)Java applications 可以包含多个方法,示例:输出一行文字,7,但至少有一个方法的名字是 main方法可以执行一系列任务并返回信息void 表示 main 不返回信息左大括号表示开始方法体声明以右大括号结束(line 11),示例:输出一行文字,8,指示计算机执行一个操作Prints字符串(string)String 在双引号内的一组字符序列String的White-spaces不会被编译器忽略System.out标准输出(outp
5、ut)对象Print 到命令行窗口(i.e.,MS-DOS prompt)Method 显示一行文本信息参数(Argument)在圆括号之内这一行称之为语句(statement)Statements必须以;结束,示例:输出一行文字,9,结束方法声明结束类声明注释可以写在同一行代码的后面,示例:输出一行文字,10,编译程序开启一个命令行窗口,转换到存放程序的目录输入javac Welcome1.java如果没有错误提示,将创建Welcome1.class程序的bytecodes代码Bytecodes可以由Java解释器执行,示例:输出一行文字,11,执行程序输入java Welcome1解释器加
6、载class Welcome1的.class文件.class 扩展名忽略不写解释器调用main方法,执行结果,示例:输出一行文字,12,修改示例程序(1),修改程序使用不同的程序代码,Welcome2.java产生与 Welcome1.java相同的输出Line 9 显示“Welcome to”并保持光标在输出行Line 10 显示“Java Programming!”在同一行,并将光标移动到下一行,13,Welcome2.java1.Comments2.Blank line3.Begin class Welcome23.1 Method main4.Method 4.1 Method 5.e
7、nd main,Welcome2Program Output,Welcome to Java Programming!,1/Welcome2.java2/Printing a line of text with multiple statements.3 4 public class Welcome2 5 6/main method begins execution of Java application7 public static void main(String args)8 9 System.out.print(Welcome to);10 System.out.println(Jav
8、a Programming!);11 12/end method main13 14/end class Welcome2,14,新行字符(n)被方法 和解释为特殊字符表明光标将移动到下一行进行输出Welcome3.java 输出行将在 n处分开使用方法可以用在 或 方法中以开始在新行输出System.out.println(WelcomentonJavanProgramming!);,修改示例程序(2),15,Welcome3.java1.main2.(uses n for new line)Program Output,1/Welcome3.java2/Printing multiple
9、lines of text with a single statement.3 4 public class Welcome3 5 6/main method begins execution of Java application7 public static void main(String args)8 9 System.out.println(WelcomentonJavanProgramming!);10 11/end method main12 13/end class Welcome3,WelcometoJavaProgramming!,16,转义字符(Escape charac
10、ters)反斜杠开始()表明需要输出特殊字符,Escape,sequence,含义,n,新行。将光标移至下一行,.,t,水平制表符.将光标移至下一制表位,r,回车。将光标移动到当前行行首。回车后输出的字符将覆盖原来的输出,反斜杠。,双引号。,-,System.out.println(,in quotes,);,显示,in quotes,常用转义字符,修改示例程序(2),17,在对话框中显示文本信息,显示大多数Java应用使用Window和dialog box我们已经使用过命令行窗口Class JOptionPane 允许我们使用dialog box包(Packages)一组可以用于程序开发的预
11、定义类一组相关的类称之为包比如Java APIJOptionPane 在 javax.swing 包中定义javax.swing 包中包含使用GUIs 的类(Graphical User Interfaces),18,在对话框中显示文本信息,19,Welcome4.java1.import declaration2.Class Welcome42.1 main2.2 showMessageDialog2.3 System.exit Program Output,1/Welcome4.java2/Printing multiple lines in a dialog box.3 4/Java p
12、ackages 5 import javax.swing.JOptionPane;/program uses JOptionPane6 7 public class Welcome4 8 9/main method begins execution of Java application10 public static void main(String args)11 12 JOptionPane.showMessageDialog(13 null,WelcomentonJavanProgramming!);14 15 System.exit(0);/terminate application
13、 with window16 17/end method main18 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 JOptionPa
14、ne的showMessageDialog方法需要两个参数多个参数之间用逗号分割(,)现在,第一个参数是null空值第二个参数是要显示的文本信息showMessageDialog 是class JOptionPane的一个 static 方法static方法可以用类名后面跟一个(.)然后再是方法名的方式调用,在对话框中显示文本信息,22,所有语句以;结束 一条语句可以被分为多行但语句不能从标示符或字符串中间分行执行 lines 12 and 13 显示对话框自动包含 OK 按钮标题栏显示 Message,在对话框中显示文本信息,23,调用class System 的static方法 exit 终
15、止应用程序参数0表示程序正常结束非0一般表示有错误发生Class System是java.lang包中的类不需要import乃声明而自动包含Lines 17-19:结束 Welcome4和main,在对话框中显示文本信息,24,另一个Java程序:接受用户输入,程序功能使用输入对话框接收用户输入的两个值使用信息框显示这两个值的和,25,Addition.java1.import2.class Addition2.1 Declare variables(name and type)3.showInputDialog4.parseInt5.Add numbers,put result in sum
16、,1/Addition.java2/Addition program that displays the sum of two numbers.3 4/Java packages 5 import javax.swing.JOptionPane;/program uses JOptionPane6 7 public class Addition 8 9/main method begins execution of Java application10 public static void main(String args)11 12 String firstNumber;/first str
17、ing entered by user 13 String secondNumber;/second string entered by user14 15 int number1;/first number to add 16 int number2;/second number to add 17 int sum;/sum of number1 and number218 19/read in first number from user as a String 20 firstNumber=JOptionPane.showInputDialog(Enter first integer);
18、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 int27 number1=Integer.parseInt(firstNumber);28 number2=Integer.parseInt(secondNumber);29 30/add numbers 31 sum=number1+number2;32,加,结果
19、放在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 window38 39/end method main40 41/end class Addition,27,指定JOptionPane的位置开始定义public class Additionfile name一定是?Lines 10
20、-11:main声明firstNumber 与 secondNumber是变量,另一个Java程序:接受用户输入,28,变量(Variables)特定内存中保存值的位置在使用前要确定名字(name)与类型(type)firstNumber 与 secondNumber 是 String 类型的(package java.lang)保存strings类型的值变量名:任何有效的标示符以;结束可以一次声明多个同类型的变量使用,分隔变量,另一个Java程序:接受用户输入,29,声明int 类型的变量 number1,number2,与sumint 保存 integer 值:i.e.,0,-4,97Fl
21、oat、double可以存放数字型数值char 可以保存单个字符:i.e.,x,$,n,7还有其他的一些基本数据类型(Primitive types)在以后的章节介绍也可以使用前面提到的方法加注释,另一个Java程序:接受用户输入,30,接受用户输入得到一个String值,代表第一个要加的数JOptionPane.showInputDialog 方法显示如下的对话框:标题栏提示用户进行输入参数是提示性文字如果输入的数据类型错误(如:非整数)或者按 Cancel,那么,就会产生错误,另一个Java程序:接受用户输入,31,调用(call)showInputDialog的结果通过赋值操作(assi
22、gnment operator=)保存在firstNumber中赋值语句=二元操作(binary operator)需要两个操作数=右侧的表达式进行计算赋值给左边的变量读作:firstNumber 得到 JOptionPane.showInputDialog(“Enter first integer”)的值,另一个Java程序:接受用户输入,32,与前面的赋值语句类似secondNumber 获得用户输入的第二个整数值Method Integer.parseInt将String 类型的参数转化为整数(type int)Class Integer in java.langInteger.pars
23、eInt 返回的整数值被赋给变量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”+s
24、um 计算的新String将是The sum is 117注意空格 The sum is 有关String类的其他操作将在以后介绍,另一个Java程序:接受用户输入,35,另外一种showMessageDialog方法的型式需要四个参数,而不是两个第一个参数:null 第二个:要显示的字符串第三个:标题栏的显示第四个:消息对话框的图标(icon)现在的参数表示没有图标:JOptionPane.PLAIN_MESSAGE,另一个Java程序:接受用户输入,36,另一个Java程序:接受用户输入,37,内存的概念,变量(Variables)每个变量都有一个名字,属于某种类型(如,整数型、字符串),
25、占据一定的存储空间,具有一定的值变量的名字(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三个变量的平
26、均值错误: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.java1.impor
27、t2.Class Comparison2.1 main2.2 Declarations2.3 Input data(showInputDialog)2.4 parseInt2.5 初始化 result,1/Comparison.java2/Compare integers using if statements,relational operators 3/and equality operators.4 5/Java packages6 import javax.swing.JOptionPane;7 8 public class Comparison 9 10/main method be
28、gins execution of Java application11 public static void main(String args)12 13 String firstNumber;/first string entered by user14 String secondNumber;/second string entered by user15 String result;/a string containing the output16 17 int number1;/first number to compare18 int number2;/second number
29、to compare19 20/read first number from user as a string21 firstNumber=JOptionPane.showInputDialog(Enter first integer:);22 23/read second number from user as a string24 secondNumber=25 JOptionPane.showInputDialog(Enter second integer:);26 27/convert numbers from type String to type int28 number1=Int
30、eger.parseInt(firstNumber);29 number2=Integer.parseInt(secondNumber);30 31/initialize result to empty String32 result=;33,44,Comparison.java3.if statements4.showMessageDialog,34 if(number1=number2)35 result=result+number1+=+number2;36 37 if(number1!=number2)38 result=result+number1+!=+number2;39 40
31、if(number1 number2)44 result=result+n+number1+number2;45 46 if(number1=number2)50 result=result+n+number1+=+number2;51 52/Display results 53 JOptionPane.showMessageDialog(null,result,Comparison Results,54 JOptionPane.INFORMATION_MESSAGE);55 56 System.exit(0);/terminate application57 58/end method ma
32、in59 60/end class Comparison,45,Program Output,46,Lines 1-12:注释,import JOptionPane,声明class Comparison 和 mainLines 13-18:声明变量也可以用逗号分隔的列表方式:Lines 21-30:接受用户的输入,将字符产数据转换为整数,决策:关系运算,47,用空字符串初始化 resultif 语句:使用(=)测试是否相等 如果变量相等(条件为true)result 用+运算连接字符串result=result+other strings首先计算右侧表达式,将新值存入 result如果不相等,语句体将跳过,决策:关系运算,48,Lines 37-50:其他的一些 if 语句If number1=123 and number2=123Line 34 计算结果为 true(if number1=number 2)因为 number1等于number2Line 40 计算结果为 false(if number1=number2)因为number1 大于或等于 number2Lines 53-54:用 showMessageDialog显示result的值,决策:关系运算,