Java初始 小知识点
输入
import java.util.Scanner;//导入类
主函数中:
Scanner scan = new Scanner(System.in);
输入整数:int a=scan.nextInt();
输入字符串:String b = scan.next();
输入浮点数:double c = scan.nextDouble();
输入布尔型:boolean d = scan.nextBoolean();
scan.close();//关闭
获取字符
Scanner scan = new Scanner(System.in);
string name = scan.next();
char a = name.charAt(0);//获取字符串第一位的字符
String name="王王王";
System.out.print(name.charAt(0));//王
数组
一维数组的声明和初始化、调用数组指定位置的元素、获取数组的长度、遍历数组;
数组元素的默认初始化值、数组的内存解析
int[] ids;//声明
ids = new int[]{1001,1002,1003};//静态初始化:初始化和数组赋值同时进行
String[] names = new String[5];//动态初始化,初始化和数组赋值分开进行
数组一点初始化完成,其长度就确定了。
1、 调用指定位置的元素
数组的角标或索引(从0开始,到数组的长度-1结束)
names[0]=“王一”;
获取数组长度
ids.length;//数组的属性length
names.length;
2、 遍历数组
for(int i=0;i<5;i++)
{
System.out.print(names[i]);
}
3、 数组元素的默认初始化值
基本数据类型或引用数据类型
double[] arr=new double[4];
for(int i=0;i<arr.length;i++) {
System.out.println(arr[i]);
}
二维数组
int[][] arr1 = new int[][]{{1,2,3},{4,5},{6,7,8}};//静态初始化
String[][] arr2 = new String[3][2];//动态初始化。或 String[][] arr3 = new String[3][];
或者:int[] arr4 = new int[]{1,2,3,4}; int[] arr4 ={1,2,3,4};//类型推断
调用指定位置的元素:arr[0][1],外层元素:arr[0], 内层元素:arr[0][1]
获取数组长度:arr.length
遍历二维数组
int[][] arr = new int[][]{{1,2,3},{3,4,5},{4,5,6}};
for(int i=0;i<arr.length;i++) {
for(int j=0;j<arr[i].length;j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
默认初始化:int[][] arr=new int[4][3];
arr[0];//表示地址值… arr[0][0];//默认初始值0。。若是float则为0.0,String则为null。
int[] arr1,arr2;
arr1=new int[]{2,3,5,7,11,13,17,19};
for(int i=0;i<arr1.length;i++) {
System.out.print(arr1[i]+"\t");
}
arr2=arr1;
for(int i=0;i<arr2.length;i++) {
if(i%2==0) {
arr2[i]=i;
}
}
System.out.println();
for(int i=0;i<arr1.length;i++) {
System.out.print(arr1[i]+"\t");
}//更改arr2的同时arr1也被更改
arr1和arr2地址值相同,都指向了堆空间的唯一的一个数组实体
如何实现数组的复制
arr2=new int[arr1.length];
for(int i=0;i<arr2.length;i++) {
arr2[i]=arr1[i];
}
数组的反转
for(int i=0;i<arr.length/2;i++) {
String tem=arr[i];
arr[i]=arr[arr.length-i-1];
arr[arr.length-i-1]=tem;
}
System.out.println();
//或
for(int i=0,j=arr.length-1;i<j;i++,j--) {
String temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
查找(搜索)
import java.util.Scanner;//导入包
//线性查找
Scanner scan=new Scanner(System.in);
String dest=scan.next();//从键盘输入
boolean isFlag=true;//设置标识符
for(int i=0;i<arr.length;i++) {
if(dest.equals(arr[i])) {
System.out.println(i+1);
isFlag=false;
break;
}
}
if(isFlag) {
System.out.println("无");
}
scan.close();//关闭