String基础学习

String:
就是有很多字符连接在一起的我么称为字符串,字符串在开发中是非常常见的
所以我么一定要好好掌握字符串,而JAVA方便我么操作字符串也提供我么String这个类了

首先我么先来了解一下String这个类的几种构造方法把,并且我也会体现案例的

String:构造方法。
  A:String()
 
  案例:
  String str = new String();
 
  B:String(byte[] bytes) 
 
  案例:
  byte bys[] = {97,98,99,100,101};
  String str2 = new String(bys); //将byte字节数组转换成String类型
 System.out.println("str2 = "+str2);//打印出abcde,将数字转换成字符
 
  C:String(byte[] bytes, int index, int length) 
 
  案例:
  byte by[] = {97,98,99,100,101};
String str3 = new String(by,1,3); //指定下标位置进行转换成字符串
System.out.println("str3 = "+str3);
 
  D:String(char[] value)
 
  案例:
  char[] ch = {'H','a','c','k','e','r'};
String str4 = new String(ch);
System.out.println("str4 = "+str4);
   
  E:String(char[] value, int index, int count) 
 
  案例:
  char[] chs = {'S','t','r','i','n','g'};
//System.out.println(chs.length);
String str5 = new String(chs,3,3); //这里不可以超过下标6否则抛出下标越界异常
System.out.println("str5 = "+str5);
 
  F:String(String str)
 
  案例:
  String str6 = new String("hello");
System.out.println("str6 = "+str6);
 
  G:String s = "hello";
 
  案例:
  String str7 = "world";
System.out.println("str7 = "+str7);


上面是字符串的一些构造方法,但是都不常用,作为了解即可,一般都是用第七种方式初始化
字符串。


好了,既然我么已经会初始化字符串了,那下面我么在多学习一些其他的方法把
下面是需要学习的方法:

 String类的判断功能:
 boolean equals(Object obj):比较字符串的值是否相同。
 
 案例:
  String str = "hello";
System.out.println("admin".equals(str));//字符串的内容不相同返回false
 
 boolean equalsIgnoreCase(String str):比较字符串的值是否相同,不考虑大小写。
 
 案例:
  String str2 = "HELLO";
System.out.println("str2 = "+"HELLo".equalsIgnoreCase(str2));
 
 
 boolean contains(String str):包含,判断str这个字符串在字符串对象中是否存在。
 
 案例:
  String str3 = "world";
  System.out.println("str3 = "+str3.contains("world"));
 
 boolean startsWith(String str):判断字符串对象是否以str开头
 
 案例:
  String str4 = "Hacker";
System.out.println("str4 = "+str4.startsWith("Hacker")); //true
 
 boolean endsWith(String str):判断字符串对象是否以str结尾
 
 案例:
  String str5 = "Hacker";
  System.out.println("str5 = "+str5.endsWith("r")); //true
 
 
 boolean isEmpty():判断字符串是否为空
 
 案例:
  String str6 = "Hacker";
System.out.println(str6.isEmpty());//false
 

学过上面这些方法以后我么做一个小题目把

题目:模拟登录,给三次机会,并提示还有几次

public class StringTest5
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
String username;
String password;

int count = 3;

while(count!=0)
{

System.out.println("请输入账号:_");
username = sc.nextLine();

System.out.println("请输入密码:");
password = sc.nextLine();

if(username.equals("admin") && password.equals("admin888"))
{
System.out.println("登陆成功,欢迎进入管理界面");
break;
}

else
{


System.out.println("账号或者密码输入错误请重新输入,你还有"+(--count)+"次机会");
}
}
}
}


看完上面的例子后,我么再来学习一些API中的方法把


String类的获取功能:
 
int length():返回的是字符串对象的长度。
 
 案例:
  String str = "hello";
System.out.println("str = "+str.length());
 
 
 
 
 char charAt(int index):返回指定索引处的字符值。
 
 案例:
  String str2 = "Hacker";
char ch = str2.charAt(3);
System.out.println("str2 = "+ch);//k
 
 
 int indexOf(int ch)
 
 案例:
  String str3 = "HelloWorld";
int n = str3.indexOf('W');
System.out.println("n = "+n);//5
 
 
 int indexOf(String str):返回字符或字符串在字符串对象中第一处出现的索引。
 
 案例:
  String str4 = "HelloWorld";
int i = str4.indexOf("World");
System.out.println("i = "+i);//5
 
 
 
 int indexOf(int ch,int fromIndex)
 
 案例:
  String str5 = "Sop Long";
  int t = str5.indexOf('L',3);
System.out.println("t = "+t);
 
 
 int indexOf(String str,int fromIndex):从指定的位置开始,返回字符或字符串在字符串对象中第一处出现的索引。
 
案例:
String str6 = "China";
int index = str6.indexOf("ina", 1);
System.out.println("index = "+index);
 
 
 
 String substring(int start):从指定位置开始截取一个字符串,默认到结尾。
 
 案例:
  String str7 = "I'm Love JAVA!";
String s = str7.substring(3);
System.out.println("s = "+s);
 
 
 String substring(int start,int end):从开始位置到结束位置见进行截取字符串。
 
 案例:
 
String str8 = "I'm Love C++";
String s1 = str8.substring(4, 12);
System.out.println("s1 = "+s1);


经过上面的API学习,接下来我么再做个练习把

题目:
请从键盘录入一个字符串(只包含大小写英文字母和数字),
请统计出这个字符串中的每种类型的字符有多少个?

代码实现:
import java.util.Scanner;

public class StringTest7
{
public static void main(String[] args)
{
//计算大写字符
int big = 0;
//计算小写字符
int small = 0;
//计算数字
int num = 0;

Scanner sc = new Scanner(System.in);
System.out.println("请输入一串字符:");
String str = sc.nextLine();

for(int x=0;x<str.length();x++)
{
char ch = str.charAt(x);
if(ch >= 'A' && ch <= 'Z')
{
big++;
}

else if(ch >='a' && ch<= 'z')
{
small++;
}

else
{
num++;
}
}

System.out.println("大写字母有:"+big+"个");
System.out.println("小写字母有:"+small+"个");
System.out.println("数字有:"+num+"个");
}
}




好了上面的学习还是不算够的,我么现在,在学一些常用的API中的方法把,其实这些方法记不住是没关系的
因为没有人记得住这么多的,所以只要会查看API就行了。


需要学习的方法:

  String类的转换功能:

 byte[] getBytes():把字符串对象变成一个字节数组
 
 案例:
  String str = "abcde";
byte by[] = str.getBytes();
for(int x=0;x<str.length();x++)
{
System.out.println("by = "+by[x]);
}
 
 
 
 
 char[] toCharArray():把字符串对象变成一个字符数组
 
 案例:
  String str2 = "Hacker";
char ch[] = str2.toCharArray();
for(int x=0;x<str2.length();x++)
{
System.out.println("ch = "+ch[x]);
}
 
 
 
 
 
 static String copyValueOf(char[] chs):静态方法把字符数组变成字符串
 
 案例:
  char chs[] = {'a','b','c','d','e'};

String str3 = String.copyValueOf(chs);

System.out.println("str3 =" +str3);//abcde
 
 
 
 static String valueOf(char[] chs):静态方法把字符数组变成字符串
 
 案例:
  char c[] = {'a','r','r','l','i','s','t'};
String str4 = String.valueOf(c);
System.out.println("str4 = "+str4);
 
 static static valueOf(int i)基本类型 
 
 案例:
  int x=10;
String str5 = String.valueOf(x);
System.out.println("str5 = "+str5);//10
 
 
 String toLowerCase():把字符串变成小写
 
 案例:
  String str = "HELLOWORLD";
  System.out.println("str = "+str.toLowerCase());
 
 
 String toUpperCase():把字符串变成大写
 
 案例:
  String str2 = "helloworld";
System.out.println("str2 = "+str2.toUpperCase())
 
 
 String concat(String str):字符串的连接
 
 案例:
  String str3 = str.concat(str2);
System.out.println("str3 = "+str3)
  
 
 
 
  好了,又学习一些常用的API,下面我么在做一个练习把
 
  键盘录入一个字符串,请把首字母变成大写,其他字母变成小写输出。
 
  举例:
  hELLOWORLD
  Helloworld
 
 
  代码体现:
  import java.util.Scanner;


public class StringTest10
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);

System.out.println("请输入字符串:");

String str = sc.nextLine();



String str2 = str.substring(0,1);


String str3 = str.substring(1);



String str4 = str2.toUpperCase().concat(str3.toLowerCase());


System.out.println("str4 = "+str4);
}
}




最后呢,我么在学习一些其他的字符串功能吧,虽然不常用额,但是可以作为了解哦


  替换功能:
String replace(char old,char new)

案例:
String str = "HelloWorld";

System.out.println("替换前str = "+str);

String s = str.replace('W', '0');

System.out.println("替换后str = "+s);



String replace(String old,String new)

案例:
String str2 = "HackerChian";

System.out.println("替换前str2 = "+str2);
String s2 = str2.replace("Chian", "work");
System.out.println("替换后s2 = "+s2);

 


String[] split(String regex) 切割

案例:
String str = "Hel-loWorl-d";

String s[] = str.split("-");

System.out.println(s[0]);
System.out.println(s[1]);//loworl
System.out.println(s[2]);



 
  String trim() 去除字符串两端空格
 
  案例:
  String str2 = "   Hac  ker    ";
System.out.println("str2没变化前str2 = "+str2);

String s2 = str2.trim();
System.out.println("变化后:s2 = "+s2);
 
 
int compareTo(String str) 按字典顺序比较两个字符串  

案例:
String str3 = "HelloWorld";
int n = str3.compareTo("admin");
System.out.println("n = "+n); //H-a=?  H=72  a=97  72-97=-25


int compareToIgnoreCase(String str) 

案例:
String str4 = "ABCDEF";
int i = str4.compareToIgnoreCase("ABCDE");
System.out.println("i = "+i);


下面我来在来做个小练习把:

获取一个字符串中指定子串出的次数。比如说“hanbasdnbafllgnbahjnbakqqqqlnbaxi”
 在这个字符串中,多有个nba?
 
代码体现:
 
import java.util.Scanner;
class  CmpTest
{
public static void main(String[] args) 
{
Scanner sc = new Scanner(System.in);
System.out.println("请输入一串字符:");
String str = sc.nextLine();
int count = 0;
int index = str.indexOf("nba");

while(index != -1)
{
if (index != -1)
{
++count;
str = str.substring(index+"nba".length());
index = str.indexOf("nba");
}
}

System.out.println("总过有"+count+"相同字符串");

}
}



还有一题就是:
对字符串中字符进行自然顺序排序
  "basckd" -- "abcdks"
 
  代码体现:
  import java.util.Arrays;
import java.util.Scanner;

public class StringTest14
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("请输入一串字符:");
String str = sc.nextLine();

//将字符串转换成每个字符
char ch[] = str.toCharArray();

//然后使用每个字符进行比较大小
Arrays.sort(ch);

//最后将比较好了的字符转换成字符串
String str2 = String.copyValueOf(ch);

//最后将转换好了的字符串输出
System.out.println(str2);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园建设方案旨在通过融合先进技术,如物联网、大数据、人工智能等,实现校园的智能化管理与服务。政策的推动和技术的成熟为智慧校园的发展提供了基础。该方案强调了数据的重要性,提出通过数据的整合、开放和共享,构建产学研资用联动的服务体系,以促进校园的精细化治理。 智慧校园的核心建设任务包括数据标准体系和应用标准体系的建设,以及信息化安全与等级保护的实施。方案提出了一站式服务大厅和移动校园的概念,通过整合校内外资源,实现资源共享平台和产教融合就业平台的建设。此外,校园大脑的构建是实现智慧校园的关键,它涉及到数据中心化、数据资产化和数据业务化,以数据驱动业务自动化和智能化。 技术应用方面,方案提出了物联网平台、5G网络、人工智能平台等新技术的融合应用,以打造多场景融合的智慧校园大脑。这包括智慧教室、智慧实验室、智慧图书馆、智慧党建等多领域的智能化应用,旨在提升教学、科研、管理和服务的效率和质量。 在实施层面,智慧校园建设需要统筹规划和分步实施,确保项目的可行性和有效性。方案提出了主题梳理、场景梳理和数据梳理的方法,以及现有技术支持和项目分级的考虑,以指导智慧校园的建设。 最后,智慧校园建设的成功依赖于开放、协同和融合的组织建设。通过战略咨询、分步实施、生态建设和短板补充,可以构建符合学校特色的生态链,实现智慧校园的长远发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值