增强for,方法重载,可变参数,数组定义及稀疏数组。
增强for
package com.hyb.base;
public class for_strengthen {
public static void main(String[] args) {
//增强for
int[] a={0,1,2,3};
//定义一个变量想,将a中的值一遍一遍赋值给x,并输出;
for(int x:a){
System.out.println(x);
}
/*
0
1
2
3
*/
int[][] b=new int[2][2];//数组的初始值为0;
//二位数组里,每一行为一个一维数组,要放在一个一维数组中
for(int[] c:b){
//每一个一维数组里都有若干个元素,要将每一个元素都赋值给int cc
for(int cc:c){
System.out.print(cc+" ");
}
System.out.print("\n");
}
/*
0 0
0 0
*/
}
}
方法重载
package com.hyb.method;
import java.sql.SQLOutput;
//java方法与语句的集合,一起执行一个功能
public class D1 {
public static void main(String[] args) {
//System.out.println();系统类.对象.方法
int max=max(10,20);
/*
方法可以重载:
当max中的值要输入为double形时,则只需要将其类型改变即可,但方法名必须一样,参数类型必须不一样。
*/
System.out.println(max);
}
public static int max(int a,int b){//public int max(),static使该方法在main中可直接调用
if(a==b){
return 0;
}
else if(a<b){
return b;
}
else{
return a;
}
}
public static double max(double a,double b){
if(a==b){
return 0;
}
else if(a<b){
return b;
}
else{
return a;
}
}
}
可变参数
package com.hyb.method;
public class D2 {
public static void main(String[] args) {
int max=max(100,20,30,40,50,1);
System.out.println(max);
}
//可变参数的使用,类型...参数名,必须要放在最后一个参数;
public static int max(int ...a){
int result=a[0];
//下面我们来求用户输入的一组随意个数的数的最大;
for (int i = 1; i <a.length; i++) {
if(a[i]>a[0]) {
result = a[i];
}
}
return result;
}
}
数组定义及稀疏数组
package com.hyb.method;
//数组的定义
/*
int[] a=new int[10];
int [] a={1,0,2,5,5,3,6};
*/
//稀疏数组的定义
/*
当数组中大部分元素都一样时,开辟原数组比较占据空间,这时可以采用稀疏数组。
稀疏数组的处理:
记录数组一共有几行几列,一共有多少个不同的值;
-------------------
第零行|数组的行数总数m|数组的列数总数n|数组的有效值的个数d
第一行| 哪一行 | 哪一列 | data1
第二行……
*/
//下列表示五子棋的方法
public class D3_array {
public static void main(String[] args) {
//记录一个棋盘,10*10,a[1][1]=1,a[2][2]=2,其余为0;
int[][] a=new int[10][10];
a[1][1]=1;
a[2][2]=2;
//输出原数组
for (int i = 0; i < 10; i++) {
for (int i1 = 0; i1 < 10; i1++) {
System.out.print(a[i][i1]+"\t");
if(i1==9){
System.out.print("\n");
}
}
}
/*
0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
0 0 2 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
*/
//可见数组冗杂,可压缩为稀疏数组
//前者3=有效值个数+1,后者3,保存横+列+值
int[][] b=new int[3][3];
//b[0][]保存原数组信息
//b[i][]保存原数组数据信息
b[0][0]=10;//保存数组的行
b[0][1]=10;//保存数组的列
b[0][2]=2;//保存数组的有效值个数
//保存数组a[1][1]=1;
b[1][0]=1;
b[1][1]=1;
b[1][2]=1;
//保存数组值a[2][2]=2
b[2][0]=2;
b[2][1]=2;
b[2][2]=2;
//输出稀疏数组
for (int i = 0; i < 3; i++) {
for (int i1 = 0; i1 < 3; i1++) {
System.out.print(b[i][i1]+"\t");
if(i1==2){
System.out.print("\n");
}
}
}
/*
10 10 2
1 1 1
2 2 2
*/
}
}