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();
}
}