一周又过去了,过得确实是快啊。这一周事情也比较多,村里又是做核酸,又是停电,还有许多小事,耽误了不少时间。对了,这周,就昨天下了俺这面第一场大雪,下的确实不小,现在外面还飘着雪呢。
这周感觉也没啥写的,每天雷打不动8点半起床,然后做题学算法。只是比上周好多了,没有那种无从下手的感觉了。我就这两周总结的小知识点写下吧,这里面有不少之前学过的,但好久不用就给忘了,算是重新拾起吧。
使用Arrays类:其中的sort()使用的是“经过调优的快速排序法”
String[]data={"1","4","3","2"};
System.out.println(Arrays.toString(data));
// [1, 4, 3, 2]
Arrays.sort(data);
System.out.println(Arrays.toString(data));// [1, 2, 3, 4]
double型保留小数点后几位有多种方法,使用BigDecimal,DecimalFormat,DecimalFormat,java.util.Formatter,String.format来实现
public static String format5(double value) {
return String.format("%.2f", value).toString();
}(这种比较简单好记)
//filegoal:以数组为参数的方法调用
public class App6421 { //主类
public static void main(String[] args ){
int[] a ={8,3,7,10}; //声明int类型数组a
LeastNumber ln = new LeastNumber(); // 创建类对象并赋值给类对象ln
ln.least(a); // 将一维数组a传入least方法
}
}
class LeastNumber { //定义一个类
public void least(int[] array){ //声明一个带参数为数组类型的类方法
int i1 =array[0]; //声明int型i1为数组array中第一个元素
for(int i =1;i if(i1>array[i]) { //if条件语句:让i1与array数组中元素依次比大小,把数组中最小的元素赋值给i1 i1=array[i];} System.out.println("最小的数是:"+i1); } } public class ArgumentTest {// 方法传参,传递不同类型参数,对实参的影响 void show(int i){ i=200; System.out.println("i=:"+i); } void show(int[] i) { i[0] =200; System.out.println("i="+i[0]); } public static void main(String[] args) { ArgumentTest at = new ArgumentTest(); int a=10; at.show(a); System.out.println("a="+a); //方法内传递参数的形参为基本类型时,形参不影响实参,a仍为10 System.out.println(".................................................."); int[] b =new int[]{10,20}; at.show(b); System.out.println("b[0]="+b[0]); //方法内传递参数的形参为引用数据类型时,形参影响实参,a为100 } } import java.util.Scanner; // 求三阶方阵正反对角线之和 public class zuoye53 { public static void main(String[] args) { int [][]a=new int [3][3]; //数组的定义以及初始化 int sum1=0,sum2=0; //定义斜对角之和的变量 Scanner reader=new Scanner(System.in); for(int i=0;i<3;i++) //数组的初始化以及对于对角线的和判断 { for(int j=0;j<3;j++) { a[i][j]=reader.nextInt(); if(i==j) { sum1+=a[i][j]; } if(i+j==2) { sum2+=a[i][j]; } } } System.out.println("正对角线之和:"+sum1+" 斜对角线之和:"+sum2); } }