第2章JAVA语言基础.docx
- 文档编号:25726376
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:40
- 大小:141.38KB
第2章JAVA语言基础.docx
《第2章JAVA语言基础.docx》由会员分享,可在线阅读,更多相关《第2章JAVA语言基础.docx(40页珍藏版)》请在冰豆网上搜索。
第2章JAVA语言基础
第二章Java语言基础
程序结构
package---
import---
class类名1{
属性定义
方法名1(){
-----
}
方法名2(){
-----
}
}
class类名2{
-------
}
Java语言的源代码由一个或多个编译单元(compilationunit)组成,每个编译单元只能包含下列内容:
(1)一个程序包语句(packagestatement)
(2)导入语句(importstatements)
(3)类的声明(classdeclarations)
(4)接口声明
(interfacedeclarations)
幻灯片4
程序结构
●每个编译单元就是一个以.java为后缀的Java语言源程序文件。
●每个Java语言的编译单元可包含多个类或接口,但是每个编译单元最多只能有一个类或接口是公共的。
●一个程序可包括若干个类,各类之间存在并列、继承和包含关系。
●这些类通常是在一起协同工作的:
每一个类都可能需要创建其他类的对象,并调用类或对象的属性及方法。
●编程只能在方法中进行。
●编译后每个类产生一个.class文件。
●包是类和接口的集合,功能、作用和来源相关的类通常放在同一个包中。
幻灯片5
java的名字空间和包
●作为一种在整个Internet上动态装载模块的语言,Java
●特别注意避免名字空间的冲突。
●一般公司命名会以com.公司名.项目名.模块名.开头
●全局变量不再是语言的组成部分(没有全局的属性与
●方法)。
●所有的方法和属性都在类中定义,是类的组成部分。
●每个类又是包的组成部分。
●全限定名:
包名.类名.方法名
●import打开一个包后,可直接指定该包中的类名。
●在本类中,可以直接使用方法名及属性名。
幻灯片6
包的概述
包是用途相近但功能不同的一些类和接口的松散集合。
类库由若干包组成。
java.langJava语言核心类库,包含了运行Java程序必不可少的系统类(如基本数据类型,基本数学函数,字符串处理、线程、异常处理类等),每个Java程序运行时,系统会自动引入该包。
java.awtJava语言用来构建图形用户界面的类库,包括许多界面元素和资源,在三个方面提供界面设计支持:
低级绘图操作(如Graphics类);图形界面组件和布局管理(如Checkbox类,Container类,LayoutManager接口等),以及界面用户交互控制和事件响应(如Event类),利用该包可很方便设计出精美图形界面。
幻灯片7
包的概述
java.applet用来实现运行于Internet浏览器中的Java
Applet的工具类库,它仅包含一个非常有用的类java.applet.Applet。
(创建Applet小程序)
java.ioJava语言的标准输入/输出类库,包含了实现Java程序与操作系统、用户界面以及其他Java程序做数据交换所使用的类。
(输入输出)
Java语言用来实现网络功能的类库,利用包中的类,开发者可以编写自己的具有网络功能的程序
java.util实用程序类,包括了Java语言中的一些低级的实用工具(如随机数、日期、系统属性…)
Java类库是系统提供的已实现的标准类的集合,是Java的API,帮助开发者方便快捷地开发Java程序。
幻灯片8
语句规则
●语句种类
●说明语句如属性说明、变量说明等
●表达式语句
●控制语句(条件、循环、跳转)
●异常处理语句
●块语句(代码块,一组语句用花括号括起来)
●注释(被Java编译器忽略)
●//---注释一行
●/*---*/一行或多行注释
●/**---*/文档注释
幻灯片9
语句规则
●Java语言标识符
●①标识符使用Unicode字符集。
●②由字母、数字、下划线或美元符号($)组成。
●③以字母、下划线或美元符号开头。
●④区分大小写,长度不限。
●⑤在自定义标识符时,应该使其能反映它所表示变量、对象或类的意义。
●⑥标识符中最好不使用美元称号,因为它常被用于内部处理。
●基本语句用标示符“;”结束
●当在Java语言中需要使用变量、方法、类和对象等标示符时,都要在使用前进行声明。
●Java语言中有60个关键字
●在Java中,true、false和null都是小写的,区别于C++中大写的TRUE、FALSE和NULL。
幻灯片10
数据类型与说明语句
●Java程序中所处理的数据是将各种数据类型实例化后的数据。
●数据类型实例化的方法:
说明语句
●实例化数据的两种形式:
变量与常量
幻灯片11
数据类型
数据类型关键字占用比特数缺省数值
布尔型boolean8false
字节型byte80
字符型char16'\u0000'
短整型short160
整型int320
长整型long640
浮点型float320.0F
双精度型double640.0D
幻灯片12
数据类型小结
●①Java的基本数据类型与C语言类似,但是Java的各种数据类型占用固定的内存长度,与具体的软硬件平台无关,而且Java的每种数据类型都对应一个默认值。
这两点分别体现了Java的跨平台性和安全稳定性。
●②Java中提供的整数类型都是有符号数据类型,不存在无符号数据类型。
●③int是最常用的整数类型,short是有符号的16位类型,它可能是Java中使用得最少的类型,这种类型主要适用于16位计算机。
●④float数据的声明需要后缀“f”或“F”,float较少使用。
幻灯片13
数据类型小结
●⑤Java中char数据类型使用Unicode编码,占用两个字节。
Unicode定义的国际化字符集能表示迄今为止人类语言的所有字符集,它是几十个字符集的统一,包含27484个汉字,windows2000起从内核支持Unicode。
●⑥boolean型的变量或常量的取值只能为true和false。
●⑦基本数据类型都有对应的类(Integer,Long,Short,Double),在定义数据时,也可以使用这些类去定义。
幻灯片14
常量
●定义常量的语法格式:
●finaltypeconstantName=constantValue;
●关键字类型常量名常量值
●布尔常量truefalse
●整型常量
●一般常量:
32bit长整型常量:
64bit(88L)
●十进制数:
非0开头的正负整数105,-23
●八进制数:
0开头的正负整数017(15),-023(-19)
●十六进制:
0x开头的正负整数0x2F(47),-0Xa8(-
●168)
幻灯片15
常量
●浮点常量
●一般浮点常量(32bit)3.14F6.18E3F
●双精度浮点数(64bit)7.56D6.02E23(D可省)
●char型常量:
用单引号界定
●‘’,‘a’
●采用Unicode码,从‘\u0000’~‘\uFFFF’,其中‘\u00’~‘\uFF’为ASCII码
●字符串常量:
用双引号界定
●“HELLO,WORLD”
●+号的特殊用法
●“Hello”+“World”即“HelloWorld”
●若a=4,则“a=”+a即“a=4”
幻灯片16
常量
●特殊字符
●引用方法对应Unicode码意义
●‘\b’‘\u0008’退格
●‘\t’‘\u0009’横向跳格、水平制表符tab
●‘\n’‘\u000a’换行
●‘\r’‘\u000d’回车
●‘\”’‘\u0022’双引号
●‘\’’‘\u0027’单引号
●‘\\’‘\u005c’反斜线
幻灯片17
变量
●变量声明:
先声明,后使用
●声明变量的格式:
●typevariableName1,variableName2,···;
●typevariableName1[=initValue],variableName2[=initValue],···;
●类型变量名[变量初始值]
●如:
doublea,b,c;
●intnSecond=10;
幻灯片18
数据类型与说明语句
●基本数据类型说明语句:
●booleanb=true;
●shortsi=128;
●inti,j,k=-99;
●longl=;
●charch='J';
●charchc='中';
●floatf=3.f;
●doubled=-1.04E-5;
●Java几乎是将字符串视为基本数据类型
●Strings=“你好!
”;
幻灯片19
数据类型转换
●同种数据类型转换:
●短类型长类型:
默认
●长类型短类型:
强制
●不同数据类型转换——字符/数值:
强制
●例:
inta;
●longb;
●charc;
●b=a;
●a=(int)b;
●c=(char)a;a=(int)c
●布尔型与其他数据类型之间不能强制类型转换
幻灯片20
数据类型转换
publicclassa{
publicstaticvoidmain(Stringargs[]){
inti=65;
charc='a',cc='刘';
System.out.println(i);//65
System.out.println((char)i);//A
System.out.println(c);//a
System.out.println((int)c);//97
System.out.println(cc);//刘
System.out.println((int)cc);//21016
System.out.println((char)29579);//王
}
}
幻灯片21
表达式、语句
●表达式是变量、常量及运算符的组合。
●表达式既可单独组成语句,也可出现在条件测试、
●变量说明、方法调用的参数等场合。
●二元运算符、一元运算符、三元运算符。
●表达式的结果是一个右值,即不能出现在赋值运
●算的左边。
结果类型由参与运算的数据类型确定。
●inta=3;
●++a=4;×
●(a=a+3)=8;×
幻灯片22
Java运算符
●一般运算是把运算对象作为一个整体处理,而位运算是把整型数运算对象拆开,以位(bit)作为运算对象
幻灯片23
算术运算符
●自运算符++、--
●j++、j--、++j、--j
●运算符的位置决定了自运算的顺序(在操作数变量之前或在操作数变量之后)
●a=3b=5c=(a++)*ba=4c=15
●a=3b=5c=(++a)*ba=4c=20
●合并运算符
●二元运算符@=,a@=b即a=a@b
●a+=ba=a+b;
●+号:
可连接字符串“He”+“llo”为“Hello”
幻灯片24
算术运算符
●当两操作数都为整数时,“/”为整除。
●“%”为取模运算,只有当被除数为正数时,模运算的结果才为正,当被除数是负数时,模运算的结果为负,Java中“%”可用于浮点数。
●如:
5%3=2
5.0%3.0=2.0
5%(-3)=2
5.5%3.5=2.2
(-5)%3=-2
-5.0%3.0=-2.0
(-5)%(-3)=-2
5.0%(-3.0)=2.0
幻灯片25
关系运算符
●Java中,任何数据类型都可以通过==或!
=来比较是否相等。
●关系运算的结果是一个boolean类型的值:
true或false。
●inta=0;
●if(!
a)×
●if(a)×
●if(a==0)√
●if(a!
=0)√
幻灯片26
布尔(逻辑)运算符
●布尔运算符进行逻辑运算,运算的结果仍然是布尔型。
●&逻辑与,|逻辑或;&&逻辑短路与,||逻辑短路或。
●intb=0,c=1;
●booleand=b>c&&(c++)>b;//d=b>c&(c++)>b
●System.out.println(c);
●^(异或)
●x^y//x,y同为真或同为假时结果为假。
幻灯片27
位运算
●移位
●>>带符号右移:
左侧空出位全用符号位填充
●>>>不带符号右移:
左侧空出位用0填充
●<<左移:
符号位被挤掉
●x二进制补码表示x<<2x>>2x>>>2
●30
●-17
●128>>1128/21=64
●256>>4256/24=16
●-256>>4-256/24=-16
●128<<1128*21=256
●16<<216*22=64
位运算
●位运算适用于整数类型的操作数,并且将产生整数结果。
●而逻辑运算符适用于布尔类型的操作数,并产生布尔类型的结果。
●publicclassn1{
●publicstaticvoidmain(Stringargs[]){
●inta=2;//0010
●intb=3;//0011
●booleanc=true,d=false;
●System.out.println(a&b);
●System.out.println(c&d);
●}
●}
输出:
2
false
幻灯片29
条件运算符
●三目条件运算符(?
:
)
●D=表达式A?
表达式B:
表达式C
●A为真,返回表达式B
●A为假,返回表达式C
●总是返回B,C中的长类型
●例:
intx=5,y=8;longz=2;
●longk=x>3?
y:
z;//k=8
赋值运算符
●赋值运算符对应于赋值运算,即赋予程序里的变量或对象一定的内容。
●inta=10;
●booleanb=(3>9)&&(4<2);
●b=c=d=4;
幻灯片31
Wrapper类
幻灯片32
Integer
●Integer类在对象中包装了一个基本类型int的值
●域
●static intMAX_VALUE返回int型数据的最大值
●static intMIN_VALUE返回int型数据的最小值
●构造方法
●Integer(intvalue)
●Integer(Strings)
●方法
●intintValue()//以int类型返回该Integer的值
●doubledoubleValue()//以double类型返回该Integer的值
●StringtoString()//返回一个表示该Integer值的String对象
●staticStringtoString(inti)//返回一个表示指定整数的String对象
●staticintparseInt(Strings)//将字符串参数作为有符号的十进制整数进行分析
●staticIntegervalueOf(Strings)//返回保存指定的String的值的Integer对象
幻灯片33
类型转换—利用类/对象方法
●利用类方法(静态方法)
●inta=Integer.parseInt(“23”);
●Strings=Integer.toString(23);
●doubled=Double.parseDouble(“12.3”);
●Stringss=Double.toString(12.3);
●利用对象方法
●Doubled;Strings;//声明
●d=newDouble(12.3);//创建
●s=d.toString();
●Double.valueOf(“12.3”).doubleValue();//返回什么?
幻灯片34
引用类型—类
●定义类(新的数据类型)
●classMyDate{
●intday=12;
●intmonth=3;
●intyear=2008;
●}
●基本数据类型—直接分配内存空间
●inti,j,k;
●引用类型—用new申请内存空间
●MyDated1;
●d1=newMyDate();
幻灯片36
程序例
●publicclassTest{
●publicstaticvoidmain(Stringargs[]){
●MyDated1;
●d1=newMyDate();
●System.out.println(d1.year);
●}
●}
●classMyDate{
●intday=12;
●intmonth=3;
●intyear=2008;
●}
幻灯片37
引用类型—数组
●数组在其他语言中是相同数据类型的元素的集合;而在Java中,数组是独立的类,有自身的方法,不是变量的集合。
●数组是通过new运算符来动态创建,并分配与数组下标数和维数、数组数据类型相匹配的内存空间。
数组一经被分配了适当的空间,则其所有元素都初始化为默认值。
●Java中,数组声明允许方括号跟在数组类型声明之后。
●数组的声明:
●intintArray[];--([]不是指长度可变)
●int[]intArray;
幻灯片38
●数组的长度不是在声明时指定,而是在创建时由所开辟的内存单元数目确定。
●数组的创建(3步):
●数组的声明
●创建数组空间
●创建数组元素并初始化。
●若数组元素为基本数据类型,第三步可以省略;当数组元素为对象时,则必须对数组元素进行创建和初始化。
幻灯片39
●创建方法:
●先声明后创建
intintArray[];
●intArray=newint[10];
●在声明的同时创建
●intintArray[]=newint[10];
●直接赋值
●int[]intArray={1,2,3,4,5};
幻灯片40
数组元素为类的对象
●定义数组
●Integer[]a;
●Integer[]b=newInteger[5];
●创建数组元素的对象实例
●for(inti=0;i ●b[i]=newInteger(i*10); ●创建数组时初始化 ●Integer[]d= ●{newInteger (1),newInteger (2),newInteger(3)}; 幻灯片41 数组的空间分配 ●int[]intArray={11,47,93,26,38}; ●分配空间+赋初值 ●静态初始化必须与数组定义放在一个语句中。 ●intArray=newint[10];//原数组丢失 ●数组定义后还不能立即被访问,因为 ●还没有为其分配内存空间。 数组必须经定义后再创建这一步才能使用 幻灯片42 多维数组定义 ●在Java中,对多维数组的定义是通过对一维数组的嵌套式定义来实现,即数组的数组 ●typearryName[][]; ●定义之后,须用关键字new建立数组,即为其分配内存空间,可采用两种方法: ●一步完成二维分配 ●如: int[][]intArray=newint[2][8]; ●分别为每一维分配存储空间,但须从高维开始 ●如: int[][]intArray=newint[2][];//最高维含2个元素 ●intArray[0]=newint[8];//第二维第一个元素为8个整型数 ●intArray[1]=newint[6];//第二维第二个元素为6个整型数 ●int[][]intArray={{1,3},{2,4},{1,2,3,4}}; 幻灯片43 数组 ●数组使用之前要确定大小,可以在程序中根据需要指定其大小(如用表达式计算出大小)。 ●一旦生成数组,大小不可改变。 java不支持变长数组。 ●数组的域—length代表数组元素的个数 ●数组是一个对象,length为数组的成员变量,调用它可查看数组长度。 ●Java数组作为一种对象类型,可以作为方法的参数,传递的是指向数组的引用。 ●越界例外 ●用下标变量访问数组元素(0~N-1),越界时系统会产生例外: ArrayIndexOutOfBoundsException例外 幻灯片44 数组 intm1,m2; int[][]a; m1=5;m2=8; a=newint[m1][m2]; for(inti=0;i<5;i++) for(intj=0;j<8;j++) a[i][j]=i*j; for(inti=0;i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 语言 基础