1、JAVAPage 1Review 1:n 试着编写一个简单的试着编写一个简单的java application程序,当通程序,当通过过java Welcome命令时,可以在命令行界面上命令时,可以在命令行界面上打印一行语句:打印一行语句:n“Welcome to Java World!”JAVAPage 2Welcome to Java World!/welcome.java:this application program prints Welcome to Java World on the console!public class Welcomepublic static void ma
2、in(String args)System.out.println(“Welcome to Java World!”);Java 程序至少包含一个类,每个类从类的声程序至少包含一个类,每个类从类的声明开始,定义自己的数据和方法。明开始,定义自己的数据和方法。public 为修饰符;为修饰符;Class为保留字;为保留字;Welcome 为类的名字为类的名字注:保存的时候文件名要和类名一致,包括大小写注:保存的时候文件名要和类名一致,包括大小写JAVAPage 3p编译源程序编译源程序p首先在命令提示符下,进入该文件的根目录首先在命令提示符下,进入该文件的根目录p用用javac命令编译源文件,如
3、:命令编译源文件,如:javac Welcome.javap运行运行JavaJava程序程序 p执行执行javajava命令就可运行命令就可运行JavaJava程序程序,如:,如:java WelcomeJAVAPage 4p编写源程序编写源程序(例例MyFirstApplet.java)import java.applet.*;import java.awt.*;public class MyFirstApplet extends Applet public void paint(Graphics g)g.drawString(Hello!java world!,2,20);Review 2
4、:Applet程序的编写与运行程序的编写与运行JAVAPage 5p编译源程序编译源程序 p建立建立MyFirstApplet.html,将,将MyFirstApplet.class字节字节码文件放入其中。码文件放入其中。MyFirstApplet program p浏览浏览MyFirstApplet.htmlJAVAPage 6小窍门:为他人的阅读提供方便小窍门:为他人的阅读提供方便文档生成器(文档生成器(javadoc.exe)接受源文件(后缀为接受源文件(后缀为.java.java)输入,然后自动生成)输入,然后自动生成一个一个HTMLHTML文件,内容包括文件,内容包括javajava
5、源文件中的类、变源文件中的类、变量、方法、接口、异常等。量、方法、接口、异常等。实现步骤:实现步骤:在文档中利用在文档中利用/*.*/实现注释实现注释利用利用javadoc-d path Welcome.java命令命令JAVA第2章 Java语法基础JAVAPage 8本章目录2.1 Java程序的结构程序的结构2.2 标识符和关键字标识符和关键字2.3 数据类型数据类型2.4 常量和变量常量和变量2.5 运算符和表达式运算符和表达式2.6 流程控制流程控制JAVAPage 9教学目标了解了解Java程序的组成。程序的组成。熟练掌握熟练掌握Java语言中的数据类型。语言中的数据类型。掌握掌握
6、Java中各类运算符的使用方法。中各类运算符的使用方法。掌握掌握Java中表达式的基本原理及使用方法中表达式的基本原理及使用方法n 熟练掌握熟练掌握JavaJava语言中的流程控制结构。语言中的流程控制结构。n 掌握掌握JavaJava中选择结构的基本原理及使用方法。中选择结构的基本原理及使用方法。n 掌握掌握JavaJava中循环结构的基本原理及使用方法。中循环结构的基本原理及使用方法。JAVAPage 10教学重点数据类型、运算符和表达式数据类型、运算符和表达式是编程语言的基本元是编程语言的基本元素,详细了解这些元素是掌握编程语言的基石。素,详细了解这些元素是掌握编程语言的基石。本章首先详
7、细介绍了数据类型,让读者能够了解本章首先详细介绍了数据类型,让读者能够了解变量的使用方法,接着讲解了变量的使用方法,接着讲解了Java语言的运算符,语言的运算符,让读者明确让读者明确Java编程中变量定义及使用的基本方编程中变量定义及使用的基本方法。法。介绍了表达式的语法形式及使用方法,让读者对介绍了表达式的语法形式及使用方法,让读者对于变量的使用有了更深的了解于变量的使用有了更深的了解n 掌握顺序流程、分支流程语句,并要求学生能灵掌握顺序流程、分支流程语句,并要求学生能灵活应用。活应用。n 了解和掌握变量作用域,循环流程、与程序转移了解和掌握变量作用域,循环流程、与程序转移有关的其它语句。有
8、关的其它语句。JAVAPage 11一、一、Java程序布局程序布局Java的程序在结构上看,有两个部分:的程序在结构上看,有两个部分:一个是引入库声明区一个是引入库声明区n引入库声明区的格式如下:引入库声明区的格式如下:nimport 类库名;类库名;另一部分是类的定义区另一部分是类的定义区 JAVAPage 12二、二、Java源程序的组成源程序的组成Java源文件主要包含以下三个要素:源文件主要包含以下三个要素:(1)一个可选择的包声明语句,格式如下:)一个可选择的包声明语句,格式如下:package 语句语句;(2)任意数量的引入类声明语句,格式如下:)任意数量的引入类声明语句,格式如
9、下:import 已有类名已有类名;(3)类和接口的声明,只能有一个可见性为)类和接口的声明,只能有一个可见性为public的类,且的类,且要求源文件必须和要求源文件必须和public类名相同,而且大小写都完全一致。类名相同,而且大小写都完全一致。JAVAPage 13一、注释语句一、注释语句z注释注释:是为源程序增加必要的解释说明的内容,其是为源程序增加必要的解释说明的内容,其目的是提高程序的可读性,书写注释是编写程序目的是提高程序的可读性,书写注释是编写程序的良好习惯。的良好习惯。zJavaJava中有三种形式的注释:中有三种形式的注释:/注释部分注释部分 (单行)(单行)/*注释部分注释
10、部分 */(多行)(多行)/*注释部分注释部分 */(多行)(多行)JAVAPage 14一、注释语句一、注释语句z段落注释段落注释:/*this is a comment*/或或/*that continues*across lines*/JAVAPage 15一、注释语句一、注释语句z文档注释文档注释:n/*Class Name:MyClassn Author:michale Man Version:1.0n Date:apr 16 2010n This is the first java applet!n*/JAVAPage 16一、注释语句一、注释语句z注释文档根据它所注释的内容,分成
11、三类:注释文档根据它所注释的内容,分成三类:变量,变量,方法和类方法和类。类的注释类的注释一定要出现在类定义的前面;一定要出现在类定义的前面;变量注释变量注释要出现在变量定义的前面;要出现在变量定义的前面;而而方法注释方法注释则要出现在方法定义的前面。则要出现在方法定义的前面。注释和定义之间在不能有任何东西注释和定义之间在不能有任何东西JAVAPage 17z例如:例如:n/*A class comment*/npublic class doctest n/*A variable comment */npublic int I;n/*A method comment */npublic voi
12、d f()n JAVAPage 18一、注释语句一、注释语句z文档注释除了在标准表格中使用文档方法和类的文档注释除了在标准表格中使用文档方法和类的特定起始标签特定起始标签外,还包括外,还包括HTML标记标记。后跟一后跟一个定义标签用途的关键字。个定义标签用途的关键字。JAVAPage 19定定 义义说说 明明author常用来定义作者的代码。常用来定义作者的代码。deprecated应用在库类和方法的文档中,用以标识它们已经被应用在库类和方法的文档中,用以标识它们已经被代替,通常不应该使用在新的应用程序中代替,通常不应该使用在新的应用程序中exception用来为代码可能出现的异常和引起异常的
13、地方提供用来为代码可能出现的异常和引起异常的地方提供文档。文档。link在产生的文档内,生成一个到文档其他部分的链接。在产生的文档内,生成一个到文档其他部分的链接。花括号用来与同行的其余文本分割开花括号用来与同行的其余文本分割开param用来描述一个方法的参数。用来描述一个方法的参数。return用来提供方法的返回值。用来提供方法的返回值。see用来指定对代码其他部分的交叉引用,例如:其他用来指定对代码其他部分的交叉引用,例如:其他类或方法,也可以引用一个类或方法,也可以引用一个URL。throwsexception的同义词。的同义词。version用来说明当前代码的版本。用来说明当前代码的版
14、本。JAVAPage 20一、标识符一、标识符标识符的引入:标识符的引入:程序开发人员需要对程序中的变程序开发人员需要对程序中的变量、方法等元素加以命名,以确保它们的唯一性,量、方法等元素加以命名,以确保它们的唯一性,这时用到标识符。这时用到标识符。什么是标识符:什么是标识符:变量、方法、类和对象的变量、方法、类和对象的名称名称都都是标识符是标识符标识符的组成:标识符的组成:以字母、下划线或美元符号开始的以字母、下划线或美元符号开始的字符序列,后跟字母、数字、下划线或美元符号。字符序列,后跟字母、数字、下划线或美元符号。JAVAPage 21使用标识符的使用标识符的注意事项注意事项标识符标识符
15、区分大小写区分大小写。不用使用不用使用JavaJava关键字来命名。关键字来命名。标志符不能以数字开头,标志符中间也不能包括空标志符不能以数字开头,标志符中间也不能包括空格或制表符;格或制表符;没有长度限制,但不建议使用太长的标识符。没有长度限制,但不建议使用太长的标识符。可以使用中文作为标识符可以使用中文作为标识符 练习:找出合法的标识符练习:找出合法的标识符2teacher 2teacher studentNamestudentName Student_NameStudent_Name room#abstract _room#abstract _my_valuemy_value$addre
16、ss$address3a 3a intint my date email my date emailJAVAPage 22二、关键字二、关键字(保留字保留字)abstractbreakbytebooleancatchcasecharclasscontinuedefaultdodoubleelseextendsfalsefinalfloatforfinallyifimportimplementsintinterface instanceoflonglengthnativenewnullpackageprivateprotectedpublicreturnswitchsynchronizedsho
17、rtstaticsupertrytruethisthrowthrowsthreadsafetransientvoidvolatilewhileJAVAPage 23请判断下列标识符哪些合法哪些不合法?请判断下列标识符哪些合法哪些不合法?123,abs,$123,myname,my name,MYname,#myname,_myname,My_name,JAVAPage 24三、三、J2EE命名规范命名规范类名和接口名:类名和接口名:各单词首字母大写,其余字母小写。各单词首字母大写,其余字母小写。如如SamDocSamDoc ,HelloWorldAppHelloWorldApp方法名和变量名:
18、方法名和变量名:一般首字母小写,后面每个单词一般首字母小写,后面每个单词的第一个字母大字。如的第一个字母大字。如delStudentdelStudent包名:包名:字母全部小写。如,字母全部小写。如,com.abc.dollappcom.abc.dollapp。常量名:常量名:采用大写形式,单词之间以下划线采用大写形式,单词之间以下划线“_ _”隔隔开。如开。如DEFAULT_COLOR_DOLDEFAULT_COLOR_DOL。JAVAPage 25数据类型数据类型基本数基本数据类型据类型引用数引用数据类型据类型数值型数值型字符型:字符型:char布尔型:布尔型:boolean整型:整型:b
19、yte,short,int,long实型:实型:float,double类:类:class数组和字符串数组和字符串接口:接口:interfaceJAVAPage 26一、基本数据类型一、基本数据类型基本数据类型基本数据类型:也称作简单数据类型。也称作简单数据类型。JavaJava语言有语言有8 8种简单数据类型,分别是:种简单数据类型,分别是:booleanboolean 布尔型布尔型byte byte 字节型字节型short short 短整型短整型intint 整型整型long long 长整型长整型float float 单精度单精度double double 双精度双精度char ch
20、ar 字符型字符型JAVAPage 27基本数据类型习惯上可分为基本数据类型习惯上可分为4 4大类型:大类型:整数类型:整数类型:bytebyte、shortshort、intint、longlong浮点类型:浮点类型:floatfloat、doubledouble字符类型:字符类型:charchar逻辑类型:逻辑类型:booleanbooleanJavaJava的基本数据类型长度是固定的,可以跨平台自的基本数据类型长度是固定的,可以跨平台自由移植。由移植。(c(c语言的基本数据类型根据平台的不同会语言的基本数据类型根据平台的不同会有所参别有所参别)一、基本数据类型一、基本数据类型JAVAPa
21、ge 28二、整型数据类型二、整型数据类型(字面值及变量字面值及变量)整型数据类型整型数据类型:不含小数点的数字为整数类型。例不含小数点的数字为整数类型。例如:如:-124-124、948948、0 0等。等。有以下有以下4 4种:种:整数类型整数类型说明类型说明类型占用位数占用位数数据范围数据范围byte字节型字节型8-2727-1short短整型短整型16-215 215-1int整型整型32-231 231-1long长整型长整型64-263 263-1JAVAPage 29数据数据类型类型 字字节节取值范围取值范围示例示例byte1 1-128127-128127byte byte v
22、alval=12;=12;short2 2-3276832767-3276832767short short valval=12;=12;int4 4-2,147,483,6482,147,483,647-2,147,483,6482,147,483,647 intint valval=12;=12;long8 8-9,223,372,036,854,775,808-9,223,372,036,854,775,808 9,223,372,036,854,775,807 9,223,372,036,854,775,807long val1=12;long val1=12;long val2=34
23、L;long val2=34L;二、整型数据类型二、整型数据类型(字面值及变量字面值及变量)JAVAPage 30整型字面值:整型字面值:整型数据可以表示整型数据可以表示1010进制、进制、8 8进制、进制、1616进制。进制。1010进制:进制:123123,-234-234;8 8进制:进制:01230123,-0234-0234;1616进制:进制:0 x64,-0 xff;0 x64,-0 xff;思考:在书写表达上它们有什么区别?思考:在书写表达上它们有什么区别?整型默认为整型默认为intint型,若是长整形需要在数据后加上型,若是长整形需要在数据后加上字母字母L L。例如:。例如:
24、123123为为intint型,而型,而123L123L则是则是longlong型型二、整型数据类型二、整型数据类型(字面值及变量字面值及变量)JAVAPage 31整型变量:整型变量:例:例:int x=123;long y=123L;long z=123l;byte luckyNumber=7;short smallNumber=1234;注意:注意:必须确保变量的初始必须确保变量的初始值在相应数据类型的取值在相应数据类型的取值范围之内,否则编译值范围之内,否则编译器就会报错。器就会报错。JavaJava中没有无符号型中没有无符号型整数。整数。二、整型数据类型二、整型数据类型(字面值及变量
25、字面值及变量)JAVAPage 32三、浮点数据类型三、浮点数据类型(字面值及变量字面值及变量)浮点数据类型:浮点数据类型:含小数点的数字为浮点类型。例含小数点的数字为浮点类型。例如:如:-38.32-38.32、34.034.0等。有以下等。有以下2 2种:种:实数类型实数类型说明类型说明类型占用位数占用位数数据范围数据范围float单精度单精度32-2-149 (2-2-23)2127double双精度双精度64-2-1074 (2-2-52)21023JAVAPage 33浮点型字面值:浮点型字面值:实型数据用实型数据用1010进制形式表示,带有小数部分。如进制形式表示,带有小数部分。如
26、1.23,-3.45,1.01.23,-3.45,1.0用科学计数法形式表示。如用科学计数法形式表示。如1.23456E+31.23456E+3、12345E-12345E-4 4,其中其中e e或或E E之前必须有数字之前必须有数字,且且e e或或E E后面的指数必须后面的指数必须为整数。为整数。实型默认为实型默认为doubledouble型,数字后加型,数字后加f f或或F F为为floatfloat型,型,加加d d或或D D为为doubledouble型。型。三、浮点数据类型三、浮点数据类型(字面值及变量字面值及变量)JAVAPage 34浮点型变量:浮点型变量:例例:double s
27、unDistance=1.496E8;float electronMass=9E-28F;double x=0.123;float y=0.123F,z=0.123f;三、浮点数据类型三、浮点数据类型(字面值及变量字面值及变量)JAVAPage 35动动脑筋动动脑筋public class FloatTestpublic static void main(String args)float f;f=1.3;System.out.println(f);JAVAPage 36四、字符数据类型四、字符数据类型(字面值及变量字面值及变量)字符型字面值:字符型字面值:用单引号作为定界符。用单引号作为定界
28、符。如:如:x ,X,a,A字符型变量:字符型变量:用于存储一个字符,在内存中占用于存储一个字符,在内存中占2 2个字节。个字节。存储为存储为UnicodeUnicode码形式码形式如:如:char char myCharmyChar=AJAVAPage 37字符集:字符集:ASCII(American Standard Code for Information Interchange)字符集:)字符集:使用使用7位代码表示大小写字母、位代码表示大小写字母、数字数字09以及若干控制字符,如换行符。以及若干控制字符,如换行符。ISO-8859-1 Latin-1字符集:字符集:在西欧,用户希望字
29、在西欧,用户希望字符集能够表示他们本国字符集的所有字符,符集能够表示他们本国字符集的所有字符,ASCII字符集因而被扩展到字符集因而被扩展到8位,即增加了位,即增加了128个字符,用个字符,用于表示英文中不存在的各种西欧语言的字符。于表示英文中不存在的各种西欧语言的字符。四、字符数据类型四、字符数据类型(字面值及变量字面值及变量)JAVAPage 38字符集:字符集:Unicode字符集:字符集:是是ISO标准标准16位字符集,支持位字符集,支持65536个不同的字符。其中大约有个不同的字符。其中大约有21000个字符专门个字符专门用于中文、日文和韩文的表意文字。用于中文、日文和韩文的表意文字
30、。ASCII、ISO Latin-1都是都是Unicode的子集。的子集。Java内部使用内部使用2个字节表示每个字符,采用个字节表示每个字符,采用Unicode编码。编码。四、字符数据类型四、字符数据类型JAVAPage 39转义字符:转义字符:转义符号以转义符号以“”开头,后跟一个或几个字符或符号开头,后跟一个或几个字符或符号来显示一些打印语句不能显示的符号或效果。来显示一些打印语句不能显示的符号或效果。例如:例如:、等等。等等。n n:表示回车换行;表示回车换行;t t:表示制表表示制表(即即Tab键键);f f:表示换页;表示换页;b b:表示退格;表示退格;r r:表示回车;表示回车
31、;dddddd :3位八进制数所代表的字符;位八进制数所代表的字符;uxxxxuxxxx :4位十六进制数所代表的字符。位十六进制数所代表的字符。JAVAPage 40五、字符串常量五、字符串常量字符串常量是用一对双引号括起来的一系列字符。字符串常量是用一对双引号括起来的一系列字符。如如”It is a nice day!It is a nice day!”和和”JavaJava”;注意,注意,c c不等于不等于“c c”。JAVAPage 41六、布尔数据类型六、布尔数据类型(字面值及变量字面值及变量)布尔型字面值:布尔型字面值:只有两个值:只有两个值:true false布尔型变量:布尔型
32、变量:例如:例如:boolean state=true;或或 boolean state;state=true;JAVAPage 42各基本数据类型默认缺省值各基本数据类型默认缺省值zbyte(byte)0zshort(short)0zint 0zlong 0lzfloat 0.0fzdouble 0.0dzchar u0000(空字符)zboolean falseJAVAPage 43七、有固定序列整型值的变量七、有固定序列整型值的变量(枚举枚举)定义枚举型定义结尾不加分号,因为是定义类型定义枚举型定义结尾不加分号,因为是定义类型枚举型名字用大写字母开头,枚举值的名字一般枚举型名字用大写字母
33、开头,枚举值的名字一般用小写字母开头。用小写字母开头。例:例:enum Day Monday,Tuesday,Wednesday Day weekday=Day.Tuesday;JAVAPage 44八、引用类型八、引用类型引用类型是一种针对对象的数据类型。引用类型是一种针对对象的数据类型。在在Java中,中,“引用引用”指向一个对象在内存中的位置,指向一个对象在内存中的位置,实质上是一种带有很强的完整性和安全性的限制的指实质上是一种带有很强的完整性和安全性的限制的指针。针。当声明某个类、接口或数组类型的一个变量时,这当声明某个类、接口或数组类型的一个变量时,这个变量的值总是某个对象的引用或是
34、个变量的值总是某个对象的引用或是null引用。引用。指针指针就是简单的地址,而引用除了表示地址外,还就是简单的地址,而引用除了表示地址外,还可以提供对象其他信息。可以提供对象其他信息。指针可以有指针可以有+,-运算,引用不可以运算。运算,引用不可以运算。JAVAPage 45例:例:public class Teacherprivate String name;private int age;private double salary;public static void mian(String args)Teacher myTeacher=new Teacher(“Smith”,30,100
35、00);代表类型代表类型对象的引用对象的引用代表一个对象代表一个对象八、引用类型八、引用类型JAVAPage 46总结:总结:变量有两种类型:变量有两种类型:简单类型变量:保存在堆栈中简单类型变量:保存在堆栈中对象变量:保存在堆中,需要用对象变量:保存在堆中,需要用newnew来分配空间来分配空间变量名变量名IntInt型型变量名变量名字节字节对象变量名对象变量名3232位地址位地址对象实际对象实际存储空间存储空间JAVAPage 47简单变量简单变量进程进程堆栈堆栈一个进程有一个堆栈,独享一个进程有一个堆栈,独享堆栈大小有限制堆栈大小有限制JAVAPage 48对象内容不放在堆栈对象内容不放
36、在堆栈stack中,放在堆中,放在堆heap中中对象引用放在堆栈中对象引用放在堆栈中对象变量对象变量堆栈堆栈进程进程堆对象堆对象对象对象JAVAPage 49练习:定义一定义一 常量常量 PIPI并赋值为并赋值为3.143.14定义一字符串类型的常量定义一字符串类型的常量 NAMENAME并赋值为并赋值为qrsoftqrsoft定义一整型常量并赋值为定义一整型常量并赋值为100100定义一字符常量并赋值为定义一字符常量并赋值为a aJAVAPage 50九、数据类型转换九、数据类型转换 自动类型转换 两种类型兼容;目标类型大于源类型;强制类型转换 两种类型不兼容 目标类型小于源类型z强制类型转
37、换的通用格式如下:强制类型转换的通用格式如下:目标类型目标类型 变量变量=(目标类型)值;(目标类型)值;例如:例如:int i=3;byte b=(byte)i;z赋值语句中的自动类型转换赋值语句中的自动类型转换JAVAPage 51开动脑筋:编译结果是什么?开动脑筋:编译结果是什么?public class ByteTestpublic static void main(String args)byte b;b=3;b=b*3;System.out.println(b);JAVAPage 52开动脑筋:编译结果是什么?开动脑筋:编译结果是什么?public class ByteTestpu
38、blic static void main(String args)byte b;b=3;b=(byte)(b*3);System.out.println(b);JAVAPage 53输出语句输出语句z使用使用System.out.print(x)将数值将数值x输出输出n例如:例如:n double x=10000.0/3.0;n System.out.print(x);n或或nSystem.out.printf(“%8.2f”,x);nSystem.out.printf(“Hello,%s,Next year,youll be%d”,name,age);z也可以使用也可以使用System.o
39、ut.println()语句语句JAVA转换符转换符类型类型举例举例d十进制整数十进制整数159x十六进制整数十六进制整数9fo八进制整数八进制整数237f定点浮点数定点浮点数15.9e指数浮点数指数浮点数1.59e+01g通用浮点数通用浮点数(e和和f中较短的中较短的)a十六进制浮点十六进制浮点0 x1.fccdp3s字符串字符串Helloc字符字符Hb布尔布尔trueh散列码散列码42628b2tx日期时间日期时间%百分号百分号%n与平台有关的行分隔符与平台有关的行分隔符JAVAPage 55常量:常量:如果一个存储空间中的数据在程序运行过程如果一个存储空间中的数据在程序运行过程中一直都没
40、有发生改变,称这种空间为常量,常量中一直都没有发生改变,称这种空间为常量,常量也有常量名,用保留字也有常量名,用保留字finalfinal来定义。来定义。例如例如:final double PI=3.1415926final double PI=3.1415926;final final intint MY_DATE=5 MY_DATE=5;其中其中PIPI与与MY_DATEMY_DATE就是常量就是常量 注意:注意:常量只能在定义时赋值常量只能在定义时赋值 变量可以随时赋值变量可以随时赋值,赋值由赋值符赋值由赋值符(=)(=)实现实现.例如:例如:final int myData1=3;/定
41、义常量定义常量 int myData2=2;/定义变量定义变量 myData2=5;给给myDate2赋值为赋值为5 可以改变可以改变myData2的值,但是不能改变的值,但是不能改变 myDate1的值。的值。JAVAPage 56z类常量类常量:可以在一个类中的多个方法中使用可以在一个类中的多个方法中使用 使用关键字使用关键字static finalnpublic class ConstantsExample2 n public static final double M=2.54;n public static void main(string args)n double width=8
42、.5;n double height=11;n System.out.println(“paper size in centimeters:”+width*M+”by”+height*M);n n JAVAPage 57一、变量一、变量(Variable)变量变量:一个命名的内存块一个命名的内存块,用于存储用于存储JavaJava程序中的程序中的信息。每个内存块只能存储一种类型的数据。信息。每个内存块只能存储一种类型的数据。变量的变量的类型和变量名类型和变量名 变量名以变量名以UnicodeUnicode字母(国际字符集标准,包括字母(国际字符集标准,包括-_ _和和$)开头)开头 接下来是任
43、意数量的接下来是任意数量的UnicodeUnicode字母和数字字母和数字 类名以大写字母开头类名以大写字母开头 例子:合法的变量定义例子:合法的变量定义 String Name;String Name;intint CardIDCardID;String String PassWordPassWord;intint Money;Money;JAVAPage 58一、变量一、变量(Variable)JavaJava的变量命名要遵从如下的的变量命名要遵从如下的三条规则三条规则:必须由必须由UnicodeUnicode字符集中的字符组成字符集中的字符组成不能与不能与JavaJava语言的关键字相同
44、,或命名成布尔语言的关键字相同,或命名成布尔值(值(truetrue或或falsefalse)在同一个作用范围内,不能有相同名字的两个在同一个作用范围内,不能有相同名字的两个变量。变量。所谓的所谓的变量的作用范围变量的作用范围是指可以存取变量的代码是指可以存取变量的代码模块。模块。变量的作用范围同时也决定了变量何时产生,变量的作用范围同时也决定了变量何时产生,何时消灭。何时消灭。JAVAPage 59变量命名变量命名:按标识符中的命名规则:按标识符中的命名规则变量定义:变量定义:包括变量名、变量类型和作用域包括变量名、变量类型和作用域Type varName =value,varName =v
45、alue 变量类型变量类型变量名变量名变量值变量值例如:例如:int x,y;double a=3.2,b=7.1;变量的定义分为两步:变量的定义分为两步:1.变量声明(变量声明(declaration)如:如:int x;2.变量赋值(变量赋值(Assignment)如:)如:x=10;合并这两步即为声明变量同时进行初始化,合并这两步即为声明变量同时进行初始化,如:如:int x=10;二、变量的命名与定义二、变量的命名与定义JAVAPage 60声明同时初始化声明同时初始化:让一个变量在生成的时候具有一:让一个变量在生成的时候具有一个指定的常量。个指定的常量。声明后赋值:声明后赋值:在变量
46、生成后,利用赋值语句把数据在变量生成后,利用赋值语句把数据从内存中的一个位置复制另一个位置。从内存中的一个位置复制另一个位置。int x=10;x10int x;x=10;x1010注意:必须要先声明,注意:必须要先声明,再使用。再使用。二、变量的命名与定义二、变量的命名与定义JAVAPage 61变量的作用域变量的作用域:指该变量名可以被引用在程序的那指该变量名可以被引用在程序的那一部分上一部分上。变量作用域的划分:变量作用域的划分:局部变量(局部变量(Local Variable)Local Variable):是定义在方法或:是定义在方法或方法里的程序块中的变量,方法里的程序块中的变量,
47、从他们被声明的地方从他们被声明的地方开始,一直到包含这个声明的语句块结尾均可被开始,一直到包含这个声明的语句块结尾均可被访问访问,使用前一定要初始化。又可称为:使用前一定要初始化。又可称为:自动变量自动变量(Automatic Variable)(Automatic Variable)临时变量(临时变量(Temporary Variable)Temporary Variable)栈变量(栈变量(Stack Variable)Stack Variable)二、变量的命名与定义二、变量的命名与定义JAVAPage 62变量作用域的例子变量作用域的例子1 int i;/对这个作用域而言,对这个作用域
48、而言,i是局部变量是局部变量/这里不可以访问这里不可以访问i,i在这里不存在在这里不存在JAVAPage 63变量作用域的例子变量作用域的例子2n 在某个局部作用域内定义的变量不能在其嵌套的在某个局部作用域内定义的变量不能在其嵌套的局部作用域中重新定义。局部作用域中重新定义。int i=2;int j=4;int i=6;/出错出错,i已被定义已被定义 j=8;JAVAPage 64运算符运算符,也称为操作符,用于对数据进行计算和处,也称为操作符,用于对数据进行计算和处理,或改变特定对象的值。理,或改变特定对象的值。运算符按其操作数的个数来分,可分为一元运算符、运算符按其操作数的个数来分,可分
49、为一元运算符、二元运算符和三元运算符。二元运算符和三元运算符。表达式表达式是运算符、常量和变量的组合。是运算符、常量和变量的组合。JavaJava的表达式既可以单独组成语句,又可以出现于的表达式既可以单独组成语句,又可以出现于循环条件测试、变量说明、方法的调用参数等场合。循环条件测试、变量说明、方法的调用参数等场合。JAVAPage 65名称名称符号符号算术运算符算术运算符,*,/,%,赋值运算符赋值运算符=扩展赋值运算符扩展赋值运算符+=、-=、*=、/=、%=、&=、|=、=、=、=关系运算符关系运算符,=,&,|,条件运算符条件运算符(?:)(?:)其他运算符其他运算符分量运算符分量运算
50、符“”,下标运算符,下标运算符“”,实例运算符,实例运算符“instance of”,内存分配运算符,内存分配运算符“new”,强制,强制类型转换运算符(类型),以及方法调用运算符类型转换运算符(类型),以及方法调用运算符“()()”等等JAVAPage 66运算符运算符用法用法作用作用+op取正值取正值-op取负值取负值+op,op+将某个数将某个数+1如如a+或或+a,+写在左边是先自写在左边是先自加再赋值,写在右边是先赋值再自加加再赋值,写在右边是先赋值再自加-op,op-将某个数将某个数-1如如a-或或-a,-写在左边是先自减写在左边是先自减再赋值,写在右边是先赋值再自减再赋值,写在右
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。