Java经典题Word文件下载.docx

上传人:b****8 文档编号:22231317 上传时间:2023-02-03 格式:DOCX 页数:23 大小:22.33KB
下载 相关 举报
Java经典题Word文件下载.docx_第1页
第1页 / 共23页
Java经典题Word文件下载.docx_第2页
第2页 / 共23页
Java经典题Word文件下载.docx_第3页
第3页 / 共23页
Java经典题Word文件下载.docx_第4页
第4页 / 共23页
Java经典题Word文件下载.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

Java经典题Word文件下载.docx

《Java经典题Word文件下载.docx》由会员分享,可在线阅读,更多相关《Java经典题Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。

Java经典题Word文件下载.docx

简单数据类型:

数值型(byte,short,int,long,floatdouble),字符型(char),布尔型(boolean);

引用数据类型:

类,接口,数组.

7.JAVA中运算符的分类及举例

•分割符:

,;

,[],()

•算术运算符:

+,―,*,/,%,++,――

•关系运算符:

>

,<

,>

=,<

=,==,!

=

•布尔逻辑运算符:

!

,&

|,^,&

&

,||

•位运算符:

&

,|,^,~,>

>

<

•赋值运算符:

=扩展赋值运算符:

+=,―=,*=,/=

•字符串连接运算符:

+

•造型操作符:

()

8.super,this关键字的作用及用法

•在Java类中使用super来引用父类的成分

–可用于访问父类中定义的属性super

–可用于调用父类中定义的成员方法super

–可用于在子类构造器中调用父类的构造器super

–的追溯不仅于直接父类super

•中为解决变量的命名冲突和不确定性问题,引入关键字“this”代表其所在方法的当前对象。

Java

–构造器中指该构造器所创建的新对象

–方法中指调用该方法的对象

•关键字的用法this

–在类本身的方法或构造器中引用该类的实例变量和方法

–将当前对象作为参数传递给其它方法或构造器

–用来调用其他的重载的构造器

9.什么是JAVA中的表达式?

有什么作用?

•表达式是运算符和操作数的结合,它是任何一门编程语言的关键组成部分

•表达式允许程序员进行数学计算、值的比较、逻辑操作以及在Java中进行对象的操作。

•一些表达式的例子:

–X

–X+10

–Y=x+10

–Arr[10]

–student.geName()

10.做表列出JAVA中所有修饰符和他们的适用范围(能不能修饰构造器,属性,自由块等)

class属性方法构建器自由块内部类

publicYYYYY

protectedYYYY

(Default)YYYYYY

privateYYYY

finalYYYY

abstractYYY

staticYYY

11.写一个方法,用一个for循环打印九九乘法表

/**

*一个for循环打印九九乘法表

*/

publicvoidnineNineMultiTable()

{

for(inti=1,j=1;

j<

=9;

i++){

System.out.print(i+"

*"

+j+"

="

+i*j+"

"

);

if(i==j)

i=0;

j++;

System.out.println();

}

12.给定一个java.util.Date对象,如何转化为”2007-3-2220:

23:

22”格式的字符串

*将某个日期以固定格式转化成字符串

*@paramdate

*@returnstr

publicStringdateToStr(java.util.Datedate)

SimpleDateFormatsdf=newSimpleDateFormat("

yyyy-MM-ddHH:

mm:

ss"

Stringstr=sdf.format(date);

returnstr;

13.写一个方法,能够判断任意一个整数是否素数

*判断任意一个整数是否素数

*@paramn

*@returnboolean

publicbooleanisPrimes(intn)

for(inti=2;

i<

=Math.sqrt(n);

if(n%i==0)

returnfalse;

returntrue;

14.写一个方法,输入任意一个整数,返回它的阶乘

*获得任意一个整数的阶乘

*@returnn!

publicintfactorial(intn)

//递归

if(n==1)

return1;

returnn*factorial(n-1);

//非递归

//intmulti=1;

//for(inti=2;

=n;

//multi*=i;

//}

//returnmulti;

15.写一个方法,用二分查找法判断任意整数在任意整数数组里面是否存在,若存在就返回它在数组中的索引位置,不存在返回-1

*二分查找特定整数在整型数组中的位置(递归)

*@paramdataset

*@paramdata

*@parambeginIndex

*@paramendIndex

*@returnindex

publicintbinarySearch(int[]dataset,intdata,intbeginIndex,intendIndex)

intmidIndex=(beginIndex+endIndex)/2;

if(data<

dataset[beginIndex]||data>

dataset[endIndex]||beginIndex>

endIndex)return-1;

dataset[midIndex])

returnbinarySearch(dataset,data,beginIndex,midIndex-1);

}elseif(data>

returnbinarySearch(dataset,data,midIndex+1,endIndex);

}else

returnmidIndex;

*二分查找特定整数在整型数组中的位置(非递归)

publicintbinarySearch(int[]dataset,intdata)

intbeginIndex=0;

intendIndex=dataset.length-1;

intmidIndex=-1;

while(beginIndex<

=endIndex){

midIndex=(beginIndex+endIndex)/2;

dataset[midIndex]){

endIndex=midIndex-1;

}elseif(data>

beginIndex=midIndex+1;

return-1;

16.做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处

packagecom.softeem.demo;

*@authorleno

*动物的接口

interfaceAnimal

publicvoideat(Foodfood);

*一种动物类:

classCatimplementsAnimal

publicvoideat(Foodfood)

System.out.println("

小猫吃"

+food.getName());

classDogimplementsAnimal

小狗啃"

*食物抽象类

abstractclassFood

protectedStringname;

publicStringgetName(){

returnname;

publicvoidsetName(Stringname){

this.name=name;

*一种食物类:

classFishextendsFood

publicFish(Stringname){

骨头

classBoneextendsFood

{

publicBone(Stringname){

*饲养员类

*

classFeeder

*饲养员给某种动物喂某种食物

*@paramanimal

*@paramfood

publicvoidfeed(Animalanimal,Foodfood)

animal.eat(food);

*测试饲养员给动物喂食物

publicclassTestFeeder{

publicstaticvoidmain(String[]args){

Feederfeeder=newFeeder();

Animalanimal=newDog();

Foodfood=newBone("

肉骨头"

feeder.feed(animal,food);

//给狗喂肉骨头

animal=newCat();

food=newFish("

鱼"

//给猫喂鱼

17.描述JAVA中异常处理的机制

•程序的执行过程中如出现异常,会自动生成一个异常类对象,该异常对象将被提交给Java运行时系统,这个过程称为抛出(throw)异常。

•当Java运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常。

•如果Java运行时系统找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出。

•程序员通常只能处理违例(Exception),而对错误(Error)无能为力。

2.18.做一个单子模式的类,只加载一次属性文件

importjava.io.FileInputStream;

importjava.io.FileNotFoundException;

importjava.io.IOException;

importjava.io.InputStream;

importjava.util.Properties;

*单子模式,保证在整个应用期间只加载一次配置属性文件

publicclassSingleton{

privatestaticSingletoninstance;

privatestaticfinalStringCONFIG_FILE_PATH="

E:

\\config.properties"

privatePropertiesconfig;

privateSingleton()

config=newProperties();

InputStreamis;

try{

is=newFileInputStream(CONFIG_FILE_PATH);

config.load(is);

is.close();

}catch(FileNotFoundExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}catch(IOExceptione){

publicstaticSingletongetInstance()

if(instance==null)

instance=newSingleton();

returninstance;

publicPropertiesgetConfig(){

returnconfig;

publicvoidsetConfig(Propertiesconfig){

this.config=config;

lJ2SE

19.拷贝一个目录(文件)到指定路径

*拷贝一个目录或者文件到指定路径下

*@paramsource

*@paramtarget

publicvoidcopy(Filesource,Filetarget)

Filetarpath=newFile(target,source.getName());

if(source.isDirectory())

tarpath.mkdir();

File[]dir=source.listFiles();

for(inti=0;

dir.length;

copy(dir[i],tarpath);

InputStreamis=newFileInputStream(source);

OutputStreamos=newFileOutputStream(tarpath);

byte[]buf=newbyte[1024];

intlen=0;

while((len=is.read(buf))!

=-1)

os.write(buf,0,len);

os.close();

20.用JAVA中的多线程示例银行取款问题

packagecom.softeem.demo;

*账户类

*默认有余额,可以取款

classAccount{

privatefloatbalance=1000;

publicfloatgetBalance(){

returnbalance;

publicvoidsetBalance(floatbalance){

this.balance=balance;

*取款的方法需要同步

*@parammoney

publicsynchronizedvoidwithdrawals(floatmoney)

if(balance>

=money)

被取走"

+money+"

元!

"

Thread.sleep(1000);

}catch(InterruptedExceptione){

balance-=money;

else

对不起,余额不足!

*银行卡

classTestAccount1extendsThread{

privateAccountaccount;

publicTestAccount1(Accountaccount){

this.account=account;

@Override

publicvoidrun(){

account.withdrawals(800);

余额为:

+account.getBalance()+"

}

*存折

classTestAccount2extendsThread{

publicTestAccount2(Accountaccount){

account.withdrawals(700);

publicclassTest

Accountaccount=newAccount();

TestAccount1testAccount1=newTestAccount1(account);

testAccount1.start();

TestAccount2testAccount2=newTestAccount2(account);

testAccount2.start();

21.用JAVA中的多线程示例火车站售票问题

*售票类

classSaleTicketimplementsRunnable{

inttickets=100;

while(tickets>

0){

sale();

//或者下面这样实现

//synchronized(this){

//if(tickets>

//System.out.println(Thread.currentThread().getName()+"

卖第"

//+(100-tickets+1)+"

张票"

//tickets--;

publicsynchronizedvoidsale(){

if(tickets>

System.out.println(Thread.currentThread().getName()+"

+(100-tickets+1)+"

tickets--;

publicclassTestSaleTicket{

SaleTicketst=newSaleTicket();

newThread(st,"

一号窗口"

).start();

二号窗口"

三号窗口"

四号窗口"

22.用JAVA中的多线程示例生产者和消费者问题

classProducerimplementsRunnable

privateSyncStackstack;

publicProducer(SyncStackstack){

this.stack=stack;

stack.getProducts().length;

Stringproduct="

产品"

+i;

stack.push(product);

生产了:

+product);

t

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

当前位置:首页 > PPT模板 > 节日庆典

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1