JAVA 与 面向对象程序设计 - 北京大学_第1页
JAVA 与 面向对象程序设计 - 北京大学_第2页
JAVA 与 面向对象程序设计 - 北京大学_第3页
JAVA 与 面向对象程序设计 - 北京大学_第4页
JAVA 与 面向对象程序设计 - 北京大学_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java语言基础程序结构语句规则语言基本单位Java概述面向对象基本概念Java

语言基础OO程序设计(上)对象与类数据结构与语言基础类图形用户界面OO程序设计(下)高级功能Applets异常处理文件及输入输出网络编程多线程JDBC与数据库访问JSP与Web应用Java的可视化编程环境J2SEJ2EEJ2ME程序结构

packageimport---class类名1{属性定义方法名1(){-----}方法名2(){-----}}

class类名2{-------}一个程序可包括若干个类,各类之间存在并列、继承和包含关系。这些类通常是在一起协同工作的:每一个类都可能需要创建其他类的对象,并调用类或对象的属性及方法。编程只能在方法中。编译后每个类产生一个.class文件java的名字空间和包作为一种在整个Internet上动态装载模块的语言,Java特别注意避免名字空间的冲突。全局变量不再是语言的组成部分(没有全局的属性与方法)。所有的方法和属性都在类中定义,是类的组成部分。每个类又是包的组成部分。全限定名:包名.类名.方法名import打开一个包后,可直接指定该包中的类名。在本类中,可以直接使用方法名及属性名。包的概述一个包是一组相关类的集合。类库由若干包组成。java.lang语言核心类(StringIntegerMath)java.awt图形用户界面java.appletapplet小程序java.io文件与输入输出

网络编程java.util

实用程序类(随机数、日期、系统属性…)JavaAPI文档语句规则语句种类说明语句如属性说明、变量说明等表达式语句控制语句(条件、循环、转移)异常处理语句块语句(代码块,一组语句用花括号括起来)注释//---只限于行内/*---*/一段注释文本基本语句用分号结束数据类型与说明语句Java程序中所处理的数据是将各种数据类型实例化后的数据。数据类型实例化的方法:说明语句实例化数据的两中形式:变量与常量基本数据类型数值类型整数byte(8),short(16),int(32),long(64)浮点类型float(32),double(64)字符类型char(16)注:Unicode码布尔类型boolean(true/false)引用类型类class字符串StringStringBuffer数组类型[]数据类型与说明语句基本数据类型说明语句:booleanb=true;shortsi=128;intI,j,k=-99;longl=123456789;charch='J';charchc='中';floatf=3.1415926;doubled=-1.04E-5;Java几乎是将字符串视为基本数据类型Strings=“你好!”;

Java标识符:区分大小写组成:字母数字_$开头:字母_$

常量布尔常量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可省)数据类型转换同种数据类型转换:短类型长类型:默认长类型短类型:强制不同数据类型转换——字符/数值:强制 例:inta;

longb;

charc; b=a; a=(int)b;c=(char)a;a=(int)c布尔型与其他数据类型之间不能强制类型转换byteshortintlongfloatdouble数据类型转换importjava.io.*;publicclassa1{publicstaticvoidmain(Stringargs[]){inti=65;charc='a',cc='王';

System.out.println(i); 65System.out.println((char)i); ASystem.out.println(c); aSystem.out.println((int)c); 97 System.out.println(cc);

System.out.println((int)cc); 29579System.out.println((char)35328);

言}}1Wrapper类基本数据类型Wrapper类booleanCharactercharBooleanBytebyteShortshortIntegerintLonglongFloatfloatDoubledoubleInteger属性static

int

MAX_VALUE

返回int型数据的最大值static

int

MIN_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();//返回2引用类型—类定义类(新的数据类型):classMyDate{

intday;

intmonth;

intyear;}基本数据类型——直接分配内存空间。

intI,j,k;引用类型?

MyDated1;d1=newMyDate();引用类型—类MyDated1=newMyDate();nulld1daymonthyear0000x01abcdefd1.day=28;d1.month=12;d1.year=70;引用类型—数组在Java中,数组是独立的类,有自身的方法,不是变量的集合。一个数组是数组类的一个对象。一维数组定义int[]IntArray=newint[5];数组类对象引用说明(

IntArray)动态分配空间(newint[5])int[]IntArray(提倡格式)

类型变量名引用类型—数组int[]intArray={11,47,93,26,38}分配空间+赋初值静态初始化必须与数组定义放在一个语句中。intArray=newint[10];//原数组丢失。XXXXintArray1147933826数组元素为类的对象定义数组Integer[]a;//NullhandleInteger[]b=newInteger[5];创建数组元素的对象实例for(inti=0;i<b.length;i++) b[i]=newInteger(I*10);创建数组时初始化Integer[]d={newInteger(1),newInteger(2),newInteger(3)};多维数组定义数组元素又是数组对象int[][]intArray=newint[10][5];int[][]intArray={{1,3},{2,4},{1,2,3,4}}数组类数组使用之前要确定大小,可以在程序中根据需要指定其大小(如用表达式计算出大小)。一旦生成数组,大小不可改变。java不支持变长数组。数组的属性—length数组元素的个数java数组作为一种对象类型,可以作为方法的参数,传的是指向数组的引用。ArrayIndexOutOfBoundsException例外

数组类

intm1,m2;

int[][]a;m1=5;m2=10;a=newint[m1][m2];for(inti=0;i<5;i++)

for(intj=0;j<10;j++)

a[i][j]=i*j;for(inti=0;i<a.length;i++){

for(intj=0;j<a[i].length;j++)

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

System.out.println("");}3引用类型—字符串类字符串类代表字符串,每一个字符串常量是该类的一个实例。构造函数Strings=new();Strings=new(“abc”);char[]data={'a','b','c'};Strings=newString(data);Strings=“abc”;自动为该字符串常量创建一个

String类的实例引用类型—字符串类

intx=123;inty=x;Strings1=“abc”;Strings2=s1;1231230x01234567nullxys1s2“abc”s2=“def”“def”0x123456780x01234567引用类型—字符串Strings1=newString(“abc”);Strings2=newString(“abc”);0x012345670x12345678s1s2“abc”“abc”s1==s2falses1.equals(s2)true引用类型—字符串Strings1=“abc”;s1=s1+“def”;XXXXX“abc”“abcdef”s14字符串类-String方法intlength()//返回字符串长度例:“Java与面向对象程序设计”.length()

的值为13charcharAt(intindex)//返回指定位置的字符例"Java与面向对象程序设计".charAt(2)

intcompareTo(Strings2)//字符串比较intcompareToIgnoreCase(Strings2)booleanequals(Objectobj)//判断字符串相等StringtoLowerCase()//将字符串转换为小写StringtoUpperCase()//将字符串转换为大写(返回新串,不改变原字符串)字符串类-StringStringsubstring(int

beginIndex)//取子串

Stringsubstring(intbeginIndex,int

endIndex)intindexOf(Strings)//返回串s在当前串中位置

intindexOf(Strings,int

fromIndex)booleanstartsWith(Stringprefix)判断该字符串是否以prefix为前缀。booleanendsWith(Stringsuffix)

判断该字符串是否以suffix为后缀。char[]toCharArray()//将字符串转为字符数组5字符串类Java的字符串连接运算符+Object的方法toString()实现其他对象向字符串的转换main方法的参数classa{publicstaticvoidmain(String[]args){

intx=Integer.parseInt(args[0]);

inty=Integer.parseInt(args[1]);System.out.println(“x+y=“+(x+y));}}字符串类—StringBufferString类对象是不可变的字符串StringBuffer类对象是可变的字符串,有改变字符串的若干方法。构造函数StringBuffer()StringBuffer(intlength)//设置初始容量StringBuffer(Strings)方法StringtoString()voidsetCharAt(intindex,charc)//修改字符表达式语句表达式是变量、常量及运算符的组合。表达式既可单独组成语句,也可出现在条件测试、变量说明、方法调用的参数等场合在表达式构件中,运算符起到关键作用。运算符(实现操作)-运算元(操作对象)二元运算符、一元运算符、三元运算符表达式的结果是一个右值,即不能出现在赋值运算的左边。结果类型由参与运算的数据类型确定。赋值是一种运算符,为编程带来灵活性(如对循环变量进行初始化)。Java运算符一般运算是把运算对象作为一个整体处理,而位运算是把整型数运算对象拆开,以位(bit)作为运算对象算术运算符+,-,×,/,%取余,++,--,-取反关系运算符>,<,>=,<=,!=,==逻辑运算符&与,|或,!非,&&简洁与,||简洁或按位运算符~按位取反,&按位与,|按位或,^按位异或移位运算符<<左移,>>带符号右移,>>>不带符号右移三目条件运算D=表达式1?表达式2:表达式3赋值运算符=,+=,-=运算符例—移位移位>>带符号右移:左侧空出位全用符号位填充>>>不带符号右移:左侧空出位用0填充<<左移:符号位被挤掉

x 二进制表示 x<<2x>>2 x>>>230 00011110 01111000 00000111 00000111-17 11101111 10111100 11111011 00111011128>>1128/21=64256>>4256/24=16-256>>4-256/24=-16128<<1128*21=25616<<216*22=64运算符例自运算符++--j++j--++j--j运算符的位置决定了自运算的顺序(在表达式运算之前或在表达式运算之后。a=3b=5c=(a++)*b a=4c=15a=3b=5c=(++a)*b a=4c=20三目条件运算符(?:)D=表达式A?表达式B:表达式C A为真,返回表达式BA为假,返回表达式C总是返回B,C中的长类型例: intx=5,y=8;longz=2; longk=x>3?y:z; //k=8条件语句if(条件表达式)

语句块;

else

语句块;

多重嵌套的if语句if(条件1)

语句块1;elseif(条件2)

语句块2;elseif(条件3) ………else

语句块n;switch开关语句

switch(表达式) { case判断值1:语句组1;

case判断值2:语句组2break; ……

default:语句组n; }switch的常量和表达式可以是整型、字符型及byte型任何两个case常量不可以有相同的值。只能对等式进行测试,根据表达式取值的不同转向不同的分支。每个case分支中的语句块无须用花括号括起来。每个case分支都只是入口点break语句是转移语句(转出switch)Java的循环语句while(表达式)do{语句组;语句组;

}while(表达式);for(表达式1;表达式2;表达式3) 语句组;表达式1:循环变量赋初值,可使用外部没有定义的循环变量表达式2:循环条件表达式3:循环变量修正Java的转移语句没有goto语句break从一个封闭的语句,如switch,,循环中跳出来break标号从包含本break语句的标号指示的封闭语句中跳出来。

while(e1){

aaa:while(e1){while(e2){

while

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论