java初学者第十天

equals和 ==的区别

 案例:定义一个 Person 类,重写 eqauls 方法用于判断两个person对象的属性是否一致,如果属性一致时equals方法返回true,否则返回false

public boolean equals(Object o) {
 // 用来判断调用者和参数是否是相同地址的对象,如果地址一样就证明两个对象是同一个对象
 if (this == o) {
 return true;
 }
 // 判断调用和参数是否是由一个字节码文件创建处理的对象,如果不是同一个字节码文件就不可能是同一个
 if (o == null || getClass() != o.getClass()) {
 return false;
 }
 
// 由同一个字节码文件创建出来的2个地址不同的对象,比较他们的属性值,如果属性值一样返回true,否则返
 
Person person = (Person) o;
 return age == person.age && name.equals(person.name);
}

String类概述

String类代表字符串,是由final修饰的一个类;

Java程序中的所有字符串文字(例如"abc" )都被实现为此类的实例;

String描述字符串不变; 它们的值在创建后不能被更改; 

 构造方法

① String():创建空字符串,就相当于平时定义空字符(String str = "");

② String("abc"):以指定字符串参数创建字符串对象(String str = "abc")

③ String(byte[] byte):使用平台默认的编码表对byte数组进行解码成字符串

④ String(Char[] char):将字符数组拼接成字符串

⑤ 常用第②种方式进行字符串的声明

 常用方法

① charAt(int index):返回字符串中指定索引处的字符

② contains(Sting str):判断字符串中是否包含指定子字符串,如果有就返回true,否则返回false

③ endsWith(String str):判断字符串是否以指定的字符串结尾

④ startsWith(String str):判断字符串是否以指定的字符串开头

⑤ equals(String str):比较字符串内容是否一致

⑥ getBytes():将字符串以默认的字符集编码为一个byte数组中

 字符串的截取

subString() 方法 -- 前截后不截

① subString(int index):从指定索引处截取字符串后面所有的内容

② subString(int index,int end):截取指定的从 index 到 end 这个范围的字符串

 replace() 方法 --- 实现字符串替换

 ① replace(String str1,String str2):以新的字符串str2替换掉str1

 String字符串案例:

小明向南走了100步,再向北走了50步,又向西走了150步,接着向北走了50步,最后向东走了10步;问小明一共走了多少步,向北走了多少步?

public void test_demo(){
 String string = "小明向南走了100步,再向北走了50步,又向西走了150步,接着向北走了50步,最后向东走了10步" 
// 按照逗号将字符串分割为数组
 String[] split = string.split(",");
 // 定义两个变量来存储步数
 int sum = 0,sum1 = 0;
 // 遍历分割后的数组
 for(int i = 0;i < split.length ; i++){
 // 将每次遍历出来的子串赋值给str变量
 String str = split[i];
 // 截取每一个子串中步数的数字
 String temp = str.substring(str.indexOf('了') + 1, str.indexOf('步'));
 // 将字符串的步数转换为整数
 int temp1 = Integer.parseInt(temp);
 // 总步数
 sum += temp1;
 // 向北的步数 
if(str.indexOf('北') != -1){
 sum1 += temp1;
 }
 } 
System.out.println(sum);
 System.out.println(sum1);
}

字符串的遍历(将字符串看作是一个字符数组)

public void test_string() {
 String string = "www.baidu.com";
 for(int i = 0;i < string.length();i ++){
 char c = string.charAt(i);
 System.out.print(c+" ");
 }
 }

字符串的拼接(+) --- 不建议使用(StringBuilder/StringBuffer)

public void test_string() {
 int[] arr = {1,2,3,4,5,6,7};
 String string = "array[";
 for(int i = 0;i < arr.length;i ++){
 string += arr[i]+",";
 }
 String substring = string.substring(0, string.length()-1);
 System.out.println(substring + "]");
 }

 字符串的反转 (不建议使用) ---- StringBuilder/StringBuffer中有提供快速反转的方法

public void test_string() {
 String string = "abc";
 String str = "";
 for(int i = string.length() - 1;i >=0 ;i --){
 char c = string.charAt(i);
 str += c;
 }
 System.out.println(str);
}

首字母变为大写,其他字母变成小写

public static void main(String[] args){
 String str = "i lOvE jAvA";
 String s1 = str.toLowerCase();
 char c = s1.charAt(0);
 String s = String.valueOf(c).toUpperCase();
 String new_string = s1.replace(s1.substring(0, 1), s);
 System.out.println(new_string);
}

键盘录入2个字符串,查询短字符串在长字符串中出现的索引

public static void main(String[] args){
 Scanner scanner = new Scanner(System.in);
 System.out.println("请输入长字符串:");
 String str = scanner.next();
 System.out.println("请输入短字符串:");
 String substr = scanner.next();
 int index = str.indexOf(substr);
 while(index != -1){
 System.out.println(index);
 index = str.indexOf(substr,index+1);
 }
}

键盘录入用户和密码,判断录入是否正确

public static void main(String[] args){
 int n = 3;
 Scanner scanner = new Scanner(System.in);
 while(n > 0){
 System.out.println("请输入用户名和密码:");
 String name = scanner.next();
 String pwd = scanner.next();
 n--;
 if(name.equals("admin") && pwd.equals("123")){
 System.out.println("登录成功");
 break;
 }else{
 if(n == 0){
 System.out.println("登录机会已用完");
 break;
 }else{
 System.out.println("你还有"+n+"次机会");
}
}
}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值