0601 Java核心技术卷1
Posted alin002
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0601 Java核心技术卷1相关的知识,希望对你有一定的参考价值。
儿童节快乐!
3.文件输入与输出 (?)
需要一个file对象构造一个scanner对象,如
Scanner in = new Scanner(Path.get("filename.txt"),"UTF-8");
如果文件名中包含反斜杠,就要在每个反斜杠之前再加一个额外的反斜杠
"c:\mydirectory\filename.txt"
3.8 控制流程
1.块作用域
块是指由一对大括号括起来的若干条简单的Java语句
2.条件语句
if (condition) { statement; } else{ statement2 }
3.循环
当条件为true时,while循环执行一条语句,一般格式为:
while(true) statement
4.确定循环
for循环是支持迭代的一种通用结构,利用每次迭代之后更新的计数器或类似的变量来控制迭代次数
for语句的第一部分通常用于对计数器初始化;第二部分给出每次新一轮循环执行前要检测的循环条件,for语句的三个部分应该对同一个计数器变量进行初始化,检测和更新
特别指出,如果在for语句内部定义一个变量,这个变量就不能在循环体之外使用
5.switch语句
switch(choice) { case 1: ... break; case 2: ... break; default: ... break; }
6.中断控制流程语句
int i =0; int j = 0; label:while(true){ //我是第一层循环 while(true){ //我是第二层循环 if(j*i == 81) break label; // continue label j++; } i++; }
label: 就是标签 ,要终止的位置
break label :终止结束到标签 ,结束语句
continue label: 终止本次循环 跳到标签位置进行接下来的循环
continue语句将中断正常的控制流程,continue语句将控制转移到最内层循环的首部
如果将continue语句用于for循环中,就可以跳到for循环的"更新"部分
3.9 大数值
如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigInteger和BigDecimal,这两个类可以处理包含任意长度数字序列的数值,BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算
使用静态的valueOf方法可以将普通的数值转换为大数值:
BigInteger a =BigInteger.valueOf(100);
遗憾的是,不能使用算术运算符处理大数值,而需要使用大数值类中的add和multiply方法
BigInteger c = a.add(b); // c=a+b
BigInteger d = c.multiply(b.add(BigInteger.valueOf(2))) // d=c*(b+2)
3.10 数组
在声明数组变量时,需要指出数组类型和数组变量的名字
int[] a;
不过这条语句只声明了变量a,并没有将a初始化为一个真正的数组,应该使用new运算符创建数组
int[] a = new int[100];
要想获得数组中的元素个数,可以使用array.length
一旦创建了数组,就不能再改变他的大小,如果经常需要在运行过程中扩展数组的大小,就应该使用另一种数据结构--数组列表(array list)
1.for each循环
Java有一种功能很强的循环结构,可以用来一次处理数组中的每个元素,而不必为指定下标值而分心,这种语句格式为:
for(variable : collection) statement
例如:
for(int element : a)
System.out.println(element);
有个更简单的方式可以打印数组中的所有值,即利用Arrays的toString方法
2.数组初始化及匿名数组
在Java中,提供了一种创建数组对象并同时赋予初始值的简化书写方式.
int [] smallPrimes = {2,3,5,7,11,13};
3.数组拷贝
在java中,允许将一个数组变量拷贝给另一个数组变量,这时,两个变量将引用同一个数组
如果希望将一个数组的所有值拷贝到一个新的数组中去,就要使用Arrays类的copyOf方法
int[] copiedLuckyNumber = Array.copyOf(luckyNumber,luckyNumber.length);
第二个参数是新数组的长度,这个方法通常用来增加数组的大小
5.数组排序
要想对数值型数组进行排序,可以使用Arrays类中的sort方法
int[] a=new int[10000]
....
Array.sort(a);
6.多维数组
在Java中,声明一个二维数组相当简单
double[] balances;
与一维数组一样,初始化之前不能使用他
balances = new double[NYEARS][NRATES]
如果知道数组元素,就可以不调用new,而直接使用简化的书写形式对多维数组进行初始化
int[] magicSquare={
{16,3,2,13},
{5,10,11,8},
{9,6,7,12},
{4,15,14,1}
};
for each循环语句不能自动处理二维数组的每一个元素,它是按照行,也就是一维数组处理的,要想访问二维数组a的所有元素,需要使用两个嵌套的循环,如下所示:
for( double[] row :a)
for(double value : row)
do something with value
若想快速的打印一个二维数组的数据元素列表,可以调用Array.deepToString方法
四.对象与类
以上是关于0601 Java核心技术卷1的主要内容,如果未能解决你的问题,请参考以下文章