手把手学计科--Java第四章 数组与字符串(全)

数组

  1. 声明数组:
    int[] a;也可以是int a[];
  2. 创建数组空间:
    a=new int[5];(5个连续的32位的空间)
  3. 数组的初始化:
  4. 数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3…};
  5. 数组存储的数据类型[ ] 数组名字 = new 数组存储的数据类型[数组长度
  • 循环初始化:
int[] arr=new int[10];
for(int i=0;i<10;i++)
{
        arr[i]=i;
}
  • 随机变量初始化
Random r=new Random();
for(int i=0;i<arr.length;i++)
{
        arr[i]=r.nextInt(10);
}
  • Arrays.fill快速初始化,填充一个数组
import java.util.Arrays;

public class HelloWorld {
    public static void main(String[] args) {
        int[] arr = new int[5];
        Arrays.fill(arr, 1);
        System.out.println(Arrays.toString(arr));  // [1, 1, 1, 1, 1]
    }
}
  1. 数组的访问:
  • 数组名[索引]
  • 数组的长度属性: 每个数组都具有长度,而且是固定的,Java中赋予了数组的一个属性,可以获取到数组的长度,语句为:数组名.length ,属性length的执行结果是数组的长度,int类型结果。由次可以推断出,数组的最大索引值为数组名.length-1。
package first;
import java.util.Random;
import java.util.Arrays;
public class text3_20 {
        public static void main(String[] args)
        {
                int[] arr=new int[10];
                for(int i=0;i<10;i++)
                {
                        arr[i]=i;
                }
                System.out.println(Arrays.toString(arr));//以字符串的形式输出
                outPut(arr);//调用方法输出        
        }
        public static void outPut(int arr[])//参数为数组的定义
        {
                for(int i=0;i<10;i++)
                {
                        System.out.print(arr[i]+" ");
                }
        }
  1. 常用的数组操作:
  • 求最大值和最小值:
package first;
public class text3_20 {
        public static void main(String[] args)
        {
                int[] arr= {76,34,23,56,67,78};
                System.out.println("数组的最大值为:"+maxa(arr));
                System.out.println("数组的最小值为:"+mina(arr));
        }
        public static int maxa(int[] a)//求最大值
        {
                int max=a[0];
                for(int i=0;i<a.length;i++)
                {
                        if(a[i]>max)
                                max=a[i];
                }
                return max;
        }
        public static int mina(int[] a)//求最小值
        {
                int min=a[0];
                for(int i=0;i<a.length;i++)
                {
                        if(a[i]<min)
                                min=a[i];
                }
                return min;
        }
}
  • 数组排序:
 //import java.util.Arrays;
 Arrays.sort(arr);//数组排序
 System.out.println(Arrays.toString(arr));
  1. 数组常用API
  • 输出数组 Arrays.toString()
  • 数组转List Arrays.asList()
//声明语句
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
String[] array2 = {"a", "b", "c", "d"};//须得是字符串数组,int和char会乱码
System.out.println(array2);  // [Ljava.lang.String;@13b6d03
List list = new ArrayList(Arrays.asList(array2));
System.out.println(list);   // [a, b, c, d]
list.add("GG");
System.out.println(list);  // [a, b, c, d, GG]

二维数组

  1. 定义
int[][] array1 = new int[10][10];
int array2[][] = new int[10][10];
int array3[][] = { { 1, 1, 1 }, { 2, 2, 2 } };
int array4[][] = new int[][] { { 1, 1, 1 }, { 2, 2, 2 } };
  1. 求二维数组的长度:
package first;
public class text3_25 {
        public static void main(String[] args)
        {
                int [][] xx= {{0},{1,2},{1,2,3}};
                for(int i=0;i<xx.length;++i)
                {
                        for(int j=0;j<xx[i].length;++j)
                        {
                                System.out.print(xx[i][j]+" ");
                        }
                        System.out.println();
                }
        }
}
  1. 帮助文档的使用
    暂时无法在飞书文档外展示此内容
  • object类:Java程序的直接或间接的父类。
  • 方法调用:
    [图片]
    例如:
    //api使用
package first;
public class text3_25 {
        public static void main(String[] args)
        {
                String s1=Integer.toString(10);
                Integer t=new Integer(10);
                String s2=t.toString();
                System.out.println(s1);
                System.out.println(s2);
        }
}

字符串

  1. string类方法
  • 获得字符串长度:s.length();
  • 按位置提取字符:s.charAt(4);
  • 查找ch第一次出现的位置:int indexOf(int ch);
  • 查找ch第二次出现的位置:int indexOf(int ch,int index+1);
  • ch最后一次出现的位置:int lastindexOf(int ch);
  • 截取字符串:String substring(int begin,int end);不包含结尾。
//例:截取小数的整数部分与小数部分
String number = "123.456";
int dotIndex = number.indexOf('.');
String integerPart = number.substring(0, dotIndex);
String decimalPart = number.substring(dotIndex + 1);

System.out.println("整数部分:" + integerPart);
System.out.println("小数部分:" + decimalPart);
  • 字符串的内容比较:
    字符串1.equals(字符串2); //严格比较字符串是否相同
    字符串1.equalsIgnoreCase(字符串2); //忽略字母大小写来进行比较
    我们还可以使用compareTo方法比较两个字符串的大小。
  • 字符串替换:string1.replace(char oldchar,char newchar);
  • 字符串连接:string1.concat(string2);(1本身不改变)
  1. StringBuffer类
    查找方法
int indexOf(String str)
int indexOf(String str,int fromlndex)
int lastindexof(String str)
int lastindexOf(String str,int fromIndex)

字符串的修改方法

StringBuffer append(参数类型参数名)
StringBu什er insert(int offset,参数类型 参数名)
StringBuffer delete (int start,int end)
StringBuffer deleteCharAt(int index)
void setCharAt(int index,char ch)
StringBuffer replace(int start,int end.String str)
StringBuffer reverse()

练习

  1. 字符串转换
package first;
public class text3_25 {
        public static void main(String[] args)
        {
                int n = (int)(Math.random()*1000);

        System.out.println("产生的随机数为" + n);
        //第一步:将整数转换为字符串
        String str = Integer.toString(n);

        //第二步:处理上一步得到的字符串,提取每个字符并转换为对应数字
        int sum=0;
        for(int i=0;i<str.length();++i)
        {
                char a=str.charAt(i);
                int num = Character.getNumericValue(a);
                sum+=num;
        }
        //第三步:计算上一步得到的各位数字之和并打印输出
       System.out.println("各位数字之和为:"+sum);  
        }
}
  1. 整数部分与小数部分的分割
package first;
import java.util.Scanner;
public class text3_25 {
      public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      double d = sc.nextDouble();
      //第一步:将浮点数转换为字符串
      String str = Double.toString(d);
      
      //第二步:处理上一步得到的字符串,分离整数和小数
      int index = str.indexOf('.');
      String a = str.substring(0, index);
      String b = str.substring(index + 1);
      
      //第三步:输出整数和小数
      System.out.println("整数部分:" + a);
      System.out.println("小数部分:" + b);
      }
}
  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值