您的位置:首页 > 其它

String相关知识

2017-10-11 22:26 316 查看
package com.it.day07.Demo08;
/*
* String概述
* 字符串是由多个'字符'组成的一串数据
* 字符串也可以看成是字符数组
* String 类代表字符串。java程序中所有的字符串(如:"abc")都作为此类的实例实现;凡是用双引号引起来的字符常量,都是String类对象。
*
* 创建String字符串的常用的3+1种方式
* a. public String(String original); 把字符封装成字符串对象
* b. public String(char[] value); 把字符数组的数据封装成字符串对象
* c. public String(char[] value,int offset,int count);把字符数组中的一部分数据封装成字符串对象
*
* 注意事项:
* 1.String类位于java.lang包下的,所以不需要导包
* 2.String字符串底层实现原理就是一个char[]字符数组
* 3.字符串的内容永远不会发生改变【重要重要重要】
*
* 字符串当中常用的与判断相关的方法
* public boolean equals(Object obj); 比较字符串的内容是否相同    【java.lang.Object是什么样的参数都可以接收】
* public boolean equalsIgnoreCase(String str); 同上,比较忽略大小写
* public boolean startsWitch(String str); 判断字符串是否是以str开头
* public boolean endsWitch(String str); 判断字符串是否最后的字符str结尾
*
* 字符串有一些获取相关的方法
* public int length(); 获取字符串长度,就是个数
* public char charAt(int index);获取指定索引处的字符
* public int indexOf(String str);获取str在字符串对象中第一次出现的索引,没有则返回 -1
* public String substring(int star);从star开始截取字符串到结尾
* public String substring(int start,int end);从开始到结束截取 不包含end
*
* String 中转换相关方法
* char[] toCharArray(); 把字符串转换成数组
* String toLowerCase(); 转小写
* String toUpperCase(); 转大写
*/
public class Demo08ScannerApi {
public static void main(String[] args) {
String str1 = new String("Hello");
System.out.println(str1); //Hello

char[] charArray = {'W','o','r','l','d'};
System.out.println(charArray);//World

/*
* 把字符数组中的一部分数据封装成字符串
* 参数value代表字符数组
* 参数offset代表数组当中的开始索引位置
* 参数count代表取用多少字符
*/
String str2 = new String(charArray,2,3);
System.out.println(str2);//rld

String str3 = "Hello";
String str4 = "Hello";
String str5 = "hello";
System.out.println(str3.equals(str4));//true
System.out.println(str4.equals(str5));//false

System.out.println(str3.equalsIgnoreCase(str5));//true 忽略大小写
System.out.println("Hello".startsWith("He"));//true
System.out.println("World".endsWith("ord"));//true
System.out.println("Hello".startsWith("H", 0));//true

String sub = "holedjs";
System.out.println(sub.substring(0,4));
}
}
小练习:

package com.it.day07.Demo08;
import java.util.Scanner;
/*
* 1.程序中使用一个长度为3的对象数组,存储用户的登录名和密码
* 注册时,要判断数组是否已满,是:则禁止注册。
* 2.用户选择1,调用:registe()方法,执行注册流程;
* 用户选择2,调用:login()方法,执行登陆流程;
*/
public class Demo08WorkMain03 {

public static void main(String[] args) {
int count = 0;
UserInfo[] userArray = new UserInfo[3];
sysInput(userArray,count);//选择是注册 登录 还是 退出
}
public static void sysInput(UserInfo[] userArray,int count){
System.out.println("您要注册还是登录呢? 1是注册,2是登录,3是退出");
Scanner rc = new Scanner(System.in);
int numner = rc.nextInt();
switch(numner){
case 1:
registe(userArray,count);
break;
case 2:
login(userArray,count);
break;
case 3:
out();
break;
default:
System.out.println("数据错误!");
break; // 最后一个break可以省略,但是不推荐省略!
}
}
/*
* 注册
*/
public static void registe(UserInfo[] array,int count){
UserInfo user;
Scanner sca = new Scanner(System.in);
if(count < array.length){
for (int i = 0; i < array.length; i++) {
user = new UserInfo();
System.out.println("请输入用户名:");
user.setName(sca.next());
System.out.println("请输入密码:");
user.setPassword(sca.next());
System.out.println("请输入出生日期:");
user.setBy(sca.next());
System.out.println("请输入爱好:");
user.setAihao(sca.next());
user = new UserInfo(user.getName(),user.getPassword(),user.getBy(),user.getAihao());
array[i] = user;
System.out.println(array[i].getName());
System.out.println("恭喜您注册成功");
count++;
System.out.println("count = " + count);
sysInput(array,count);
break;
}
}else{
System.out.println("抱歉内存已满");
}
}
/*
* 登录
*/
public static void login(UserInfo[] userArray,int count){
System.out.println("---" + userArray[0].getName());
Scanner scanner = new Scanner(System.in);
System.out.println("请输入用户名:");
String name = scanner.next();
System.out.println("请输入密码:");
String passworld = scanner.next();
for (int i = 0; i < userArray.length; i++) {
if("" != userArray[i].getName() && "" != userArray[i].getPassword()
&& "" != userArray[i].getAihao() && "" != userArray[i].getBy() && "" != userArray[i].getAihao()){
if(name.equals(userArray[i].getName()) && passworld.equals(userArray[i].getPassword())){
System.out.println("恭喜你登录成功!!");
break;
}else{
System.out.println("抱歉! 您输入的用户名或者密码不正确!!请重新输入.");
sysInput(userArray,count);
break;
}
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: