1.数组起别名
如果我们将一个数组变量赋值给另外一个数组变量,那么两个变量将会指向同一个数组。
demo:
int[] a=new int[N];
.........................
int[] b=a;
b[i]={5,6,7,8};
///a[i]的值也会变为5,6,7,8
//这种情况和复制数组是有差别的,所以叫做起别名
2.二维数组
double[][] a;
a=new double[M][N];//M是行数,N是每行元素的个数
for(int i=0;i<M;i++)
for(int j=0;j<N;j++)
a[i][j]=0.0;
3.静态方法
Algorithm4学习中的java 程序要么是数据类型的定义,要么是一个静态方法库。
在很多语言中,静态方法被称为函数。
demo(静态方法解析)
public static int abs(int x){
if(c<0) return Double.NaN;
double errr=1e-15;
double t=c;
while(Math.abs(t=-c/t)>err*t)
t=(c/t+t)/2.0;
return t;
}
4.典型静态方法的实现
1.计算一个整数的绝对值
package java4;
import java.util.Scanner;
public class Top1 {
//计算一个整数的绝对值
public static int abs(int x) {
if(x<0) return -x;
else return x;
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner src =new Scanner(System.in);
int x=src.nextInt();
int s=abs(x);
System.out.println(s);
}
}
2.计算一个浮点数的绝对值
package java4;
import java.util.Scanner;
public class Top2 {
//计算一个浮点数的绝对值
public static double abs(double x) {
if(x<0) return -x;
else return x;
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner src =new Scanner(System.in);
double x=src.nextDouble();
double s=abs(x);
System.out.println(s);
}
}
3.判断一个数是否是素数
package java4;
import java.util.Scanner;
public class Top3 {
//判断一个数是否是素数
public static boolean isPrime(int N) {
if(N<2) return false;
for(int i=2;i<N;i++) {
if(N%2==0) return false;
}
return true;
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner src=new Scanner(System.in);
int x=src.nextInt();
boolean s=isPrime(x);
System.out.println(s);
}
}
4.计算平方根
package java4;
import java.util.Scanner;
public class Top4 {
public static double sqrt(double c) {
if(c<0) return Double.NaN;
else c=Math.sqrt(c);
return c;
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner src=new Scanner(System.in);
double s=src.nextDouble();
double a=sqrt(s);
System.out.println(a);
}
}
5.计算直角三角形的斜边
package java4;
import java.util.Scanner;
public class Top5 {
//计算直角三角形的斜边
public static double hypottenuse(double x,double y) {
return Math.sqrt(x*x+y*y);
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner src=new Scanner(System.in);
double x=src.nextDouble();
double y=src.nextDouble();
double s=hypottenuse(x,y);
System.out.println(s);
}
}
6.调和级数
调和级数(英语:Harmonic series)是一个发散的无穷级数,表达式为:
**************************************************************************;
这个级数名字源于泛音及泛音列(泛音列与调和级数英文同为harmonic series):一条振动的弦的泛音的波长依次是基本波长的1/2、1/3、1/4……等等。调和序列中,第一项之后的每一项都是相邻两项的调和平均数;而“调和平均数”一词同样地也是源自音乐。
很早就有数学家研究,比如中世纪后期的数学家Oresme在1360年就证明了这个级数是发散的。他的方法很简单:
1 +1/2+1/3 +1/4 + 1/5+ 1/6+1/7+1/8 +…
1/2+1/2+(1/4+1/4)+(1/8+1/8+1/8+1/8)+…
注意后一个级数每一项对应的分数都小于调和级数中每一项,而且后面级数的括号中的数值和都为1/2,这样的1/2有无穷多个,所以后一个级数是趋向无穷大的,进而调和级数也是发散的。
从更广泛的意义上讲,如果An是全部不为0的等差数列,则1/An就称为调和数列,求和所得即为调和级数,易得,所有调和级数都是发散于无穷的。
package java4;
import java.util.Scanner;
public class Top6 {
//计算调和级数,如果输入小于等于0,则输出0.0,无穷小,否则输出Infinity(无穷大)
public static double H(int N) {
double sum=0.0;
for(int i=0;i<=N;i++) {
sum+=1.0/i;
}
return sum;
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner src=new Scanner(System.in);
int x=src.nextInt();
double s=H(x);
System.out.println(s);
}
}
7.调用静态方法
写出方法名并且在后面的括号中列出参数值,用逗号分隔。
。。。。。。今天下午更新