Java程序设计语言数据库技术.docx

上传人:b****6 文档编号:12645303 上传时间:2023-06-06 格式:DOCX 页数:20 大小:40.12KB
下载 相关 举报
Java程序设计语言数据库技术.docx_第1页
第1页 / 共20页
Java程序设计语言数据库技术.docx_第2页
第2页 / 共20页
Java程序设计语言数据库技术.docx_第3页
第3页 / 共20页
Java程序设计语言数据库技术.docx_第4页
第4页 / 共20页
Java程序设计语言数据库技术.docx_第5页
第5页 / 共20页
Java程序设计语言数据库技术.docx_第6页
第6页 / 共20页
Java程序设计语言数据库技术.docx_第7页
第7页 / 共20页
Java程序设计语言数据库技术.docx_第8页
第8页 / 共20页
Java程序设计语言数据库技术.docx_第9页
第9页 / 共20页
Java程序设计语言数据库技术.docx_第10页
第10页 / 共20页
Java程序设计语言数据库技术.docx_第11页
第11页 / 共20页
Java程序设计语言数据库技术.docx_第12页
第12页 / 共20页
Java程序设计语言数据库技术.docx_第13页
第13页 / 共20页
Java程序设计语言数据库技术.docx_第14页
第14页 / 共20页
Java程序设计语言数据库技术.docx_第15页
第15页 / 共20页
Java程序设计语言数据库技术.docx_第16页
第16页 / 共20页
Java程序设计语言数据库技术.docx_第17页
第17页 / 共20页
Java程序设计语言数据库技术.docx_第18页
第18页 / 共20页
Java程序设计语言数据库技术.docx_第19页
第19页 / 共20页
Java程序设计语言数据库技术.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Java程序设计语言数据库技术.docx

《Java程序设计语言数据库技术.docx》由会员分享,可在线阅读,更多相关《Java程序设计语言数据库技术.docx(20页珍藏版)》请在冰点文库上搜索。

Java程序设计语言数据库技术.docx

Java程序设计语言数据库技术

一、边读边做

1、填空:

(1)程序设计中,是一种表示的常用手段。

是一种表示姓名、提示信息等类似数据的常见形式。

Java语言为数组类型与字符串都字义了相应的标准类型,是实现数组类型的组织与操作的类,是实现字符串存储和操作的类。

(2)根据数据类型的构造方法不同,可以所有的数据类型分为两个类型:

所谓简单类型是指,所谓复合类型型是指,既将组织在一起。

数组属于,它由组成。

从严格意义上讲,在Java语言中,数组是的类的对象,因些它又属于引用类型。

由的个数可以将数组分为、和。

(3)所谓一维数组是指。

在Java语言中,使用数组类型需要。

数组类型属于,也就是说,定义的数组类型的变量是,因此系统仅为这个变量分配一个所需存储空间,此时所引用的类可能根本不存在,还需通过创建过程给予构建,由此导出,在定义数组变量时,不需要(Java语法也不允许)。

(4)Java语言定义数组型变量的语法格式:

或者,

(5)数组型变量属于类型,其内部存储的是,而数组本身需要利用创建。

一个数组可以包含多个元素,被称为数组长度,数组也可以没有任何元素,此时称为。

正因为如此,在创建数组时需要给出。

利用创建数组的语法格式:

也可将数组的定义与创建合并到一起。

一旦创建数组,系统就会为其,并将数组的引用信息存放到相应数组型变量中。

对数组元素的任何操作都需要通过实现。

数组一旦被创建就其长度。

(6)在创建数组的同时,称为数组的初始化。

(7)在Java语言中,数组的下标从开始,到结束。

访问数组元素的格式为:

在时,会严格检查每个“下标表达式”的,一旦发生越界,会抛出。

(8)JDK5.0中专门增加了一个专门用于操作数据集合的循环控制结构语句foreach,书写格式为:

(9)在Java语言中,数组型变量可以实现两种形式的复制操作。

第一种称为;第二种称为。

第二种形式的复制操作是通过类的静态方法实现的,此方法的定义格式如下:

在时,会严格检查每个“下标表达式”的,一旦发生越界,会抛出。

(10)在Java语言中,一维数组的元素可以属于类型,包括和;也就是说,一维数组的元素又可以是一个一维数组类型,这就支持了,乃至的概念。

Java语言中二维数组的定义格式为:

或者,

或者,

创建二维数组的格式为:

在Java语言中二维数组中各行的列数是可以,也可以。

(11)Java语言提供了两种字符串类型,和。

字符串直接常量是用括起起来的字符序列。

除了可以直接书写字符串直接常量外,还可以把一个字符串存储在一个String类的对象中。

String类字义在包中,还提供了很多字符串操作的成员方法。

定义String类有对象的格式如下:

创建或初始化String对象的方法如下:

或者,

(12)String类的主要成员方法列于下表:

方法

描述

 

 

 

(13)Array是位于包中的标准类,其中包含了多个静态成员方法,通过它们可以完成数组的各种操作。

Array的常用静态成员方法列于下表:

方法

功能描述

 

 

 

 

 

2、名词:

(1)简单类型:

(2)复合类型型:

(3)数组:

(4)一维数组:

(5)数组的初始化:

(6)数组长度:

(7)空数组:

(8)字符串:

二、边学边练

第1部分:

数组

〖任务1〗:

完成教材【例3-1】的程序,分析运行结果,阅读教材相关内容。

〖任务2〗:

完成教材【例3-2】的程序,分析运行结果,阅读教材相关内容。

〖任务3〗:

完成教材【例3-3】的程序,分析运行结果,阅读教材相关内容。

第2部分:

字符串

〖任务4〗:

完成教材【例3-4】的程序,分析运行结果,阅读教材相关内容。

第3部分:

Array

〖任务5〗:

完成教材【例3-5】的程序,分析运行结果,阅读教材相关内容。

三、精讲精记

一、数组

1、数组的概念

数组是一个最常用的复合数据结构,一个数组中可以存放多个同类型的数据。

数组分为一维数组,二维数组和多维数组。

Java语言中的数组是引用类型,定义一个数组变量,实际上是定义一个数组的引用。

Java语言中的二维数组的各行的元素数可以不同。

2、一维数组

(1)定义数组变量:

数组元素类型[]变量;

或者,

数组元素类型变量[];

(2)数组的创建:

new数组元素类型[元素个数];

(3)数组的初始化。

数组元素类型[]变量={元素值列表};

3、二维数组

(1)定义数组变量:

数组元素类型[][]变量;

或者,

数组元素类型变量[][];

(2)数组的创建:

new数组元素类型[数组的行数][数组的列数];

或者,

new数组元素类型[数组的行数][];

(3)数组的初始化。

数组元素类型[]变量=

{{第0行元素值列表},{第1行元素值列表},……,{第n-1行元素值列表}};

3、多维数组

基本思路:

数组的每个元素都可以是一个数组。

二、字符串

1、字符串的概念

字符串一个字符串序列,字符串中的字符个数称为字符串的长度。

Java中的字符串是类(java.lang包中),分为两种字符串:

不可变字符串String,线程安全可变字符串StringBuffer,线程不安全可变字符串StringBuilder。

字符串变量是字符串的引用。

2、String对象

(1)字符串常量:

用双引号引起来的字符串序列。

如:

"good"

(2)字符串变量的定义:

用双引号引起来的字符串序列。

如:

"good"

String变量;

(3)创字符串对象:

newString(字符串常量);

(4)给字符串变量赋值:

变量=newString(字符串常量);

或者,

变量=字符串常量;

3、String类提供的方法

方法

描述

intlengh()

返回字串常长度

charcharAt(intindex)

返回字符串中指定位置的字符

booleanequals(ObjectothObject)

判断当前字符串与otherObject是否相等。

intcopareTo(StringothString)

当前字符串与otherString进行比较,如大于则返回1,小于则返回-1,相等返回0。

intindex(charch)

返回字符ch在字符串中的位置

intindexOf(Stringstr)

返回字符串str在字符串中的位置

Stringsubstring(intbegin)

Stringsubstring(intbegin,intend)

返回从begin开始到字符串结束的子字符串

返回从begin开始到end结束的子字符串

Stringconcat(Stringstr)

返回当前字符串与字符串str连接的字符串

Stringreplace(charoldChar,charnewChar)

将当前字符串中的oldChar替换为newChar返回

StringtoLowerCase()

将当前字符串中字母转化为小写字符后返回

StringtoUpperCase()

将当前字符串中字母转化为大写字符后返回

StringvalueOf(Objectobj)

StringvalueOf(booleanb)

StringvalueOf(charc)

StringvalueOf(inti)

StringvalueOf(longl)

StringvalueOf(floatf)

StringvalueOf(doubled)

把各种类型的值转换为字符串

三、Arrays类

Arrays类是JavaAPI中提供的标准类,在java.util包中。

Arrays类中提供了多个静态方法,可直接实现数组的排序、搜索等数组的操作。

1、数组的排序

voidArrays.sort(elementType[]a);

2、数组的搜索(二分法)

intArrays.binarySearch(elementType[]a,elementTypev)

3、数组的复制

elementType[]Arrays.copyOf(elementType[]original,intnewLength)

4、数组的填充

voidArrays.fill(elementType[]original,elementTypev)

5、数组的比较

booleanArrays.equals(elementType[]a,elementType[]b)

四、完善调试

1、任务一:

设计一个程序,从键盘上输入n个整数,计算它们的最大值、最小值及平均值。

再计算大于平均值的数的个数和小于平均值的数的个数。

import;

publicclassMyNumber{

main(){

Scannerin=;

System.out.print("请输入整数的个数:

");

intn=;

int[]data=;//声明、创建存放n个整数的数组

intmax=0,min=0;

intsum=0,aver=0;

intlarge=0,smaller=0;

for(;;){

System.out.print("\n请输入第"++"个整数:

");

;

if(i==0){

;

;

}else{

if(data[i]>max){

;

}

if(data[i]

;

}

}

sum+=;

}

aver=;

for(;;){

if(data[i]>aver){

;

}

if(data[i]

;

}

}

System.out.print("\n输入的"+n+"个整数:

");

for(inti=0;i

if(i!

=n-1){

System.out.print(+"、");

}else{

System.out.println();

}

}

System.out.printf("最大数为:

%d,最小数为:

%d,平均数为:

%d\n",max,min,aver);

System.out.printf("大于平均数的数的个数为:

%d,小于平均数的数的个数为:

%d\n",large,smaller);

}

}

2、任务二:

设计一个Java程序,从键盘上输入一句英语。

统计其中单词的个数和每个字母出现的频率。

import;

publicclassSentence{

publicstaticvoid(String[]args){

=newScanner(System.in);

System.out.print("请输入一句英语:

");

Stringsentence=;

intwordNumber=0;

intletterNumber=0;

int[]letterFrequency=newint[26];

String[]words=sentence.split("[^a-zA-Z]");

wordNumber=words.length;

for(inti=0;i<;i++){

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

letterNumber++;

charletter=words[i].;

letter=Character.toLowerCase(letter);

intindex=(int)letter-97;

letterFrequency[]++;

}

}

System.out.println("各字母出现的频率:

");

for(inti=0;;i++){

System.out.printf("%c:

%f\n",,);

}

}

}

3、任务三:

设计一个Java程序,从键盘上输入一个n维方阵,输出这个方阵。

对这个方阵进行转置操作,输出转置操作后的结果。

importjava.util.Scanner;

publicclassMatrix{

publicstaticvoidmain(String[]args){

Scannerin=newScanner(System.in);

System.out.print("请输入方阵的维数:

");

intn=in.nextInt();

int[][]matrix=newint[n][n];

for(inti=0;i

for(intj=0;j

System.out.print("\n请输入第"+(i+1)+"行第"+(j+1)+"列:

");

matrix[i][j]=in.nextInt();

}

}

System.out.println("\n输入的原方阵:

");

for(inti=0;i

for(intj=0;j

System.out.printf("%3d",matrix[i][j]);

}

System.out.println();

}

for(inti=0;i

for(intj=0;j

inttemp=matrix[i][j];

matrix[i][j]=matrix[j][i];

matrix[j][i]=temp;

}

}

System.out.println("\n转置操作后的方阵:

");

for(inti=0;i

for(intj=0;j

System.out.printf("%3d",matrix[i][j]);

}

System.out.println();

}

}

}

五、项目实战

写一个学生成绩管理的简易程序,要求如下:

1、程序提供如下功能菜单:

2、如果选择菜单“1”,则先提示输入学生人数,再逐一输入每个学生的姓名、语文成绩、数学成绩、英语成绩。

如:

成绩输入完毕后,呈现功能菜单。

3、如果选择菜单“2”,则逐一输出每个学生的姓名、语文成绩、数学成绩、英语成绩、总成绩、平均成绩。

如:

4、如果选择菜单“0”,程序输出:

结束程序运行。

5、建议用一个一维字符串数组存放全体学生的姓名,用一个二维float数组存放各同学的语文成绩、数学成绩、英语成绩,总成绩和平均成绩计算获取。

程序的源代码如下:

 

 

六、课后练习

一、选择题

1、String、StingBuffer和StringBuilder都是______类,都不能被继承。

A、static B、abstract、C、final D、private 

2、下列程序的功能是统计字符串中"array"的个数,在程序的空白处应填入的正确选项是

public class FindKeyWords{ 

public static void main(sring[] args){ 

sting text= "An array is a data structur that stores a collection of"

 + "values of the same type . You access each individual value"

+ "through an integer index . For example,if a is an array"

+ "of inergers, then a[i] is the ith integer in the array.";

int arrayCount =0; 

int index = -1; 

Sting arrarStr ="array";

index = text.indexof(arrayStr); 

while(index     0) { 

++arrayCount; 

index += arrayStr.length(); 

index = text.indexof(arrayStr,index); 

System.out.println(“the text contains” + arrayCount + “arrays”);

A、< B、= C、<= D、>=

3、给出下列代码,则数组初始化中哪项是不正确的?

Byte[] array1,array2[];  

byte array3[][];  

byte[][] array4;  

A、array2 = array1  B、array2=array3  

C、array2=array4D、array3=array4  

4、顺序执行下列程序语句后,则b的值是

Stringa="Hello";

Stringb=a.substring(0,2);

A、HelloB、helloC、HelD、null

5、执行完以下代码int[]x=newint[10];后,以下哪项说明是正确的

A、x[9]为0B、x[9]未定义C、x[10]为0D、x[0]为空

6、对数组的定义及初始化不正确的方法是:

A、intarray[];

B、intarray[8];

C、int[]array=newint[8];

D、intarray[]=newint[8];

7、关于length()这个方法的表述正确的是哪个?

A、数组有length()这个方法,String也有length()这个方法。

B、数组有length()有这个方法,String没有length()这个方法。

C、数组没有length()这个方法,String有length()这个方法。

D、数组没有length()这个方法,String也没有length()这个方法。

8、运行下面程序段的结果是()。

publicclassMyMain{

publicstaticvoidmain(Stringargs){

System.out.println("HelloJava");

}

}

A、正常输出HelloJavaB、编译时出错

C、运行时出错D、以上答案都不对

9、编译并运行下述程序段的结果是()。

publicclassTest{

publicstaticvoidmain(Stringargv[]){

int[]count=newint[4];

System.out.println(count[4]);

}

}

A、编译时错误B、运行时错误C、输出0D、输出null

10、下面哪个语句(初始化数组)是不正确的()。

A、 int x[] = {1,2,3}; B、 int x[3] = {1,2,3}; 

C、 int[] x = {1,2,3}; D、 int x[] = new int[]{1,2,3}; 

11、运行下面程序段的结果是()。

publicclassTest{

publicstaticvoidmain(Stringargv[]){

int[][]data={{1,2,3,4,5},{11,22,33,44,55},{111,222,333,444,555}};

for(inti=0;i

if(i%2==0){

System.out.println(data[i][4]+"");

}

}

}

}

A、5555B、555D、55

二、填空题

1、设有数组定义:

inta[][]={11,22,33,44,55,66,77,88,99};则执行下列几个语句后的输出结果是【1】。

for(inti=0i

if(a[i]%3==0)System.out.println(a[i]+"");

2、下面程序的运行结果是【2】。

importjava.io.*

publicclassABC{

publicstaticvoidmain(String[]args){

inta[][]={11,22,33,44,55,66,77,88,99};

for(inti=0;i<=a.length/2;i++)

System.out.print(a[i]+a[a.length-i-1]+"");

System.out.println();

}

}

3、请完成下列程序,实现随机抽取数据元素的功能。

publicclassChouti{

publicstaticvoidmain(String[]args){

String[]timu={"天文","地理","历史","文学","红楼","三国"};

intindex=(int)(timu.leng*Math.random());

System.out.print("你抽的题目领域是"+【3】[index]+"。

");

}

}

4、有字符串s1,则其长度为【4】。

5、有数组array,则其长度为【5】。

6、有如下代码:

Strings1,s2;

s1="abcd";

s2="abcd";

则s1.equals(s2)的值为【6】。

7、有如下代码:

Strings1,s2;

s1="abcd";

s2=s1;

则s1.equals(s2)的值为【7】。

8、有如下代码:

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

当前位置:首页 > 医药卫生 > 基础医学

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

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