JAVA--equal、length、Arrays、Static

JAVA–equal、length、Arrays、Static

一、equals

equals方法是java.lang.Object类的方法
有两种用法说明:
一、对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。

1、“ ==”比较两个变量本身的值,即两个对象在内存中的首地址。
(java中,对象的首地址是它在内存中存放的起始地址,它后面的地址是用来存放它所包含的各个属性的地址,所以内存中会用多个内存块来存放对象的各个参数,而通过这个首地址就可以找到该对象,进而可以找到该对象的各个属性)
2、“equals()”比较字符串中所包含的内容是否相同。

特别注意:Java中equals和==的区别

基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean
他们之间的比较,应用双等号(==),比较的是他们的值。

复合数据类型(类)
当他们用 == 进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。

package stea2;

public class demo01 {
	public static void main(String[] args) {
		String str1 = "hello";
		String str2 = "hello";
		System.out.println(str2);
		char[]chararray = {'h','l','l','o',};
		String str3 =new String(chararray);
		System.out.println(str1.equals(str2));
		System.out.println(str2.equals(str3));
		System.out.println(str1.equals(str3));
		System.out.println(str1.equals("hello"));
		System.out.println("hello".equals(str1));
		String str4 = null;
		System.out.println(str4.equals(str4));
		System.out.println("==========================");
		String str5 ="hello";
		System.out.println("hello".equals(str5));
		
		
	}

}

在这里插入图片描述

package stea2;

public class demo02 {
public static void main(String[] args) {
	int length="dfhjsdfsbvkdshjcs".length();
	System.out.println("字符串长度"+length);
	String str1 ="Hello";
	String str2 ="class5";
	String str3 = str1.concat(str2);
	System.out.println(str1);
	System.out.println(str2);
	System.out.println(str3);
	char ch = "Hello".charAt(0);
	System.out.println("0号索引位置的字符是:"+ch);
	String origan1 = "helloworld";
	int index = origan1.indexOf("llo");
	System.out.println(index);
	System.out.println(origan1.indexOf("class5"));
	
	
}
}

在这里插入图片描述

二、length

length方法用于获取数组的长度。

int[] arr = new int[10];
System.out.println(arr.length);

而length()用于获取String字符串中字符的个数。

String str = "HelloJava";
System.out.println(str.length());
package stea2;

public class demo02 {
public static void main(String[] args) {
	int length="dfhjsdfsbvkdshjcs".length();
	System.out.println("字符串长度"+length);
	String str1 ="Hello";
	String str2 ="class5";
	String str3 = str1.concat(str2);
	System.out.println(str1);
	System.out.println(str2);
	System.out.println(str3);
	char ch = "Hello".charAt(0);
	System.out.println("0号索引位置的字符是:"+ch);
	String origan1 = "helloworld";
	int index = origan1.indexOf("llo");
	System.out.println(index);
	System.out.println(origan1.indexOf("class5"));
	
	
}
}

在这里插入图片描述

三、Arrays

1、Arrays类的定义

Arrays类位于 java.util 包中,主要包含了操纵数组的各种方法

使用时导包:import java.util.Arrays

2、Arrays常用函数(都是静态的)

void Arrays.sort()

void Array.sort(Object[] array)

功能:对数组按照升序排序

package stea03;

import java.util.Arrays;

public class demo01 {
public static void main(String[] args) {
	int [] intArray = {10,20,30};
	System.out.println(intArray);
	String intStr =Arrays.toString(intArray);
	System.out.println(intStr);
	
	int[] array1 = {3,3,5,7,9,3,5,6};
	System.out.println(Arrays.toString(array1));
	Arrays.sort(array1);
	System.out.println(Arrays.toString(array1));
	
	String[] array2 = {"aaa","bbb","ccc"};
	Arrays.sort(array2);
	System.out.println(Arrays.toString(array2));
}
}

在这里插入图片描述

四、Static

“static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。”

这段话虽然只是说明了static方法的特殊之处,但是可以看出static关键字的基本作用,简而言之,一句话来描述就是:

方便在没有创建对象的情况下来进行调用(方法/变量)。

很显然,被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。

static可以用来修饰类的成员方法、类的成员变量,另外可以编写static代码块来优化程序性能。

package stea05;

public class demo04StaticFiled {
public static void main(String[] args) {
	Student one= new Student("郭靖",18);
	one.setRoom("3306教室");
	System.out.println(one.getName()+"  "+one.getAge()+"  "+one.getRoom());
	Student two= new Student("黄蓉",16);
	System.out.println(one.getName()+"  "+one.getAge()+"  "+one.getRoom());
	
	
}
}

在这里插入图片描述

package stea05;

public class demo04StaticMethod {
public static void main(String[] args) {
	Myclass obj = new Myclass();
	obj.method();
	obj.methodStatic();
	Myclass.methodStatic();
}
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值