1、简单数据类型:数值型(byte,short,int,long,float double),字符型(char),布尔型(boolean);引用数据类型:类,接口,数组.7.JAVA中运算符的分类及举例 分割符:,,;,() 算术运算符: +,*,/,%,+, 关系运算符: ,=, 赋值运算符: = 扩展赋值运算符:+=,=,*=,/= 字符串连接运算符: + 造型操作符:()8.super,this关键字的作用及用法 在Java类中使用super来引用父类的成分 可用于访问父类中定义的属性super 可用于调用父类中定义的成员方法super 可用于在子类构造器中调用父类的构造器super 的追溯
2、不仅于直接父类super 中为解决变量的命名冲突和不确定性问题,引入关键字“this”代表其所在方法的当前对象。Java 构造器中指该构造器所创建的新对象 方法中指调用该方法的对象 关键字的用法this 在类本身的方法或构造器中引用该类的实例变量和方法 将当前对象作为参数传递给其它方法或构造器 用来调用其他的重载的构造器9.什么是JAVA中的表达式?有什么作用? 表达式是运算符和操作数的结合,它是任何一门编程语言的关键组成部分 表达式允许程序员进行数学计算、值的比较、逻辑操作以及在Java中进行对象的操作。 一些表达式的例子: X X+10 Y=x+10 Arr10 student.geNam
3、e()10.做表列出JAVA中所有修饰符和他们的适用范围(能不能修饰构造器,属性,自由块等)class 属性 方法 构建器 自由块 内部类 public Y Y Y Y Y protected Y Y Y Y (Default) Y Y Y Y Y Y private Y Y Y Y final Y Y Y Y abstract Y Y Y static Y Y Y 11.写一个方法,用一个for循环打印九九乘法表/*一个for循环打印九九乘法表*/publicvoid nineNineMultiTable()for (int i = 1,j = 1; j = 9; i+) System.ou
4、t.print(i+*+j+=+i*j+ );if(i=j)i=0;j+;System.out.println();12.给定一个java.util.Date对象,如何转化为”2007-3-22 20:23:22”格式的字符串*将某个日期以固定格式转化成字符串*paramdate*returnstrpublic String dateToStr(java.util.Date date)SimpleDateFormat sdf = new SimpleDateFormat(yyyy-MM-dd HH:mm:ssString str = sdf.format(date);return str;13
5、.写一个方法,能够判断任意一个整数是否素数*判断任意一个整数是否素数*paramn*returnbooleanpublicboolean isPrimes(int n)for (int i = 2; i = Math.sqrt(n);if(n%i=0)returnfalse;returntrue;14.写一个方法,输入任意一个整数,返回它的阶乘*获得任意一个整数的阶乘*returnn!publicint factorial(int n)/递归if(n=1)return 1;return n*factorial(n-1);/非递归/ int multi = 1;/ for (int i = 2;
6、= n;/ multi*=i;/ / return multi;15.写一个方法,用二分查找法判断任意整数在任意整数数组里面是否存在,若存在就返回它在数组中的索引位置,不存在返回-1*二分查找特定整数在整型数组中的位置(递归)*paramdataset*paramdata*parambeginIndex*paramendIndex*returnindexpublicint binarySearch(int dataset,int data,int beginIndex,int endIndex)int midIndex = (beginIndex+endIndex)/2;if(datadata
7、setendIndex|beginIndexendIndex)return -1;datasetmidIndex)return binarySearch(dataset,data,beginIndex,midIndex-1);elseif(datareturn binarySearch(dataset,data,midIndex+1,endIndex);elsereturn midIndex;*二分查找特定整数在整型数组中的位置(非递归)publicint binarySearch(int dataset ,int data)int beginIndex = 0;int endIndex =
8、dataset.length - 1;int midIndex = -1;while(beginIndex beginIndex = midIndex+1;return -1;16.做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处package com.softeem.demo;*authorleno*动物的接口interface Animalpublicvoid eat(Food food);*一种动物类:猫class Cat implements Animalpublicvoid eat(Food food)System.out.println(小猫吃+fo
9、od.getName();狗class Dog implements Animal小狗啃*食物抽象类abstractclass Foodprotected String name;public String getName() returnname;publicvoid setName(String name) this.name = name;*一种食物类:鱼class Fish extends Foodpublic Fish(String name) 骨头class Bone extends Food public Bone(String name) *饲养员类*class Feeder*
10、饲养员给某种动物喂某种食物*paramanimal*paramfoodpublicvoid feed(Animal animal,Food food)animal.eat(food);*测试饲养员给动物喂食物publicclass TestFeeder publicstaticvoid main(String args) Feeder feeder=new Feeder();Animal animal=new Dog();Food food=new Bone(肉骨头feeder.feed(animal,food); /给狗喂肉骨头animal=new Cat();food=new Fish(鱼
11、 /给猫喂鱼17.描述JAVA中异常处理的机制 程序的执行过程中如出现异常,会自动生成一个异常类对象,该异常对象将被提交给Java运行时系统,这个过程称为抛出(throw)异常。 当Java运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常。 如果Java运行时系统找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出。 程序员通常只能处理违例(Exception),而对错误(Error)无能为力。2. 18.做一个单子模式的类,只加载一次属性文件import java.io.FileInputStream;i
12、mport java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.Properties;*单子模式,保证在整个应用期间只加载一次配置属性文件publicclass Singleton privatestatic Singleton instance;privatestaticfinal String CONFIG_FILE_PATH = E:config.propertiesprivate Properties config;private Sin
13、gleton()config = new Properties();InputStream is;try is = new FileInputStream(CONFIG_FILE_PATH);config.load(is);is.close(); catch (FileNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (IOException e) publicstatic Singleton getInstance()if(instance=null)instance = new
14、Singleton();returninstance;public Properties getConfig() returnconfig;publicvoid setConfig(Properties config) this.config = config;l J2SE19.拷贝一个目录(文件)到指定路径*拷贝一个目录或者文件到指定路径下*paramsource*paramtargetpublicvoid copy(File source,File target)File tarpath = new File(target,source.getName();if(source.isDire
15、ctory()tarpath.mkdir();File dir = source.listFiles();for (int i = 0; dir.length;copy(diri,tarpath);InputStream is = new FileInputStream(source);OutputStream os = new FileOutputStream(tarpath);byte buf = newbyte1024;int len = 0;while(len = is.read(buf)!=-1)os.write(buf,0,len);os.close();20.用JAVA中的多线程
16、示例银行取款问题packagecom.softeem.demo;*账户类*默认有余额,可以取款class Account privatefloatbalance = 1000;publicfloat getBalance() returnbalance;publicvoid setBalance(float balance) this.balance = balance;*取款的方法需要同步*parammoneypublicsynchronizedvoid withdrawals(float money)if(balance=money)被取走+money+元!Thread.sleep(100
17、0); catch (InterruptedException e) balance-=money;else对不起,余额不足!*银行卡class TestAccount1 extends Thread private Account account;public TestAccount1(Account account) this.account = account;Overridepublicvoid run() account.withdrawals(800);余额为:+account.getBalance()+ *存折class TestAccount2 extends Thread p
18、ublic TestAccount2(Account account) account.withdrawals(700);publicclass TestAccount account = new Account();TestAccount1 testAccount1 = new TestAccount1(account);testAccount1.start();TestAccount2 testAccount2 = new TestAccount2(account);testAccount2.start();21.用JAVA中的多线程示例火车站售票问题*售票类class SaleTicke
19、t implements Runnable inttickets = 100;while (tickets 0) sale();/或者下面这样实现/ synchronized (this) / if (tickets / System.out.println(Thread.currentThread().getName() + 卖第/ + (100 - tickets + 1) + 张票/ tickets-;publicsynchronizedvoid sale() if (tickets System.out.println(Thread.currentThread().getName()
20、+ + (100 - tickets + 1) + tickets-;publicclass TestSaleTicket SaleTicket st = new SaleTicket();new Thread(st, 一号窗口).start();二号窗口三号窗口四号窗口22.用JAVA中的多线程示例生产者和消费者问题class Producer implements Runnableprivate SyncStack stack;public Producer(SyncStack stack) this.stack = stack; stack.getProducts().length;String product = 产品+i;stack.push(product);生产了:+product);t
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1