面向对象5
1.Object类
1.概述
Object类是所有类的根类
2.方法
- hashcode() 返回该对象的哈希码
public class Demo1 {
public static void main(String[] args) {
Object object=new Object();
System.out.println(object.hashCode());
}
}
- getClass() 获取对象真实类的全名称
public class Demo2 {
public static void main(String[] args) {
Object object=new Object();
System.out.println(object.getClass());
}
}
- toString() 返回该对象的字符串表示
public class Demo3 {
public static void main(String[] args) {
String s1=new String("520");
System.out.println(s1.toString());
}
}
- equals() 比较对象是否相等
public class Demo4 {
public static void main(String[] args) {
String a="张三";
String b="李四";
String c="张三";
System.out.println(a.equals(b));
System.out.println(a.equals(c));
}
}
2.Scanner(用于接收键盘录入数据)
1.构造方法原理
public class Demo6 {
public static void main(String[] args) {
InputStream inputStream= System.in;
java.util.Scannerscanner=newjava.util.Scanner(inputStream);
scanner.nextLine();
scanner.nextInt();
}
}
//Scanner的本质上是调用了io流
2.hasNextXXX()和nextXXX()方法
1.概念
- hasNextXxx() 判断下一个是否是某种类型的元素,其中Xxx可以是Int,Double等。
如果需要判断是否包含下一个字符串,则可以省略Xxx - nextXxx() 获取下一个输入项。
public class Demo7 {
public static void main(String[] args) {
while (true){
Scanner scanner=new Scanner(System.in);
System.out.println("请输入数据");
if (scanner.hasNextInt()){
int x=scanner.nextInt();
System.out.println(x);
break;
}else
{
System.out.println("请重新输入");
}
}
}
}
2.方法
-
public int nextInt():获取一个int类型的值
-
public String nextLine():获取一个String类型的值
-
public String next():获取一个String类型的值
3.String
1.什么是字符串
字符串是由多个字符组成的一串数据(字符序列)
字符串可以看成是字符数组
2.构造方法
- public String():空构造
public class Demo8 {
public static void main(String[] args) {
String s=new String();
System.out.println(s);
}
}
- public String(byte[] bytes):把字节数组转成字符串
public class Demo9 {
public static void main(String[] args) {
byte[] bytes={97,65,48};
String s1=new String(bytes);
System.out.println(s1);
}
}
- public String(char[] value):把字符数组转成字符串
public class Demo10 {
public static void main(String[] args) {
char[] chars={'a','b','c'};
String s1=new String(chars);
System.out.println(s1);
}
}
- public String(String original):把字符串常量值转成字符串
public class Demo8 {
public static void main(String[] args) {
String s=new String("1");
System.out.println(s);
}
}
3.特点
一旦被创建就不能改变 因为字符串的值是在堆内存的常量池中划分空间 分配地址值的
4.方法
1.contains()
public class Demo11 {
public static void main(String[] args) {
String s1="我爱你520";
System.out.println(s1.contains("爱你"));
}
}
//判断是否包含
2.startWith()
public class Demo12 {
public static void main(String[] args) {
String s="DearJohn";
System.out.println(s.startsWith("D"));
}
}
//判断字符串是否以传递进来的字符串开头
3.endsWith()
public class Demo13 {
public static void main(String[] args) {
String s1="你好世界";
System.out.println(s1.endsWith("界"));
}
}
//判断字符串是否以传递进来的字符串结尾
4.isEmpty()
public class Demo14 {
public static void main(String[] args) {
System.out.println("".isEmpty());
}
}
//判断是否为空
5.length()
public class Demo15 {
public static void main(String[] args) {
System.out.println("我爱你".length());
}
}
//获取字符串的长度
6.indexOf()
public class Demo16 {
public static void main(String[] args) {
System.out.println("我爱你".indexOf('我'));
}
}
//返回指定字符在此字符串中第一次出现处的索引。
7.charAt()
public class Demo17 {
public static void main(String[] args) {
System.out.println("我爱你爱你".charAt(3));
}
}
//获取指定索引位置的元素
8.substring()
public class Demo18 {
public static void main(String[] args) {
System.out.println("断桥是否下过雪".substring(4));
}
}
//截取指定索引处字符串
9.getBytes()
public class Demo19 {
public static void main(String[] args) {
String s="我爱你";
byte[] bytes=s.getBytes();
for (int i = 0; i <bytes.length ; i++) {
System.out.println(bytes[i]);
}
}
}
// 把字符串转换为字节数组。
10.toCharArray
public class Demo20 {
public static void main(String[] args) {
String s="abc";
char[] chars= s.toCharArray();
for (int i = 0; i < chars.length; i++) {
System.out.println(chars[i]);
}
}
}
//把字符串转换为字符数组。
11.Valueof()
public class Demo21 {
public static void main(String[] args) {
char[] chars={'a','b','c'};
System.out.println(String.valueOf(chars));
}
}
//转换为字符串
12.toLowerCase()和toUpperCase()
public class Demo22 {
public static void main(String[] args) {
String s1="qhdsandsaIKBDE";
System.out.println(s1.toLowerCase());//转换为小写
System.out.println(s1.toUpperCase());//转换为大写·
}
}
13.replace()
public class Demo23 {
public static void main(String[] args) {
String s1="亲爱的你";
System.out.println(s1.replace("你", "我"));
}
}
//替换
14.trim()
public class Demo24 {
public static void main(String[] args) {
String s1=" 我爱你 ";
System.out.println(s1.trim());
}
}
//去除两端空格
15.compareTo()
public class Demo5 {
public static void main(String[] args) {
System.out.println("abc".compareTo("Abc"));
}
}
//比较两个字符串的字典顺序