您的位置:首页 > 编程语言 > Java开发

java基础之输入输出,数组

2016-01-05 21:08 435 查看
文件输入输出:

Scanner(File f)//构造一个从给定文件读取数据的Scanner。

Scanner(String data)//构造一个从给定字符串读取数据的Scanner。

PrintWriter(String filename)//构造一个将数据写入文件的PrintWriter。

static Path get(String pathname)//根据给定一个路径名构造一个Path。

例如:

对文件进行读取,用file构造一个Scanner对象,如下所示。

Scanner in = new Scanner(Path.get("myfile.txt"))

想写入文件就需要构造一个PrintWriter对象。

PrintWriter out = new PrintWriter("myfile.txt")。

输入和输出:

输出:

我们接触java时可能就对输出很了解了。输出只需要调用System.out.println()方法即可。

输入:

输入相对输出麻烦一点。首先要构造一个Scanner对象,并与标准输入流System.in关联。

Scanner in = new Scanner(System.in)

然后就可以调用Scanner类的方法。示例:

Public class InputText{

public static void main(String[] args){

Scanner in = new Scanner (System.in);

System.out.println("What is your name?"):

String name = in.nextLine(); //需要自己键入。

System.out.println("How oid are you ?"):

Int age = in.nextInt(); //需要自己键入。

}

}

数组:

声明一个数组:

int[] a;

这条语句只声明而没有初始化,应该使用new创建一个数组。

int[] a = new int[100];

创建了一个可以存储100个整数的数组。数组长度不要求是常量:new int
会创建一个长度为n的数组。

String[] name = new String[10]

创建一个数字数组时,所有元素都为0,boolean数组所有元素都为false,创建一个字符串数组所有元素初始值都为null。

可用增强for循环来遍历数组。

for(variable : collection) statement

collection 这个集合必须是一个数组或者是实现了Iterable接口的类或者对象。如(ArriyList)

打印集合a中的元素。

for(int element : a)

System.out.println(element);

数组初始化:

int[] smallPrints = {1,2,3,4,5}

new int[] {1,2,3,4,5}

smallPrimes = new int[]{1,2,3,,4,5}

创建一个数组并进行初始化。

数组拷贝:

int[] luckyNumbers = smallNumbers;

int[] copiedLuckyNumbers = Arrays.copyOf(luckyNumbers,2*luckyNumbers.length)

第二个参数为新数组的长度;

数组排序:

要想对数值型数值进行排序,可以使用Arrys类中sort方法,

int[] a = new int[1000]

.........

Arrys.sort(a)

设计一个程序:

int[] numbers = new int
;

int[] result = new int[];

for(i=0; i<n;i++)

{ numbers[i]= i+1;

}

for(j=0;j<10;j++)

{

int a = (int)(Math.random()*n);

result[j] = numbers[a];

numbers[a] = numbers[n-1];

n--;

}

Array.sort(result);

for(int element : result)

System.out.println(element);

Arrays还提供了一些其他的方法:

static String toString(type[] a )//返回包含a中数据元素的字符串,这些数据元素被放在括号内,并用逗号分隔开。

static type copyOf(type[] a , int length);//

static type copyOf(type[] a , int start, int end);//返回一个与a类型相同的数组,其长度为length或者end-start,数组元素为a的值。 start / end分别为起始和终止下标。 length为数组的长度。

static void sort(type[] a)//对数组进行排序。

static int binarySearch(type[] a, type v)//

static int binarySearch(type[] a, int start, int end , type v)//采用二分搜索算法查找V,如果查找成功则返回相应的下标值,否则,返回一个负数值r

static void fill(type[] a , type v )//将数组中的所有元素都设置成v。

static boolean equals(type[] a, type[] b);//如果两个数组大小相同,并且下标相同的元素都对应相等,返回true。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: