Java学习笔记一:基本程序结构(2)


Java语法之一:基本程序结构(2)

敬告:本文仅为本人学习《java核心技术:卷一》的一篇读书笔记,有相当多的遗漏之处,请勿当做学习资料来使用。

1.5 输入输出

1.5.1 读取输入

首先需构造一个Scanner对象,与“标准输入流” System.in 相关联。

Scanner in = new Scanner(System.in);
String name = in.nextLine();//读一行,可能包含空格
String firstName = in.next();//读一个单词,不包含空格
int age = in.nextInt();//读一个整数

Scanner 在Java.util包中,使用需要import java.util.*;

1.5.2 格式化输出

System.out.printf(); 和c语言一样
在 printf中,可以使用多个参数, 例如:

System.out.printf("Hello, %s. Next year, you'll be SSd", name, age);

每一个以 % 字符开始的格式说明符都用相应的参数替换。 格式说明符尾部的转换符将指示被
格式化的数值类型:f 表示浮点数,s 表示字符串,d 表示十进制整数。
例如 :
System.out.printf(“%8.2f”,x);
可以用 8 个字符的宽度和小数点后两个字符的精度打印 x。也就是说,打印输出一个空格和7 个字符, 如下所示:
3333.33
图1.5.1另外,还可以给出控制格式化输出的各种标志。可以使用多个标志,例如,“ %,( .2f” 使用分组的分隔符并将负数括在括号内。
图1.5.2
可通过静态的String.format方法创建一个格式化的字符串:

String message = String.format("Hello,%s.Next year,you"ll be %d years old.",name,age);

可用参数索引来进行格式化,参数索引从1开始

String message = String.format("Hello,%1$s.Next year,you'll be %2$d years old",name,age);
//%1表示第一个参数name,%2表示第二个参数age.
//参数索引适用于重复输出同一个参数时

%< 表示再次输出前一个参数,适用于连续重复输出同一个参数时

图1.5.3 格式说明符语法

1.5.3 文件的输入和输出

读文件:用Paths对象构造一个Scanner对象

Scanner in = new Scanner(paths.get("myfile.txt"),"UTF-8");

现在,就可以利用前面介绍的任何一个 Scanner 方法对文件进行读取
写文件:构造一个PrintWritter对象

PrintWritter out = new PrintWritter("myfile.txt","UTF-8");

out 可使用 print,println,printf命令

1.6 数组

int [] a;
int [] a = new int[100];

1.6.1 for each循环

for(int e:a)
    System.out.println(e);//a是一个整形数组

Arrays.tostring()
a = {2,3,5,7};
System.out.println(Arrays.tostring(a));
输出:
[2,3,5,7]

返回一个包含数组元素的字符串,元素用“,”分隔,放置在括号内。

1.6.2 数组初始化

int[] smallPrimes = {2,3,5,7,11,13}//或
int[] smallPrimes;
smallPrimes = new int[] {2,3,5,7,11,13};//匿名数组

1.6.3 数组拷贝

int[] copiedLuckyNumbers = Arrays.copyOf(LuckyNUmbers,2*LuckyNumbers.length);
//第一个参数是被copy的数组,第二个参数是新数组长度

当新数组长度>原数组长度时:
若为数值型数组,则多余元素为0;
若为bool型数组,多余元素为flase;

1.6.4 数组排序

用Arrays.sort()函数,用优化的快速排序算法将数值型数组从小到大排序。参数为数值型数组。

1.6.5 多维数组

double[][] balance = new double[N1][N2];
用两层循环或Arrays.deepToString()输出二维数组。

1.6.6 不规则数组

如:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
则新建一个不规则数组如下

int[][] odds = new int[N+1][];
for(int n = 0;n<=N;n++)//对每一行都要再申请一个一维数组
    odds[n] = new int[n+1];

文章作者: Extreme Ways
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Extreme Ways !
评论
 上一篇
win10系统下jdk1.8的安装和环境变量的配置 win10系统下jdk1.8的安装和环境变量的配置
对如何配置Java环境变量做个总结,以便以后忘了回来看。 安装JDK1.8直接放上网盘下载地址https://pan.baidu.com/s/17lWcvbkE6PES5LnCGw8eOg提取码:s8d2下完了就运行带java图标的那个ex
2020-03-01
下一篇 
Java学习笔记一:基本程序结构 Java学习笔记一:基本程序结构
Java语法之一:基本程序结构(1)正文1.1 数据类型 整型整型是有符号的整数,Java中不含无符号整型。1.int 4字节 ( 取值范围约为-20亿到正20亿)2.Long 8字节3
  目录