数组自身
int nums[]=new int[4];//数组坐标从0开始,坐标-1结束;超出范围编译不会报错,但是运行会报错
//java.long.ArrayIndexOutOfBoundsException
num.length;/*获取数组的长度
*没有小括号的话代表属性,获取数组的长度是length属性
*带了小括号的是方法函数,由字符串调用获取长度是length方法
*/
数组在声明之后已经有值了,整形变量默认为0;浮点型变量默认为0.0;boolean类型默认为false;char类型默认值是0的ascII码{输出会变成“方块”};string类型默认值是null;
int nums[]={1,5,8,19,6,};//直接声明并且赋值,只能写成一行;
system.out.print(nums.length);//打印出结果是5,最后一个格子的位置已经被自动移开;
寻找数组的最大最小值操作
//将第一个设为最大值(理论)
int max=nums[0];
for(int i=1;i<nums.legth;i++){
if(max<nums[i]){
max=num[i];
}
}
system.out.print("最大值为+"max);
数组内查询并且替换
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的第一个数字");
int num1 = sc.nextInt();
System.out.println("请输入你的第二个数字");
int num2 = sc.nextInt();
int numgroup[] = { 1, 2, 1, 99, 25, 1, 0, 4, 2, 99, 4 };
boolean flag = false;//判断状态
for (int i = 0; i < numgroup.length; i++) {
if (numgroup[i] == num1) {
numgroup[i] = num2;
flag = true;
}
}
if (flag == true) {
for (int j = 0; j < numgroup.length; j++) {
System.out.print(numgroup[j] + " ");
}
} else {
System.out.println("没能找到可以代替的数字!");
}
String str="abcdef";
int i=str.indexOf("h");
System.out.println(i);//如何找到字符串中的某一个字符的位置
删除数组中某一个数字
Scanner input = new Scanner(System.in);
int [] nums = {3,7,9,11,22};
System.out.println("请输入你要删除的数字");
int n = input.nextInt();
int index = -1;
for(int i=0; i<nums.length; i++) {
if(nums[i] == n) {
index = i;
break;
}
}
if(index != -1) {
int [] newNums = new int[nums.length - 1];
//要删除数字之前的数据直接复制过来
for (int i = 0; i < index; i++) {
newNums[i] = nums[i];
}
//3 7 9 11 22
//3 7 11 22
//要删除数字之后的数据往后移动一位复制过来
for (int i = index; i < newNums.length; i++) {
newNums[i] = nums[i+1];
}
System.out.println("新的数组是:");
for (int i = 0; i < newNums.length; i++) {
System.out.println(newNums[i]);
}
}
else {
System.out.println("没有你要删除的数字");
}for (int =0 ;i<nums.length;i++)
if(nums[i]==n){
index=1;
break;
}
if(index!=-1){
int []newNUms=new int[nums.length-1]
for (int i=0;i<index;i++){
newNums[i]=nums[i];
}
for (int i=index;i<newNUms.length;i++){
newNUms[i]=nums[i+1];
}
system.out.print(newNUms[i]);
}
else{ }//没找到
添加新的数字进入数组
int []num={1,5,9,12,55};
syso//请输入新加入的数字
int n=sc.nextInt();
//先循环判断输入的数字应该放在什么位置
int newNUms[]=new int [num.length+1];
int index=-1;//序号
for(int i=0;i<num.length;i++){
}
for(int i=0;i<num.length;i++){
if(num[i]>n){
index=i;
break;
}
}
if(index==-1){
//如果到最后都为-1,说明用户输入的数字是最大的一个
newNums[newNUms.length-1]=用户输入的数字
}else{
//把数组的每个位置依次往后面移动,直到移动到要插入的位置位置
for(int i=newNUms.length-1;i>index;i--){
newNUms[i]=newNums[i-1];
}
newNUms[index]=用户输入的数字;
}