java的一些基本函数知识(包括数组)
/*
class lesson
{
public static void main(String [] args)
{
System.out.println("lesson3");//一定要有”;“
}
}
*/
/*
class lesson3
{
byte i=5;//不能在这里定义。
public static void main(String [] args)
{
//byte i=5;
System.out.println(i);
}
}
*/
/*
class lesson3
{
public static void main(String [] args)
{
byte i=5;//占2个字节-2^7~2^7-1 //i在输出的时候一定要与初始值.
short j=10;//占2个字节-2^15~2^15-1
int k=10;//占2个字节-2^31~2^31-1
long l=10;//占2个字节-2^63~2^63-1
char z=97;//占2个字节0~2^16-1
float x=3.0f;//占4个字节
z=(char)i;//强制类型转化
System.out.println(z);
}
}
*/
//函数运用
/*
class lesson3
{
static int sum(int i,int j)
//int sum(int i,int j),错误写法
{
int k;
k=i+j;
return k;
}
public static void main(String [] args)
{
int i=5,j=6;
//System.out.println("i="+i+";j="+j);
System.out.println(sum(i,j));
}
}
*/
/*
输出
*
***
*****
*******
*********
***********
*/
/*
class lesson3
{
static void cc()//用VOID的话就没有类型了
{
for (int i=1;i<=6;i++)
{
for (int j=1;j<=6-i;j++)
{
System.out.print(" ");
}
//先输出空格
for (int k=1;k<=2*i-1;k++)
{
System.out.print("*");
}
//接着输出*
System.out.print("/n");
//最后换行
}
}
public static void main(String [] args)
{
cc();
}
}
*/
/*
已知一条直角边和斜边,求另外一条直角边
*/
/*
class lesson3
{
public static void main(String [] args)
{
double x=4;
double y=3;
double z;
z=java.lang.Math.sqrt(x*x-y*y);//内置方法
z=Double.valueOf(new java.text.DecimalFormat(".00").format
(z)).doubleValue(); //获得小数点的位数
System.out.println(z);
}
}
*/
/*
求任意三个数中的最大数
*/
/*
class lesson3
{
static void max(int x, int y ,int z)
{
int temp;
if (x>y)
temp=x;
else
temp=y;
System.out.println(z>temp?z:temp);
}
public static void main(String [] args)
{
int x=310;
int y=5;
int z=4;
max(x,y,z);
}
}
*/
/*
输入一个三位数,依次输出该数的正、负数,百位,十位,个位
*/
/*
class lesson3
{
static void bb(int x)
{
int i,ii,iii;
String j;
j=x>0?"+":"-";
x=x>0?x:-x;
i=x%10;
ii=(x/10)%10;
iii=x/100;
System.out.println("该正数的符号位:"+j+" 百位:"+iii+" 十位"+ii+" 个位
"+i );
}
public static void main(String [] args)
{
int x=-653;
bb(x);
}
}
*/
/*
输入一个年份,判断是否是闰年
*/
/*
class lesson3
{
static void cc(int x)
{
if ((x%400==0)||(x%4==0&&x%100!=0))
System.out.println(""+x+"年是闰年");
else
System.out.println(""+x+"年不是是闰年");
}
public static void main(String [] args)
{
cc(2000);
cc(2100);
cc(1999);
}
}
*/
/*
输入1~7之间的一个数字,输出其对应的星期几的英文表示,case用法
*/
/*
class lesson3
{
static void cc(int i)
{
switch(i)
{
case 1:
System.out.println("星期一");
break;
case 5:
System.out.println("星期五");
break;
default:
System.out.println("其他");
}
}
public static void main(String [] args)
{
int x=1;
System.out.println("请输入数字");
try
{
x=System.in.read();
}catch(Exception e){}
while(true)
{
System.out.println(x);//这样输出的是ASC码值
try
{
x=System.in.read();
}catch(Exception e){}
}
}
}
*/
/*
求1~99的奇数和
*/
/*
class lesson3
{
public static void main(String [] agrs)
{
int sum=0;
for (int i=1;i<100;i+=2)
sum+=i;
System.out.println(sum);
}
}
*/
/*
求自然对数E的近似值,要求其误差小于0.00001,近似公式为e=1+1/1!+1/2!+...+1/n!+...
*/
/*try
{
x=System.in.read();
}catch(Exception e){}
*/
/*
class lesson3
{
public static void main(String [] args)
{
double t=1,sum=1;
int n=1;
for (n=1;;)
{
sum+=1/(t);
n++;
t=t*n;
if (1/t<0.00001)
break;
}
System.out.println(sum);
}
}
*/
/*
编写99乘法口诀
*/
/*
class lesson3
{
public static void main(String [] agrs)
{
System.out.println("/t/t九九乘法口诀");
for (int i=1;i<=9;i++)
{
for (int j=1;j<=9;j++)
{
System.out.print(i+"×"+j+"="+i*j+"
");
}
System.out.print("/n");
}
}
}
*/
/*
求2~100之间的素数,并以每行显示8条记录
*/
/*
class lesson3
{
public static void main(String [] args)
{
int k=1,j;
for (int i=2;i<=100;i++)
{
for (j=2;j<=i-1;j++)
if (i%j==0)
break;
if (j==i)
{
System.out.print("/t"+i);
if (k%8==0)
System.out.print("/n");
k++;
}
}
}
}
*/
/*
求2~100之间的素数,并以每行显示8条记录//错误记录
*/
/*
class lesson3
{
public static void main(String [] args)
{
int k=1;
for (int i=2;i<=100;i++)
{
for (int j=2;j<=i-1;j++)
if (i%j==0)
break;
if (j==i) //这里会显示J没定义,因为J只能在for里面使用
,他是一个局部变量
{
System.out.print("/t"+i);
if (k%8==0)
System.out.print("/n");
k++;
}
}
}
}
*/
/*
编写一个程序:求100~1000之间有多少个整数,其各个数位数字之和等于5
*/
/*
class lesson3
{
public static void main(String [] args)
{
int k=0,i;
for (i=100;i<1000;i++)
{
if (i%10+(i/10)%10+i/100==5)
{
System.out.print("/t"+i);
k++;
if (k%5==0)
System.out.print("/n");
}
}
System.out.println("/n/t一共有"+k+"个");
}
}
*/
/*
求一个班100个学生的平均成绩
*/
/*
class lesson3
{
public static void main(String [] args)
{
//int [] i=new int[101];//定义数组
int [] i=new int[]{1,3,5};
int sum=0;
for (int j=0;j<=2;j++)
{
//i[j]=j;
System.out.print(i[j]);
}
}
}
*/
/*
求数组中的最大值
*/
/*
class lesson3
{
public static void main(String [] args)
{
int [] i=new int []{3,36,95,25,16,32};
int temp=0;//这里没初始化的话会出错
for (int j=0;j<i.length;j++)
{
if (j==0)
temp=i[j];
else
if (i[j]>temp)
temp=i[j];
}
System.out.println(temp);
}
}
*/
/*
选择法排序数组中的6个数,ASC
*/
/*
方法一:
*/
/*
class lesson3
{
public static void main(String [] args)
{
//int [] i=new int[]{3,36,52,39,98,12};
int [] i;
i=new int[100];
i=null;
i=new int[]{3,36,52,39,98,12};
java.util.Arrays.sort(i); //排序过后数组变了
for (int j=0;j<i.length;j++)
{
System.out.println(i[j]);
}
}
}
*/
/*
方法二:选择法ASC//标识的是下标号
*/
/*
class lesson3
{
public static void main(String [] args)
{
int [] x=new int[]{12,32,3,96,56};
int temp=0,k=0,j,jj=0;
for ( j=0;j<x.length-1;j++)//比较的趟数
{
temp=j;
for( k=j+1;k<x.length;k++)//一趟中比较的次数
if (x[temp]>x[k])
temp=k;
jj=x[temp];
x[temp]=x[j];
x[j]=jj;
}
for (j=0;j<x.length;j++)
{
System.out.println(x[j]);
}
}
}
*/
/*
方法三:冒泡法ASC//标识的是下标号
*/
/*
class lesson3
{
public static void main(String [] args)
{
int [] i;
int temp,k,temp1;
i=new int []{18,32,12,96,19};
for (int j=1;j<i.length;j++)//比较次数
{
for (k=0;k<i.length-j;k++)
{
if (i[k]>i[k+1])
{
temp1=i[k];
i[k]
=i[k+1];
i
[k+1]=temp1;
}
}
for (temp=0;temp<i.length;temp++)
{
System.out.print("/t"+i[temp]);
}
System.out.print("/n");
}
}
}
*/
/*
二维数组练习
*/
/*
class lesson3
{
public static void main(String [] args)
{
int [][] xx=new int[3][4];
xx[0][0]=0;
xx[1][1]=1;
xx[2][2]=2;
for (int i=0;i<xx.length;i++)
{
for (int j=0;j<xx[i].length;j++)
{
System.out.print("/t"+xx[i][j]);
}
System.out.print("/n");
}
}
}
*/
/*
求两个距阵的和
*/
/*
class lesson3
{
public static void main(String [] args)
{
int [][] num1={{1,2,3},{4,5,6},{7,8,9}};
int [][] num2={{3,2,1},{6,5,4},{9,8,7}};
System.out.println("下面输出第一个距阵:");
for (int i=0;i<num1.length;i++)
{
for (int j=0;j<num1[i].length;j++)
{
System.out.print("/t"+num1[i][j]);
}
System.out.print("/n");
}
System.out.println("下面输出第二个距阵:");
for (int i=0;i<num2.length;i++)
{
for (int j=0;j<num2[i].length;j++)
{
System.out.print("/t"+num2[i][j]);
}
System.out.print("/n");
}
System.out.println("下面是两个距阵相加的结果:");
for (int i=0;i<num2.length;i++)
{
for (int j=0;j<num2[i].length;j++)
{
System.out.print("/t"+(num2[i][j]
+num1[i][j]));
}
System.out.print("/n");
}
}
}
*/
/*
求二维数组中最大数及其他的下标
*/
/*
class lesson3
{
public static void main(String [] args)
{
int [][] xx={{78,98,65,36},{36,26,39,95},{123,69,589,326}};
int temp=0;
int ii=0,jj=0;
for (int i=0;i<xx.length;i++)
{
if (i==0)
{
temp=xx[0][0];
ii=0;
jj=0;
}
for (int j=0;j<xx[i].length;j++)
{
if (xx[i][j]>temp)
{
temp=xx[i][j];
ii=i;
jj=j;
}
System.out.print("/t"+xx[i][j]);
}
System.out.print("/n");
}
System.out.print("最大数是xx["+ii+"]["+jj+"]="+temp);
}
}
*/
/*
矩阵转置
*/
/*
class lesson3
{
public static void main(String [] args)
{
int [][] xx={{36,39,15,96},{65,98,24,62},{12,36,78,10}};
int [][] yy=new int[4][3];
System.out.println("原来的距阵:");
for (int i=0;i<xx.length;i++)
{
for (int j=0;j<xx[i].length;j++)
{
System.out.print("/t"+xx[i][j]);
yy[j][i]=xx[i][j];
}
System.out.print("/n");
}
System.out.println("转置后的距阵:");
for (int i=0;i<yy.length;i++)
{
for (int j=0;j<yy[i].length;j++)
{
System.out.print("/t"+yy[i][j]);
}
System.out.print("/n");
}
}
}
*/
/*
利用自带的函数进行数组复制
*/
/*
*/
/*
class lesson3
{
public static void main(String [] args)
{
int [] x=new int[10];
x=new int []{3,4,5,6,9,10};
int [] y=new int [8];
System.arraycopy(x,2,y,1,3)
//x是数组X的名字,2是指从X中的第二个元素开始;y是数组Y的名字,1是指放到
y数组的第一个位置,3是指取3个元素
for (int i=0;i<y.length;i++)
{
System.out.println(y[i]);
}
}
}
*/