`

(源码下载)jdk6.0从入门到精通-----chapter2--输入输出,克隆对象

阅读更多
package formatinout;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class ScannerExample {
	public static void main(String args[]) throws IOException {
		System.out.println("请输入若干个数,每输入一个数用回车确认");
		System.out.println("最后输入一个非数字结束输入操作");

		Scanner reader = new Scanner(System.in); // 标准输入
		double sum = 0;
		int m = 0;
		while (reader.hasNextDouble()) {
			double x = reader.nextDouble();
			m = m + 1;
			sum = sum + x;
		}
		System.out.printf("%d个数的和为%f\n", m, sum);
		System.out.printf("%d个数的平均值是%f\n", m, sum / m); // 格式化输出
		
		
		try {
			FileInputStream fi = new FileInputStream("c:/a.txt");
			
			FileReader fr = new FileReader("c:/a.txt");
			
			FileWriter fw = new FileWriter("c:/a.txt",true);
			
			fw.write(99);    // 写入“c”
			fw.append('x'); //写入"x"
			fw.close(); //必须有,否则写不进去
			
			byte[] buffer = new byte[20];  // zi jie liu
			char[]charbuff = new char[20];        //zi fu liu
			
			try {
				int readchar = fr.read(charbuff);       //zi fu number
				System.out.println(readchar); // h
				for(int i=0;i<readchar;i++)
				System.out.println(charbuff[i]); // h
//				e.....
				fr.close();
				
			} catch (IOException e1) {
				e1.printStackTrace();
			}
			try {
				fi.read(buffer);
				
				String str = new String(buffer);
				System.out.println(str);  //helloworld
				
				for(int i =0;i<buffer.length;i++)
				System.out.println(buffer[i]);  //unicode104
//				101
//				108
//				108
//				111
//				119
//				111
//				114
//				108
//				100
				fi.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		
	}
}


一下是一个对象克隆的例子
实体student

package cloneObject;

public class Student [color=red]implements Cloneable [/color]{
	public String id;
	public String name;

	public Object clone() {
		Student o = null;
		try {
			o = (Student) super.clone();
		} catch (Exception e) {
			throw new java.lang.IllegalStateException("Clone 出错!"
					+ e.toString());
		}
		return o;
	}

}


测试类Test
package cloneObject;
public class TestClone {
	
	 public static void main(String[] args) {
		 Student stu1 = new Student();
		 stu1.id="1";
		 stu1.name = "stu1";
		 
		 Student stu2 = (Student) stu1.clone();
		 //对象复制,如果直接用stu2 = stu1;引用的是同一个对象,改变任何一个将对另一个造成影响
		 System.out.println(stu2.id+stu2.name);
		 stu2.id ="2";
		 System.out.println(stu2.id+stu2.name);
		 System.out.println(stu1.id+stu2.name);
	 }
	 
}

结果
1stu1
2stu1
1stu1

源码见附件:
分享到:
评论

相关推荐

    jdk6.0从入门到精通-----chapter17动态编程

    《JDK 6.0从入门到精通——Chapter 17 动态编程》 在Java编程领域,JDK 6.0版本引入了许多新特性,其中动态编程是提升开发效率和灵活性的重要方面。本章将深入探讨动态编程的概念、用途以及如何在JDK 6.0中利用这些...

    jdk6.0从入门到精通-----chapter5网络编程 新I/O(含源码下载)

    在Java编程领域,JDK(Java Development Kit)是开发和运行Java应用程序的...总的来说,"JDK6.0从入门到精通-----chapter5网络编程 新I/O"是一个极好的学习资源,无论你是初学者还是有经验的开发者,都能从中获益良多。

    jdk6.0从入门到精通-----chapter8并发多线程(1)(源码下载)

    本章“jdk6.0从入门到精通-----chapter8并发多线程(1)”着重讲解了Java 6中关于多线程的基本知识和实践技巧。通过源码下载,读者可以更直观地理解多线程的实现方式。 首先,我们要理解什么是多线程。在单线程环境...

    jdk6.0从入门到精通-----chapter18与动态语言结合

    标题中的“jdk6.0从入门到精通-----chapter18与动态语言结合”指的是Java开发工具包(JDK)6.0版本中的一个章节,主要探讨了如何将Java与动态编程语言集成。在Java 6中,引入了一个重要的特性,即Java平台标准版6...

    jdk6.0从入门到精通-----chapter7线程

    《JDK 6.0线程入门到精通——Chapter 7》 在Java开发中,线程是程序执行的最小单元,它使得一个程序能够同时处理多个任务,从而提高了程序的效率和响应性。在JDK 6.0中,线程的管理和使用有了更加完善的特性,对于...

    jdk6.0从入门到精通-----chapter4--文件目录操作

    本章节将深入探讨JDK 6.0中的文件和目录操作,这对于任何Java开发者来说都是必备的知识点。在实际项目中,我们需要频繁地与文件系统交互,例如读取、写入、移动或删除文件和目录,因此理解这部分内容至关重要。 ...

    jdk6.0从入门到精通-----chapter16反射机制-spring AOP

    在Java编程领域,JDK6.0是一个重要的版本,它为开发者提供了丰富的特性和改进。本章我们将深入探讨“反射机制”以及如何结合Spring AOP(面向切面编程)进行应用。反射是Java中的一种强大工具,允许程序在运行时检查...

    jdk 6.0 jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008(微信开发平台开发JDK)

    微信开发平台开发工具 JDK jdk 6.0 jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008

    jdk-7u80-windows-x64安装包

    jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-...

    开发工具 jdk-8u121-windows-i586

    开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8...

    JDK6.0+中文文档-lytim24.part1.rar

    java6.0文档chm版,分成三部分,分别为JDK6.0+中文文档-lytim24.part1.rar、JDK6.0+中文文档-lytim24.part2.rar、JDK6.0+中文文档-lytim24.part3.rar

    官方JDK6.0中文版

    - 首先,从官方或可信渠道下载JDK 6.0的安装程序。 - 运行安装程序,按照提示完成安装过程。 - 配置环境变量,如JAVA_HOME指向JDK安装目录,PATH添加bin子目录,确保系统能够找到Java命令。 - 检验安装是否成功,...

    java-jdk1.8-8u361-all-jdk-win-linux

    java-jdk1.8-8u361-all-jdk-win-linux 该压缩包中包含jdk1.8-8u361下windows版本和linux版本,其包含快速安装包和对应的jdk压缩包版本,具体内容如下: jdk-8u361-linux-aarch64.rpm jdk-8u361-linux-i586.rpm jdk-8...

    jdk-8u131-windows-x64

    jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-windows-x64jdk-8u131-...

    深入jdk6.0源码

    总而言之,《深入JDK6.0源码》是一个全面解析Java 6开发工具包的资源,它不仅包含Java语言的基本要素,还涵盖了从开发环境配置到高级特性的深入探讨,对于提升Java开发者的技术水平具有重要的指导价值。通过学习,...

    jdk-8u311-windows-x64.exe

    jdk-8u311-windows-x64.exe jdk-8u311-windows-x64.exe.zip jdk-8u311-windows-x64.exe jdk-8u311-windows-x64.exe.zip jdk-8u311-windows-x64.exe jdk-8u311-windows-x64.exe.zip jdk-8u311-windows-x64.exe jdk-8u...

    jdk8安装包: jdk-8u202-windows-x64

    1. 下载与操作系统匹配的JDK安装包,如"jdk-8u202-windows-x64.exe"。 2. 双击执行安装程序,按照向导指示进行操作,选择安装路径。 3. 在安装过程中,确保勾选"将Java添加到系统PATH"选项,以便在命令行中直接运行...

    JDK6.0u10b32-windows-

    这个是安装开发工具java jdk 有很多用途

    jdk-8u60-windows-i586-JDK1.8-32位

    jdk-8u60-windows-i586 jdk-8u60-windows-i586 jdk-8u60-windows-i586 jdk-8u60-windows-i586 jdk-8u60-windows-i586

Global site tag (gtag.js) - Google Analytics