




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/第一章1、请使用Eclipse编写一个程序,程序运行后,在控制台输出“这是我的第一个Java程序”。publicclassFirstJava{ publicstaticvoidmain(String[]args){ System.out.println("这是我的第一个Java程序"); }}第二章1、请编写一个程序,计算100以内所有奇数的和。提示:1)使用循环语句实现自然数1~99的遍历。2)在遍历过程中,通过条件判断当前遍历的数是否为偶数,如果是,就continue,如果是奇数进行叠加运算。publicclassDemo01{ publicstaticvoidmain(String[]args){ intsum=0; for(intx=1;x<100;x++){ if(x%2==0){ continue; } sum+=x; } System.out.println("sum="+sum); }}2、定义一个函数,找出数组中的最大数或最小数。publicclassDemo02{ publicstaticvoidmain(String[]args){ int[]array={5,10,-8,-2,-500,50,200}; //最大数 intmax=array[0]; for(inti=1;i<array.length;i++){ if(array[i]>max){ max=array[i]; } } System.out.println("数组中最大的数是:"+max); //最小数 intmin=array[0]; for(inti=1;i<array.length;i++){ if(array[i]<min){ min=array[i]; } } System.out.println("数组中最小的数是:"+min); }}第三章1、编写一个程序,要求创建一个Student类,添加name和age属性,为该属性自动添加相应的getter和setter方法,并给出有参和无参的构造方法。publicclassStudent{ privateStringname; privateintage; publicStudent(){ } publicStudent(Stringname,intage){ super(); =name; this.age=age; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ =name; } publicintgetAge(){ returnage; } publicvoidsetAge(intage){ this.age=age; }}2、编写一个类,类中定义一个静态方法,用于求两个整数的和。请按照以下要求设计一个测试类Demo01,并进行测试。要求如下:1)Demo01类中有一个静态方法get(inta,intb)该方法用户返回参数a、b两个整数的和;2)在main()方法中调用get方法并输出计算结果。publicclassDemo01{ publicstaticintgetSum(inta,intb){ returna+b; } publicstaticvoidmain(String[]args){ intresult=Demo01.getSum(2,3); System.out.println(result); }}第四章1、定义一个抽象类Car,在该类中包含一个抽象方法run()。分别定义一个Bike类和Bus类继承自Car,在重写的run()方法中分别输出一句话。定义测试类,调用Bike类和Bus类中的方法。abstractclassCar{ abstractvoidrun();}classBikeextendsCar{ voidrun(){ System.out.println("自行车在行驶"); } }classBusextendsCar{ voidrun(){ System.out.println("公交车在行驶"); } }publicclassDemo01{ publicstaticvoidmain(String[]args){ Bikebike=newBike(); bike.run(); Busbus=newBus(); bus.run(); }} 2、编写一个程序,模拟计算机的PCI插槽以与各种插卡。主板上的插槽就是计算机中的接口,它可以把显卡、网卡、声卡等都插在PCI插槽上。在计算机启动主板时,这些插槽中的卡也随之启动;关机时,这些卡也随之停止工作。//PCI接口interfacePCI{ voidstart(); voidstop();}//显卡classGraphicsimplementsPCI{ publicvoidstart(){ System.out.println("显卡已开启"); } publicvoidstop(){ System.out.println("显卡已停止"); }}//网卡classNetworkCardimplementsPCI{ publicvoidstart(){ System.out.println("网卡已开启"); } publicvoidstop(){ System.out.println("网卡已停止"); }}//声卡classSoundCardimplementsPCI{ publicvoidstart(){ System.out.println("声卡已开启"); } publicvoidstop(){ System.out.println("声卡已停止"); }}//主板classMainBoard{ publicvoidPCICardStart(PCIp){ p.start(); } publicvoidPCICardStop(PCIp){ p.stop(); }}//电脑classComputer{ privatePCI[]pciArr=newPCI[4];//电脑上的PCI插槽 publicvoidadd(PCIusb){//向电脑上安装一个PCI设备 for(inti=0;i<pciArr.length;i++){//循环遍历所有插槽 if(pciArr[i]==null){//如果发现一个空的 pciArr[i]=usb;//将usb设备装在这个插槽上 break;//装上之后结束循环 } } } publicvoidturnOn(){//电脑的开机功能 for(inti=0;i<pciArr.length;i++){//循环遍历所有插槽 if(pciArr[i]!=null){//如果发现有设备 pciArr[i].start();//将PCI设备启动 } } System.out.println("电脑开机成功"); } publicvoidturnOff(){//电脑的开机功能 for(inti=0;i<pciArr.length;i++){//循环遍历所有插槽 if(pciArr[i]!=null){//如果发现有设备 pciArr[i].stop();//将PCI设备启动 } } System.out.println("电脑关机成功"); } publicstaticvoidmain(String[]args){ Computerc=newComputer(); c.add(newGraphics()); c.add(newNetworkCard()); c.add(newSoundCard()); c.turnOn(); c.turnOff(); }}第五章1、编写一个程序,获取一个已知文件的扩展名。publicclassDemo01{ publicstaticvoidmain(String[]args){ System.out.println(getExtname("Person.java")); } publicstaticStringgetExtname(String){ intindex=("."); Stringextname=(index+1); returnextname; }}2、编写一个程序,接收一个字符串,将字符串中每个单词的首字母改为大写。publicclassDemo02{ publicstaticvoidmain(String[]args){ StringBuffersbn=newStringBuffer("hellowworldandhappynewyear"); StringBufferss=newStringBuffer(""); Strings=sbn.toString(); String[]sb=s.split(""); for(inti=0;i<sb.length;i++){ sb[i]=sb[i].substring(0,1).toUpperCase()+sb[i].substring(1); } for(inti=0;i<sb.length;i++){ ss.append(sb[i]); ss.append(""); } System.out.println(ss); }}第六章1、编写一个程序,向ArrayList集合中添加5个对象,然后使用迭代器输出集合中的对象。publicclassDemo01{ publicstaticvoidmain(String[]args){ Listlist=newArrayList(); list.add("zhangsan"); list.add("lisi"); list.add("wangwu"); list.add("zhaoliu"); Iteratorit=list.iterator(); while(it.hasNext()){ Objectobject=(Object)it.next(); System.out.println(object); } }}2、编写一个程序,向Properties集合存入5个配置项,并迭代出所有的配置项。publicclassDemo02{ publicstaticvoidmain(String[]args){ Propertiesprops=newProperties(); props.setProperty("username","zhangsan"); props.setProperty("password","123456"); props.setProperty("email",""); Enumeratione=pertyNames(); while(e.hasMoreElements()){ Stringname=(String)e.nextElement(); Stringvalue=props.getProperty(name); System.out.println(name+"="+value); } }}第七章编写一个程序,使用定义数组的方式将D盘中的程序拷贝到E盘中。publicclassDemo01{ publicstaticvoidmain(String[]args)throwsIOException{ //创建输入流与源文件相关联 InputStreamin=new("D:\\jdk-7u60-windows-i586.exe"); //创建输出流与目标文件相关联 OutputStreamout=new("E:\\jdk-7u60-windows-i586.exe"); longstart=System.currentTimeMillis(); copyByBuffer(in,out); longend=System.currentTimeMillis(); System.out.println("耗时:"+(end-start)+"毫秒");in.close();out.close(); } //定义byte数组作为缓冲区进行拷贝 privatestaticvoidcopyByBuffer(InputStreamin,OutputStreamout)throwsIOException{ byte[]buffer=newbyte[1024]; intlen; while((len=in.read(buffer))!=-1){ out.write(buffer,0,len); } }}2、编写一个程序,遍历出指定目录下所有的.java文件,并将其绝对路径存入一个list集合中输出。publicclassDemo02{publicstaticvoidmain(String[]args){ //创建一个File对象封装路径d: =newFile("D:\\eclipseWorkspace\\JavaBasicWorkspace\\test\\src"); //创建一个List集合用于存放路径 List<String>list=newArrayList<String>(); //调用方法 listAllJavaFiles(dir,list); //输出 for(String:list) System.out.println(); } staticvoidlistAllJavaFiles(,List<String>list){ //获得dir目录中所有的子文件 File[]files=dir.listFiles(); //如果数组为null说明dir是不可打开的目录或者不是目录 if(){ return; } //遍历数组获得子文件 for(:files){ //判断 if(()){ //说明文件是目录需要递归调用 listAllJavaFiles(file,list); }else{ //说明是标准文件 //判断是不是java文件如果是存入list if(().endsWith(".java")){ list.add(()); } } } } }第八章1、设计一个窗体,窗体中有一个按钮,当单击按钮时,可以添加其它按钮,并按数字依次出现,当单击数字按钮时,被单击按钮消失,此窗体带关闭功能。publicclassDemo01{ staticintnum=1; publicstaticvoidmain(String[]args){ //初始化一个frame Frameframe=newFrame("myframe"); //设置大小 frame.setSize(300,300); //设置位置 frame.setLocation(100,100); //设置布局管理 frame.setLayout(newFlowLayout()); //添加一个按钮 Buttonbtn=newButton("按钮"); frame.add(btn); frame.setVisible(true); //添加事件监听器监听窗口事件//通过继承WindowAdapter(适配器)来实现WindowListener frame.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ e.getWindow().dispose(); } }); //为按钮添加事件鼠标事件事件源是按钮 btn.addMouseListener(newMouseAdapter(){ publicvoidmouseClicked(MouseEvente){ //鼠标单击了 //获得事件源btn Buttonbtn=(Button)e.getComponent(); //获得btn所在的容器frame Frameframe=(Frame)btn.getParent(); //添加一个新的btn ButtonnewBtn=newButton("按钮"+num++); frame.add(newBtn); //刷新frame的显示 frame.setVisible(true); //为newBtn添加事件 newBtn.addMouseListener(newMouseAdapter(){ publicvoidmouseClicked(MouseEvente){ Buttonbtn=(Button)e.getComponent(); btn.getParent().remove(btn); } }); } }); }}2、编写一个小游戏:设计一窗体,窗体中上下有两个名称为“你来点我啊!!!!!!!!!”的按钮,当鼠标移动到上面按钮时,上面按钮消失,下面的显示;移动到下面时,下面消失,上面的显示。publicclassDemo02{ staticintnum=1; publicstaticvoidmain(String[]args){ //初始化一个frame finalFrameframe=newFrame("myframe"); //设置大小 frame.setSize(300,300); //设置位置 frame.setLocation(100,100); //添加一个按钮 finalButtonbtn1=newButton("你来点我啊!!!!!!!!!"); frame.add(btn1,BorderLayout.NORTH); finalButtonbtn2=newButton("你来点我啊!!!!!!!!!"); frame.add(btn2,BorderLayout.SOUTH); btn2.setVisible(false); frame.setVisible(true); //添加事件监听器,监听窗口事件,//通过继承WindowAdapter(适配器)来实现WindowListener frame.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ e.getWindow().dispose(); } }); btn1.addMouseListener(newMouseAdapter(){ publicvoidmouseEntered(MouseEvente){ btn1.setVisible(false); btn2.setVisible(true); frame.setVisible(true); } }); btn2.addMouseListener(newMouseAdapter(){ publicvoidmouseEntered(MouseEvente){ btn2.setVisible(false); btn1.setVisible(true); frame.setVisible(true); } }); }}第九章1、已知在数据库jdbc中有一个名称为user的表,表中包含三个字段id,name,password。要求使用JDBCUtils工具类编写一个程序,使程序执行后,可以向user表中插入一条数据。(1)JDBCUtils的代码如下:importjava.sql.*;/***工具类*/publicclassJDBCUtils{ //加载驱动,并建立数据库连接 publicstaticConnectiongetConnection()throwsSQLException, ClassNotFoundException{ Class.forName("com.mysql.jdbc.Driver"); Stringurl="jdbc:mysql://localhost:3306/jdbc"; Stringusername="root"; Stringpassword="itcast"; Connectionconn=DriverManager.getConnection(url,username,password); returnconn; } //关闭数据库连接,释放资源 publicstaticvoidrelease(Statementstmt,Connectionconn){ if(stmt!=null){ try{ stmt.close(); }catch(SQLExceptione){ e.printStackTrace(); } stmt=null; } if(conn!=null){ try{ conn.close(); }catch(SQLExceptione){ e.printStackTrace(); } conn=null; } } publicstaticvoidrelease(ResultSetrs,Statementstmt,Connectionconn){ if(rs!=null){ try{ rs.close(); }catch(SQLExceptione){ e.printStackTrace(); } rs=null; } release(stmt,conn); }}(2)实体类User的代码如下:publicclassUser{ privateintid; privateStringname; privateStringpassword; publicintgetId(){ returnid; } publicvoidsetId(intid){ this.id=id; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ =name; } publicStringgetPassword(){ returnpassword; } publicvoidsetPassword(Stringpassword){ this.password=password; }}(3)UserDao的代码如下:importjava.sql.*;publicclassUserDao{ //添加数据 publicvoidaddUser(Useruser){ Connectionconn=null; Statementstmt=null; try{ //获得数据的连接 conn=JDBCUtils.getConnection(); //获得Statement对象 stmt=conn.createStatement(); //发送SQL语句 Stringsql="INSERTINTOuser(id,name,password)"+"VALUES(" +user.getId()+",'"+user.getName()+"','" +user.getPassword()+"')"; intnum=stmt.executeUpdate(sql); if(num>0){ System.out.println("插入数据成功!"); } }catch(Exceptione){ e.printStackTrace(); }finally{ JDBCUtils.release(stmt,conn); } }}(4)测试类UserTest的代码如下:publicclassUserTest{ publicstaticvoidmain(String[]args){ UserDaouserDao=newUserDao(); Useruser=newUser(); user.setId(1); user.setName("itcast"); user.setPassword("1234"); userDao.addUser(user); }}第十章1、编写一个程序,创建两个线程,要求分别输出26个字母。在输出结果时,要显示是哪个线程输出的字母。publicclassDemo01{ publicstaticvoidmain(String[]args){ Testt1=newTest("线程一"); Testt2=newTest("线程二"); t1.start(); t2.start(); } }classTestextendsThread{ privatecharch='a'; publicTest(Stringname){ setName(name); } publicvoidrun(){ chartemp; for(inti=0;i<26;i++){ temp=(char)(ch+i); System.out.println(this.getName()+":"+temp); } }}2、编写一个程序,使用Runnable接口的方式创建三个线程,分别输出从0到10的数,每个线程之间延迟500毫秒,要求输出的结果如下所示:线程一:0,1,2,3,4,5,6,7,8,9,10线程三:0,1,2,3,4,5,6,7,8,9,10线程二:0,1,2,3,4,5,6,7,8,9,10classMyThreadimplementsRunnable{ Objectlock=newObject();//定义任意一个对象,用作同步代码块的锁 publicvoidrun(){ synchronized(lock){//定义同步代码块 System.out.println(); try{ System.out.print(Thread.currentThread().getName()+":"); for(inti=0;i<=10;i++){ System.out.print(i); if(i!=10){ System.out.print(","); } } Thread.sleep(500);//经过的线程休眠500毫秒 }catch(InterruptedExceptione){ e.printStackTrace(); } } }}publicclassDemo02{ publicstaticvoidmain(String[]args){ MyThreadmyThread=newMyThread(); newThread(myThread,"线程一").start(); newThread(myThread,"线程二").start(); newThread(myThread,"线程三").start(); }}
第十一章1、简述TCP/IP协议的层次结构。TCP/IP协议的层次结构比较简单,共分为四层,分别是链路层、网络层、传输层和应用层。其中链路层也称为网络接口层,该层负责监视数据在主机和网络之间的交换。网络层也称网络互联层,是整个TCP/IP协议的核心,它主要用于将传输的数据进行分组,将分组数据发送到目标计算机或者网络。传输层主要使网络程序进行通信,在进行网络通信时,可以采用TCP协议,也可以采用UDP协议。应用层主要负责应用程序的协议,例如HTTP协议、FTP协议等。2、简述你对IP地址的认识。要想使网络中的计算机能够进行通信,必须为每台计算机指定一个标识号,通过这个标识号来指定接收数据的计算机或者发送数据的计算机。在TCP/IP协议中,这个标识号就是IP地址,它可以唯一标识一台计算机,目前,IP地址广泛使用的版本是IPv4,它是由4个字节大小的二进制数来表示,由于二进制形式表示的IP地址非常不便记忆和处理,因此通常会将IP地址写成十进制的形式,每个字节用一个十进制数字(0-255)表示,数字间用符号“.”分开,如“”。1、编写一个程序,实现多线程的UDP网络通信。要求如下:1)编写数据接收类ReceiveThread,该类实现了Runnable接口,重写run()方法实现不断接受客户端发送数据的功能。2)编写数据发送类SendThread,该类同样实现了Runnable接口,重写run()方法实现通过键盘录入数据,将数据向接收端发送的功能。3)编写测试类TestUDP,在main()方法中,同时启动接收端和发送端程序。(1)数据接收类的代码如下所示:importjava.io.IOException;import.DatagramPacket;import.DatagramSocket;publicclassReceiveThreadimplementsRunnable{ publicvoidrun(){ try{ //创建接收端Socket对象 DatagramSocketds=newDatagramSocket(10086); //创建数据包 while(true){ byte[]bys=newbyte[1024]; DatagramPacketdp=newDatagramPacket(bys,bys.length); //接收数据 ds.receive(dp); //解析数据 Stringip=dp.getAddress().getHostAddress(); Strings=newString(dp.getData(),0,dp.getLength()); System.out.println("接收端:从"+ip+"主机接收到的数据是:"+s); if("bye".equals(s)){ System.out.println("******聊天室关闭******"); ds.close(); break; } } }catch(IOExceptione){ e.printStackTrace(); } }}(2)数据发送类的代码如下所示:importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;import.DatagramPacket;import.DatagramSocket;import.InetAddress;publicclassSendThreadimplementsRunnable{ publicvoidrun(){ try{ //创建发送端Socket对象 DatagramSocketds=newDatagramSocket(); //封装键盘录入 BufferedReaderbr=newBufferedReader(newInputStreamReader( System.in)); //创建数据,并打包 Stringline=null; while((line=br.readLine())!=null){ byte[]bys=line.getBytes(); DatagramPacketdp=newDatagramPacket(bys,bys.length, InetAddress.getByName("localhost"),10086); ds.send(dp); if("bye".equals(line)){ //释放资源 br.close(); ds.close(); break; } } //释放资源 br.close(); ds.close(); }catch(IOExceptione){ e.printStackTrace(); } }}(3)测试类的代码如下所示:p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安利营养保健配方
- 2022年人口学校教案
- 股权激励与员工竞业禁止协议书
- 二年级数学计算题专项练习1000题汇编
- 二零二五版海洋工程高低压配电系统安装合同
- 2025年度酒店管理履约担保合同模板
- 二零二五年度高空作业吊车转让与安全操作手册协议
- 2025版农村电网改造供电协议合同范本
- 二零二五版古村落保护施工劳务分包服务协议
- 二零二五年度洞庭湖区重点垸堤防加固项目施工组织与进度管理合同
- QES质量环境职业健康安全三体系管理手册(2021年版)
- 7招培养孩子高效专注力
- 矿山投资入股协议书
- 《宫外孕处理常规》课件
- 控制计划考试试题及答案
- 煤矿机电运输设备技术与管理规范
- 《人工智能在军事应用中的前沿技术》课件
- 2025四川眉山市国有资本投资运营集团有限公司招聘50人笔试参考题库附带答案详解
- 避孕药具随访管理制度
- T-SDFA 050-2024 混合型饲料添加剂中阿奇霉素的测定 液相色谱-串联质谱法
- 2025年三聚氰胺表面板行业深度研究分析报告
评论
0/150
提交评论