窗口与网络编程第2课oommttpptConvertor.docx

上传人:b****1 文档编号:2266109 上传时间:2023-05-03 格式:DOCX 页数:28 大小:26.06KB
下载 相关 举报
窗口与网络编程第2课oommttpptConvertor.docx_第1页
第1页 / 共28页
窗口与网络编程第2课oommttpptConvertor.docx_第2页
第2页 / 共28页
窗口与网络编程第2课oommttpptConvertor.docx_第3页
第3页 / 共28页
窗口与网络编程第2课oommttpptConvertor.docx_第4页
第4页 / 共28页
窗口与网络编程第2课oommttpptConvertor.docx_第5页
第5页 / 共28页
窗口与网络编程第2课oommttpptConvertor.docx_第6页
第6页 / 共28页
窗口与网络编程第2课oommttpptConvertor.docx_第7页
第7页 / 共28页
窗口与网络编程第2课oommttpptConvertor.docx_第8页
第8页 / 共28页
窗口与网络编程第2课oommttpptConvertor.docx_第9页
第9页 / 共28页
窗口与网络编程第2课oommttpptConvertor.docx_第10页
第10页 / 共28页
窗口与网络编程第2课oommttpptConvertor.docx_第11页
第11页 / 共28页
窗口与网络编程第2课oommttpptConvertor.docx_第12页
第12页 / 共28页
窗口与网络编程第2课oommttpptConvertor.docx_第13页
第13页 / 共28页
窗口与网络编程第2课oommttpptConvertor.docx_第14页
第14页 / 共28页
窗口与网络编程第2课oommttpptConvertor.docx_第15页
第15页 / 共28页
窗口与网络编程第2课oommttpptConvertor.docx_第16页
第16页 / 共28页
窗口与网络编程第2课oommttpptConvertor.docx_第17页
第17页 / 共28页
窗口与网络编程第2课oommttpptConvertor.docx_第18页
第18页 / 共28页
窗口与网络编程第2课oommttpptConvertor.docx_第19页
第19页 / 共28页
窗口与网络编程第2课oommttpptConvertor.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

窗口与网络编程第2课oommttpptConvertor.docx

《窗口与网络编程第2课oommttpptConvertor.docx》由会员分享,可在线阅读,更多相关《窗口与网络编程第2课oommttpptConvertor.docx(28页珍藏版)》请在冰点文库上搜索。

窗口与网络编程第2课oommttpptConvertor.docx

窗口与网络编程第2课oommttpptConvertor

Java语言基础

主要内容

Java程序结构

Java语法规则

基本数据类型类

数组

字符串

流程控制语句

2

程序结构

package

import---

class类名1{

属性定义

方法名1(){

-----

}

方法名2(){

-----

}

}

class类名2{

-------

}

Java语言的源代码由一个或多个编译单元(compilationunit)组成,每个编译单元只能包含下列内容:

(1)一个程序包语句(packagestatement)

(2)导入语句(importstatements)

(3)类的声明(classdeclarations)

(4)接口声明

(interfacedeclarations)

程序结构

每个Java语言的编译单元可包含多个类或接口,但是每

个编译单元最多只能有一个类或接口是公共的。

每个编译单元就是一个以.java为后缀的Java语言源程

序文件。

一个程序可包括若干个类,各类之间存在并列、继承

和包含关系。

这些类通常是在一起协同工作的:

每一个类都可能需

要创建其他类的对象,并调用类或对象的属性及方法。

编程只能在方法中进行。

编译后每个类产生一个.class文件。

包是每个Java系统用来组织类的组织,功能作用和来

源相关的类通常放在同一个包中。

java的名字空间和包

作为一种在整个Internet上动态装载模块的语言,Java

特别注意避免名字空间的冲突。

全局变量不再是语言的组成部分(没有全局的属性与

方法)。

所有的方法和属性都在类中定义,是类的组成部分。

每个类又是包的组成部分。

全限定名:

包名.类名.方法名

import打开一个包后,可直接指定该包中的类名。

在本类中,可以直接使用方法名及属性名。

包的概述

包是用途相近但功能不同的一些类和接口的松散集合。

类库由若干包组成。

java.langJava语言核心类库,包含了运行Java程序必不可少的系统类(如基本数据类型,基本数学函数,字符串处理、线程、异常处理类等),每个Java程序运行时,系统会自动引入该包。

java.awtJava语言用来构建图形用户界面的类库,包括许多界面元素和资源,在三个方面提供界面设计支持:

低级绘图操作(如Graphics类);图形界面组件和布局管理(如Checkbox类,Container类,LayoutManager接口等),以及界面用户交互控制和事件响应(如Event类),利用该包可很方便设计出精美图形界面。

包的概述

java.applet用来实现运行于Internet浏览器中的JavaApplet的工具类库,它仅包含一个非常有用的类java.applet.Applet。

(创建Applet小程序)

java.ioJava语言的标准输入/输出类库,包含了实现Java程序与操作系统、用户界面以及其他Java程序做数据交换所使用的类。

(输入输出)

Java语言用来实现网络功能的类库,利用包中的类,开发者可以编写自己的具有网络功能的程序。

java.util实用程序类,包括了Java语言中的一些低级的实用工具(如随机数、日期、系统属性…)

Java类库是系统提供的已实现的标准类的集合,是Java的API,帮助开发者方便快捷地开发Java程序。

语句规则

语句种类

说明语句如属性说明、变量说明等

表达式语句

控制语句(条件、循环、跳转)

异常处理语句

块语句(代码块,一组语句用花括号括起来)

注释(被Java编译器忽略)

//---注释一行

/*---*/一行或多行注释

/**---*/文档注释

语句规则

Java语言标示符

在Java语言中定义的变量、方法、类和对象的名称都是标示符。

Java语言标示符必须以大写字母“A”到“Z”和小写字母“a”到“z”或“_”、“$”开头,后面可以跟包含字母和数字0~9的字符。

有效的标示符myname$bill_100

无效的标示符486_cpu@email

基本语句用标示符“;”结束

当在Java语言中需要使用变量、方法、类和对象等标示符时,都要在使用前进行声明。

Java语言中有60个关键字。

数据类型与说明语句

Java程序中所处理的数据是将各种数据类型实例化后的数据。

数据类型实例化的方法:

说明语句

实例化数据的两种形式:

变量与常量

数据类型

数据类型关键字占用比特数缺省数值

布尔型boolean8false

字节型byte80

字符型char16‘\u0000’

短整型short160

整型int320

长整型long640

浮点型float320.0F

双精度型double640.0D

常量

定义常量的语法格式:

finaltypeconstantName=constantValue;

关键字类型常量名常量值

布尔常量truefalse

整型常量

一般常量:

32bit长整型常量:

64bit(88L)

十进制数:

非0开头的正负整数105,-23

八进制数:

0开头的正负整数017(15),-023(-19)

十六进制:

0x开头的正负整数0x2F(47),-0xa8(-

168)

常量

浮点常量

一般浮点常量(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”

常量

特殊字符

引用方法对应Unicode码意义

‘\b’‘\u0008’退格

‘\t’‘\u0009’横向跳格、水平制表符tab

‘\n’‘\u000a’换行

‘\r’‘\u000d’回车

‘\”’‘\u0022’双引号

‘\’’‘\u0027’单引号

‘\\’‘\u005c’反斜线

变量

变量声明:

先声明,后使用

声明变量的格式:

typevariableName1,variableName2,···;

typevariableName1[=initValue],variableName2[=initValue],···;

类型变量名[变量初始值]

如:

doublea,b,c;

intnSecond=10;

基本数据类型

Java标识符

字母、数字、_、$组成,但以字母、_、$开头

区分大小写

数据类型与说明语句

基本数据类型说明语句:

booleanb=true;

shortsi=128;

inti,j,k=-99;

longl=123456789;

charch='J';

charchc='中';

floatf=3.1415926;

doubled=-1.04E-5;

Java几乎是将字符串视为基本数据类型

Strings=“你好!

”;

数据类型转换

同种数据类型转换:

短类型长类型:

默认

长类型短类型:

强制

不同数据类型转换——字符/数值:

强制

例:

inta;

longb;

charc;

b=a;

a=(int)b;

c=(char)a;a=(int)c

布尔型与其他数据类型之间不能强制类型转换

byte

short

int

long

float

double

数据类型转换

importjava.io.*;

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);王

}

}

Java运算符

一般运算是把运算对象作为一个整体处理,而位运算是把整型数运算对象拆开,以位(bit)作为运算对象

Java运算符

合并运算符

二元运算符@=,a@=b即a=a@b

a+=bþa=a+b;

运算符的优先级

括号最优先

注释

//行注释

/**/块注释

/***/文档注释

+号:

可连接字符串“He”+“llo”为“Hello”

运算符例—移位

移位

>>带符号右移:

左侧空出位全用符号位填充

>>>不带符号右移:

左侧空出位用0填充

<<左移:

符号位被挤掉

x二进制补码表示x<<2x>>2x>>>2

3000011110011110000000011100000111

-1711101111101111001111101100111011

128>>1128/21=64

256>>4256/24=16

-256>>4-256/24=-16

128<<1128*21=256

16<<216*22=64

运算符例

自运算符++、--

j++、j--、++j、--j

运算符的位置决定了自运算的顺序(在操作数变量之前或在操作数变量之后)

a=3b=5c=(a++)*ba=4c=15

a=3b=5c=(++a)*ba=4c=20

三目条件运算符(?

D=表达式A?

表达式B:

表达式C

A为真,返回表达式B

A为假,返回表达式C

总是返回B,C中的长类型

例:

intx=5,y=8;longz=2;

longk=x>3?

y:

z;//k=8

语句

在java语言中语句以“;”为终结符。

一条语句构成了一个执行单元。

Java中有3类语句。

1、表达式语句

赋值表达式语句:

a=896.7;

增量表达式语句:

a++;

方法调用语句:

System.out.println(a);

对象创建语句:

Integerintegerobject=newInteger(4);

2、声明语句

用于声明变量或方法:

doublea=896.7;

语句

3、程序流控制语句

程序流控制语句控制程序中语句的执行顺序,例如for循环和if语句都是程序流控制语句。

If(m>n){//if语句块

System.out.println(“themaxnumberofmandnis”+m);

}

Else{

System.out.println(“themaxnumberofmandnis”+n);

}

Wrapper类(java的包装类)

Integer

属性

static intMAX_VALUE返回int型数据的最大值

static intMIN_VALUE返回int型数据的最小值

构造方法

Integer(intvalue)

Integer(Strings)

方法

intintValue()doubledoubleValue()

StringtoString()

staticStringtoString(inti)

staticintparseInt(Strings)

staticIntegervalueOf(Strings)

类型转换—利用类/对象方法

利用类方法(静态方法)

staticintInteger.parseInt(“23”)

staticStringInteger.toString(23)

staticdoubleDouble.parseDouble(“12.3”)

staticStringDouble.toString(12.3)

利用对象方法

Doubled;Strings;//声明

d=newDouble(12.3);//创建

s=d.toString();

Double.valueOf(“12.3”).doubleValue();//返回

引用类型—类

定义类(新的数据类型)

classMyDate{

intday;

intmonth;

intyear;

}

基本数据类型——直接分配内存空间

inti,j,k;

引用类型

MyDated1;

d1=newMyDate();

引用类型—类

MyDated1=newMyDate();

d1.day=28;

d1.month=12;

d1.year=70;

引用类型—数组

数组在其他语言中是相同数据类型的元素的集合;而在Java中,数组是独立的类,有自身的方法,不是变量的集合

一个数组是数组类的一个对象。

数组是通过new运算符来动态创建,并分配与数组下标数和维数、数组数据类型相匹配的内存空间。

数组一经被分配了适当的空间,则其所有元素都初始化为默认值。

Java中,数组声明允许方括号跟在数组类型声明之前和后。

数组的声明

intintArray[];--([]不是指长度可变)

int[]intArray;

数组

数组的长度不是在声明时指定,而是在创建时由所开辟的内存单元数目确定。

数组的创建(3步)

数组的声明

创建数组空间

创建数组元素并初始化。

若数组元素为基本数据类型,第三步可以省略;当数组元素为对象时,则必须对数组元素进行创建和初始化。

一维数组定义int[]intArray;

数组类对象引用说明(intArray)

动态分配空间(newint[5]或数组初始化)

int[]intArray=newint[5];

33

数组

创建方法:

先声明后创建

intintArray[];

intArray=newint[10];

在声明的同时创建

intintArray[]=newint[10];

直接赋值

int[]intArray={1,2,3,4,5};

数组元素为类的对象

定义数组

Integer[]a;

Integer[]b=newInteger[5];

创建数组元素的对象实例

for(inti=0;i

b[i]=newInteger(i*10);

创建数组时初始化

Integer[]d=

{newInteger

(1),newInteger

(2),newInteger(3)};

例:

ArraySize.java

数组元素为对象的创建

数组元素为基本数据类型的创建

//Arraysofobjects:

Weeble[]a;//仅声明

Weeble[]b=newWeeble[5];

//仅创建,未初始化各元素

Weeble[]c=newWeeble[4];

for(inti=0;i

c[i]=newWeeble();

//创建数组,之后初始化各元素

Weeble[]d={

newWeeble(),newWeeble(),newWeeble()};

//创建数组时初始化

//Arraysofprimitives:

int[]e;

//仅声明

int[]f=newint[5];

//仅创建,未初始化各元素,缺省为0

int[]g=newint[4];

for(inti=0;i

g[i]=i*i;

//创建数组,之后初始化各元素

int[]h={11,47,93};

//创建数组同时初始化

数组

int[]intArray={11,47,93,26,38};

分配空间+赋初值

静态初始化必须与数组定义放在一个语句中。

intArray=newint[10];//原数组丢失

数组定义后还不能立即被访问,因为

还没有为其分配内存空间。

数组必须经定义后再创建这一步才能使用

XXXX

intArray

多维数组定义

在Java中,对多维数组的定义是通过对一维数组的嵌套式定义来实现,即数组的数组

typearryName[][];

定义之后,须用关键字new建立数组,即为其分配内存空间,可采用两种方法:

一步完成二维分配

如:

int[][]intArray=newint[2][8];

分别为每一维分配存储空间,但须从高维开始

如:

int[][]intArray=newint[2][];//最高维含2个元素

intArry[0]=newint[8];//第二维第一个元素为8个整型数

intArry[1]=newint[8];//第二维第二个元素为8个整型数

int[][]intArray={{1,3},{2,4},{1,2,3,4}};

数组类

数组使用之前要确定大小,可以在程序中根据需要指定其大小(如用表达式计算出大小)。

一旦生成数组,大小不可改变。

java不支持变长数组。

数组的属性—length代表数组元素的个数

数组是一个对象,length为数组的成员变量,调用它可查看数组长度

Java数组作为一种对象类型,可以作为方法的参数,传递的是指向数组的引用。

越界例外

用下标变量访问数组元素(0~N-1),越界时系统会产生例外:

ArrayIndexOutOfBoundsException例外

程序实例

Array1.java

publicclassArray1{

publicstaticvoidmain(Stringargs[]){

inti;

inta[];//声明一个数组a

a=newint[5];//分配内存空间,数组元素为5

for(i=0;i<5;i++)//对数组元素进行赋值

a[i]=3*i+1;

for(i=a.length-1;i>=0;i--)

System.out.println("a["+i+"]="+a[i]+",\t");

}}

程序实例Array3.java

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

for(intj=0;j

System.out.print(a[i][j]+“\t”);

System.out.println("");

}

JAVA中的字符串

Java中的字符串也是类。

由于使用频繁,有时也被视为基本类型

遇到双引号自动创建String类的对象

提供字符串运算符,字符串的连接:

+

定长字符串:

String类(效率较高)

不能更改

可变字符串:

StringBuffer类(使用灵活)

可追加、插入、修改,但内存管理复杂

引用类型—字符串类

Java语言将字符串作为对象来处理,每一个字符串常量是字符串类String的一个实例。

构造方法

String()、String(String)、String(charchars[])

创建字符串

Strings=newString();//生成一个空字符串

Strings=newString(“abc”);

char[]data={'a','b','c'};

Strings=newString(data);

Strings=“abc”;

//采用字符串直接定义获得内存空间

引用类型—字符串类

intx=123;

inty=x;

Strings1=“abc”;

Strings2=s1;

null

x

y

s1

s2

“abc”

s2=“def”

引用类型—字符串

Strings1=newString(“abc”);

Strings2=newString(“abc”);

0x01234567

0x12345678

s1

s2

“abc”

“abc”

s1==s2false

s1.equals(s2)true

引用类型—字符串

Strings1=“abc”;

s1=s1+“def”;

XXXXX

“abc”

s1

字符串类-String

方法

intlength()//返回字符串长度

例:

“Java与面向对象程序设计”.length()的值为13

charcharAt(intindex)//返回指定位置的字符

例:

"Java与面向对象程序设计".charAt

(2)

intcompareTo(Strings2)//按字母序进行字符串比较

booleanequals(Objectobj)//判断字符串相等(区分大小写)

booleanequalsIgnoreCase(Strings2)//(不区分大小写)

StringtoLowerCase()//将字符串所有大写字母转换为小写

StringtoUpperCase()//将字符串所有小写字母转换为大写

字符串类-String

Stringsubstring(intbeginIndex)//取子串,返回当前串中从下标beginIndex开始到串尾的字串。

String

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2