JAVA的构造函数是:SetLocal EnableDelayedExpansion
set classpath=.
for %%c in (lib\*.jar) do set classpath=!classpath!%%c
set classpath=%classpath%./classes
java com.ham.server.Server。
1、无参构造方法
无参构造方法又分为隐式无参构造方法和显示无参构造方法。
隐式无参构造方法
在定义类的时候,如果没有给类定义一个构造方法,Java编译器在编译时会默认提供一个隐式的构造方法,它没有任何参数,并且有一个空的方法体。例如,Person类中隐含一个无参构造方法,在main方法中可以通过new关键字来调用此默认的构造方法,代码如下:
2、显式无参构造方法
隐式无参构造方法是由系统提供的,无法修改其内容。但有时需要在调用这个构造方法时初始化类成员属性或执行一些操作,要实现这个需求,就需要为它定义一个显式无参构造方法,修改上述代码如下:
3、显示有参构造方法
构造并初始化对象是构造方法的作用,所以有时需要给这个方法传入一些参数,定义一个显示的有参构造方法。例如:
Java中常用的输出语句有以下三种
1.System.out.println()
2.System.out.print()
3.System.out.printf()
System.out.println() 是最常用的输出语句,它会把括号里的内容转换成字符串输出到输出窗口(控制台),并且换行,当输出的是一个基本数据类型时,会自动转换成字符串,如果输出的是一个对象,会自动调用对象的toString()方法(1),将返回值输出到控制台
System.out.print() 与第一个很相似,区别就是上一个输出后会换行,而这个命令输出后并不换行。
输入输出体系介绍
什么是输入输出处理(IO)
包括对控制台,内存,文件,图形图像,网络和数据库的读写等。在Java语言中,java.io包就提供了
很多完成输入输出处理功能。
什么是流?
流是一种有序的字节源或目的,当程序需要读取数据时就要打开一个通向数据源的流;而当程序需要
写入数据的时候就会打开一个通向目的地的流,数据就好像在管道中流动一样。
流的分类
将流按三种方式分类:输入流和输出流,字节流和字符流,以及从一个特定地方读写的结点流和连接已经存在的流的过滤流。这种分类方式是相互重叠的
输入流和输出流
字节流和字符流
从一个特定地方读写的结点流和连接已经存在的流的过滤流
基本流的介绍
基本流一般是指
InputStream
OutputStream
Reader
Writer
1.InputStream
这个类是一个抽象类,为所有字节输入类的父类,其方法都是通过子类对象来调用的,主要方法有
2.OutputStream
这个类是抽象类,是所有字节输出类的父类,其方法都是通过子类对象来调用
3.字符输入输出系列(字符IO)
输入输出两大分支,以Reader为父类的字符输入,以Writer为父类的字符输出。它们与各自的子类共同构成了字符输入输出体系
字符输入输出
4.Reader
是一个用于读取字符类的抽象类,为所有字符输入类的父类,其方法都是通过子类对象来调用的。
5.Writer
是一个用于写入字符流的抽象类,为所有输出字符类的父类,其方法都是通过子类对象来调用的。
扩展:Java简介:
Java是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言。希望用于控制嵌入在有线电视交换盒、PDA等的微处理器
1994年将Oak语言更名为Java
1998年JDK1.2时,更名为Java 2 Platform
分为标准版J2SE,企业版J2EE,微型版J2ME
Java 既安全、可移植,又可跨平台,而且人们发现它能够解决Internet 上的大型应用问题
Internet使Java成为网上最流行的编程语言
Java对Internet的影响也意义深远
B/S的兴起 &C/S的没落
任职于太阳微系统的詹姆斯•高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针,改以引用替换,同时移除原C++与原来运算符重载,也移除多重继承特性,改用接口替换,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。太阳微系统对Java语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。”
Java不同于一般的编译语言或直译语言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”的跨平台特性。在早期JVM中,这在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的运行速度有了大幅提升。
与传统型态不同,Sun公司在推出Java时就将其作为开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是 Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司后来推出了与之竞争的.NET平台以及模仿Java的C#语言。后来Sun公司被甲骨文公司并购,Java也随之成为甲骨文公司的产品。
import java.util.Scannerpublic class T {
public static void main(String[] args) {
System.out.println("请输入一个正整数:")
Scanner scanner = new Scanner(System.in)
int n = scanner.nextInt()
Integer[] list = new Integer[n]
System.out.printf("请输入%d个不相同的整数:\n", n)
for (int i = 0 i < n i++) {
list[i] = scanner.nextInt()
}
scanner.close()
System.out.println()
System.out.println("全排列:")
perm(list, 0, n)
}
public static void perm(Object[] list, int k, int m) {
if (k == m) {
for (int i = 0 i < m i++)
System.out.print(list[i] + " ")
System.out.println()
} else {
for (int i = k i < m i++) {
swap(list, k, i)
perm(list, k + 1, m)
swap(list, k, i)
}
}
}
private static void swap(Object[] list, int k, int i) {
Object temp = list[k]
list[k] = list[i]
list[i] = temp
}
}