数组与String类

数组

数组的声明与创建

声明:没有具体的数据
(声明数组时不能确定数组的长度,数组的长度是在创建数组(数组初始化)中被定义的)
两种声明方式

//1.
	int ints[];
//2:常用的
	double[] dous;

数组创建的三种方式

1,先声明,后创建
char[] chars;
//new:创建运算符,用来创建对象
//char[10]: char类型 ,[]表示数组,10表示数组长度
//特点:数组的长度在创建时就要确定下来

	例:
chars = new char[10];

2,声明的同时创建数组

float[] fls = new float[10];

3,直接赋值法
//直接赋值法的长度由里面的元素个数决定

String[] strs= {};

//数组是什么类型,元素就是什么类型;元素放在大括号里,然后元素之间必须用逗号隔开

数组元素访问:

数组元素是通过数组名和下标来访问的,即:

数组名[下标]

数组的长度即为数组元素的个数。

存取通过下标值操作,从0 开始
最大下标值,数组长度-1
判断长度的方式:lenght属性

System.out.println("数组的长度:"+strs.length);
System.out.println("最大下标值:"+(strs.length-1));
System.out.println(strs[0]);
//下标超出最大值,曝数组下标越界异常错误

//数组的取值

System.out.println(strs[4]);

//数组的赋值

strs[1]="学习";
System.out.println(strs[1]);

数组的遍历:将容器中的数据全部显示出来

数组遍历的两种方式:

普通for循环遍历

for(int i=0;i<strs.length;i++) {
			System.out.println(strs[i]);
			
		}

增强for循环遍历
格式

for(数组的数据类型 变量名 数组名){
syso(变量名)

例子:
public static void main(String[] args) {
		//声明一个int类型的数组ints,并采用直接赋值的方式创建数组
		int[] ints={3,7,9,12,34,56,87};
		//使用普通for循环来遍历数组
		for(int i=0;i<ints.length;i++){//i表示数组的下标值
			System.out.println(ints[i]);
		}
		System.out.println("==================================");
		//使用增强for循环来遍历数组
		/*增强for循环的格式:
		 * for(数组类型  变量名:数组名){
		 * 		输出变量名即可
		 * }
		 */
		for(int a:ints){
			System.out.println(a);
		}
		int[] intss={45,23,34,89,6,12};
		//Arrays.sort(数组名):是指多某个数组进行升序排序
		Arrays.sort(intss);
		//Arrays.toString(数组名):是指将某个数组元素转换成字符串
		System.out.println(Arrays.toString(intss));
	}
  • 数组的新增
  • 数组的查询:遍历
  • 数组总元素的修改:利用下标值覆盖
  • 数组的删除:remove(下标值)

String类

String 又称为定长字符串,其含意是:一个 String 类的对象其值是不能被修改的,如果修改的话,会重新生成一个新 String 对象,并将引用指向那个新生成 的对象的地址。

在 Java 中有两种方式可以构造出一个 String 对象,一种是直接用 字符序列赋值构建 String 对象,另一种就是调用 String 类的构造方法来构建 String 对象。

String类的创建:

在Java中,字符串作为String类的对象,注意String类对象的两种创建方式。

1.String str1 =123;
2.String str2 = new String(123); 

示例:

public class StringDemo {
	public static void main(String[] args) {
		//创建字符串的方式:
//第一种
		String str="abc";
		String str1="abc";
		//三目运算符:条件表达式?结果一:结果二;  条件表达式结果为true时返回结果一,为false时返回结果二
		System.out.println(str==str1?"str与str1两个字符串相等":"str与str1两个字符串不相等");
		//第二种
		String str2=new String("abc");
		System.out.println(str==str2?"str与str2两个字符串相等":"str与str2两个字符串不相等");
		//比较两个字符串内容是否相等用equals方法
		System.out.println(str.equals(str2)?"str与str2两个字符串相等":"str与str2两个字符串不相等");
	}
}

String类的常用方法:

1.equals:java.lang.String.equals() 方法比较字符串与指定的对象。
2.length:获取字符串中字符个数即字符串长度方法原型是 public int length() 。
3.split()字符串的拆分
4.substring()字符串的截取
5.indexOf()返回要查找的字符第一次出现的下标值(从前往后找第一次出现)
6.lastIndexOf()返回从后往前找字符第一次出现的下标位置
7.valueOf()方法是将其他数据类型的值转换为字符串类型
8.trim()方法是忽略字符串前后空格的
9.toUpperCase()将字符串中的字母转换成大写字母
10.toLowerCase()将字符串中的字母转换成小写字母
11.equalsIgnoreCase()不区分大小写比较字符串是否相等

示例:

public class StringDemo {
	public static void main(String[] args) {
		String str3="hello ";
		String str4="world";
		System.out.println(str3+str4);//hello world
		//使用字符串的length()方法来获取字符串的长度,有多少个字符,长度就为多少
		System.out.println("str3字符串的长度为:"+str3.length());
		String str5="abcdefghiejk";
		//str5.substring(3)表示从第四个字符开始截取字符串直到结尾
		System.out.println(str5.substring(3));
		//str5.substring(3, 6)表示截取第四个字符到第七个字符之间的字符串;
		//截取字符串时包括开始下标处的字符,不包括结束下标处的字符
		System.out.println(str5.substring(3, 6));
		//返回要查找的字符第一次出现的下标值(从前往后找第一次出现)
		System.out.println("e在str5字符串中的位置为:"+str5.indexOf('e'));
		System.out.println("ef在str5字符串中的位置为:"+str5.indexOf("ef"));
		//返回从后往前找字符第一次出现的下标位置
		System.out.println("e在str5字符串中的位置为:"+str5.lastIndexOf('e'));
		
//valueOf()方法是将其他数据类型的值转换为字符串类型
		System.out.println(String.valueOf(2));//"2"
		//这是以后最常用的,如果将整型数字转换城String类型的直接+"";
		int i=2;
		String s=i+"";//"2"
		System.out.println(String.valueOf(true));//"true"
		String s1="    Hello World    ";
		System.out.println("s1="+s1);
		//trim()方法是忽略字符串前后空格的
		System.out.println("忽略空格后:"+s1.trim());
		//toUpperCase()将字符串中的字母转换成大写字母
		System.out.println("转换成大写字母:"+s1.toUpperCase());
		//toLowerCase()将字符串中的字母转换成小写字母
		System.out.println("转换成小写字母:"+s1.toLowerCase());
		
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入一个字母:");
		String logo=sc.next();
//不区分大小写比较字符串是否相等
		if(logo.toLowerCase().equals("n")){
				
		}
	}

项目中新增的思路:

首先在控制台输入学生信息,然后将输入的信息整为一个字符串(可以加分隔符,也可以不加),然后存储到数组中(那么当前数组就是字符串类型的数组)
项目中查询的思路:
遍历数组。(如果加分隔符,我们还需要拆分字符串,如果没有直接使用),当前下标值
项目中的修改:
修改之前首先查询,根据下标值进行修改
项目中的删除:
删除之前首先查询,根据下标值进行删除

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值