String类——Java中常见的类(模拟登录案例练习)

这篇具有很好参考价值的文章主要介绍了String类——Java中常见的类(模拟登录案例练习)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

String类的概述及构造方法(String类是Java中最常见的类)

String的特点

 String类的判断功能

 模拟登录案例

​ String类的获取功能

两个小练习

String类的转换功能和String类的其他功能

string类练习

String类的概述及构造方法(String类是Java中最常见的类)

  • String类概述

        –字符串是由多个字符组成的一串数据

        –字符串可以看成是字符数组

  • 构造方法

        –public String(String original)

        –public String(char[] value)

        –public String(char[] value,int offset,int count)

        –直接赋值也可以是一个对象

4种字符方式赋值如下:

package com.demo02;
/*
 * String:字符串类
 * 		由多个字符组成的一串数据
 * 		字符串本身就是一个字符数组
 * 
 *构造方法:
 * 		String(String original):把字符串数据封装成字符串对象
 * 		String(char[] value):把字符数组的数据封装成字符串对象
 * 		String(char[] value, int index, int count):把字符数组中的一部分数据封装成字符串对象
 * 
 * 注意:字符串是一种比较特殊的引用数据类型,直接输出字符串对象输出的是该对象中的数据
 */
public class StringDemo {
	public static void main(String[] args) {
		//方式1
		//String(String original):把字符串数据封装成字符串对象
		String s1 = new String("hello");
		System.out.println("s1:"+s1);
		System.out.println("---------");
		
		//方式2
		//String(char[] value):把字符数组的数据封装成字符串对象
		char[] chs = {'h','e','l','l','o'};
		String s2 = new String(chs);
		System.out.println("s2:"+s2);
		System.out.println("---------");
		
		//方式3
		//String(char[] value, int index, int count):把字符数组中的一部分数据封装成字符串对象
		//String s3 = new String(chs,0,chs.length);
		//char[] chs = {'h','e','l','l','o'};
		String s3 = new String(chs,0,5);//从哪个位置开始,多长
		System.out.println("s3:"+s3);
		System.out.println("---------");
		
		//方式4,比较常用的
		String s4 = "hello";
		System.out.println("s4:"+s4);
	}
}

java string类例题,JAVA从基础到进阶,java,开发语言,数据结构

String的特点

  • 通过构造方法创建字符串对象

        –String s = new String(“hello”);

  • 直接赋值创建字符串对象

        –String s = “hello”;区别是什么?

通过构造方法创建的字符串是在堆内存,直接复制方式创建对象的方法是在常量池。

基本数据类型:比较的是基本数据类型的值是否相同。

引用数据类型:比较的是引用数据类型的地址是否相同。

package com.demo02;
public class StringDemo2 {
	public static void main(String[] args) {
		String s1 = new String("hello");
		String s2 = "hello";
		
		System.out.println("s1:"+s1);
		System.out.println("s2:"+s2);
		
		System.out.println("s1==s2:"+(s1==s2)); //false
		
		String s3 = "hello";
		System.out.println("s1==s3:"+(s1==s3)); //false  放回的地址是不是相等
		System.out.println("s2==s3:"+(s2==s3)); //true
		System.out.println(s1.equals(s2));// 返回的值是不是相等
	}
}

java string类例题,JAVA从基础到进阶,java,开发语言,数据结构

 String类的判断功能

  1. boolean equals(Object obj)——比较两个字符串的值是否相等
  2. boolean equalsIgnoreCase(String str)——不管大小写,都会转化成一样的去做比较
  3. boolean startsWith(String str)——从哪个字符串开始
  4. boolean endsWith(String str)——从哪个字符串结束

其中API有关equals

java string类例题,JAVA从基础到进阶,java,开发语言,数据结构

package com.demo03;

public class StringDemo {
	public static void main(String[] args) {
		//创建字符串对象
		String s1 = "hello";
		String s2 = "hello";
		String s3 = "Hello";
		
		//boolean equals(Object obj):比较字符串的内容是否相同
		System.out.println(s1.equals(s2));
		System.out.println(s1.equals(s3));
		System.out.println("-----------");
		
		//boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
		System.out.println(s1.equalsIgnoreCase(s2));
		System.out.println(s1.equalsIgnoreCase(s3));
		System.out.println("-----------");
		
		//boolean startsWith(String str):判断字符串对象是否以指定的str开头
		System.out.println(s1.startsWith("he"));
		System.out.println(s1.startsWith("ll"));
		System.out.println("-----------");
		
		//boolean endsWith(String str):判断字符串对象是否以指定的str结尾
		System.out.println(s1.endsWith("ll"));
	}
}

java string类例题,JAVA从基础到进阶,java,开发语言,数据结构

 模拟登录案例

package com.demo03;

import java.util.Scanner;

/*
 * 给三次机会,并提示还有几次
 * 
 * 分析:
 * 		A:定义两个字符串对象,用于存储已经存在的用户名和密码
 * 		B:键盘录入用户名和密码
 * 		C:键盘录入用户名和密码和已经存在的用户名和密码做比较
 * 			如果内容相同,表示登录成功
 * 			如果内容不同,登录失败,并提示还有几次机会
 */
public class StringTest {
	public static void main(String[] args) {
		//定义两个字符串对象,用于存储已经存在的用户名和密码
		String username = "admin";
		String password = "admin";
		
		//给三次机会,用for循环
		for(int x=0; x<3; x++) {
			//键盘录入用户名和密码
			Scanner sc = new Scanner(System.in);
			System.out.println("请输入用户名:");
			String name = sc.nextLine();
			System.out.println("请输入密码");
			String pwd = sc.nextLine();
			
	
			if(username.equals(name) && password.equals(pwd)) {
				System.out.println("登录成功");
				break;
			}else {
				if((2-x) ==0) {
					System.out.println("用户名和密码被锁定,请与管理员联系");
				}else {
					System.out.println("登录失败,你还有"+(2-x)+"次机会"); //2,1,0
				}
			}
		}
	}
}

java string类例题,JAVA从基础到进阶,java,开发语言,数据结构

 String类的获取功能

  1. int length()  —— 字符串长度,其实也就是字符个数
  2. char charAt(int index) —— 获取指定索引处的字符
  3. int indexOf(String str) —— 获取str的字符串对象中第一次出现的索引
  4. String substring(int start)——从start开始截取字符串
  5. String substring(int start,int end)——从start开始,到end结束截取字符串,包括start,不包括end
package com.demo04;

public class StringDemo {
	public static void main(String[] args) {
		//创建字符串对象
		String s = "helloworld";
		
		//int length():获取字符串的长度,也就是字符个数
		System.out.println(s.length());
		System.out.println("--------");
			
			//char charAt(int index):获取指定索引的字符
		System.out.println(s.charAt(0));
		System.out.println(s.charAt(1));
		System.out.println("--------");
		
		//int indexOf(String str):获取str的字符串对象中第一次出现的索引
		System.out.println(s.indexOf("l"));
		System.out.println(s.indexOf("owo"));
		System.out.println(s.indexOf("ak"));
		System.out.println("--------");
		
		//String substring(int start):从start开始截取字符串
		System.out.println(s.substring(0));
		System.out.println(s.substring(5));
		System.out.println("--------");
		
		//String substring(int start,int end):从start开始,到end结束截取字符串,包括start,不包括end
		System.out.println(s.substring(0, s.length()));
		System.out.println(s.substring(3,8));
	}
}

java string类例题,JAVA从基础到进阶,java,开发语言,数据结构

两个小练习:

练习1:遍历字符串

练习2:统计一个字符中大写字符。小写字符,数字字符出现的次数,不考虑其他字符

练习1:遍历字符串

package com.demo04;
/*
 * 遍历字符串(获取字符串中的每一个字符串)
 */
public class StringTest {
	public static void main(String[] args) {
		//创建一个字符串对象
		String s = "abcde";
		
		//原始做法
		System.out.println(s.charAt(0));
		System.out.println(s.charAt(1));
		System.out.println(s.charAt(2));
		System.out.println(s.charAt(3));
		System.out.println(s.charAt(4));
		System.out.println("---------");
		
		//for循环好近
		for(int x=0; x<5; x++) {
			System.out.println(s.charAt(x));
		}
		System.out.println("---------");
		
		//利用s.length()获取字符串长度
		for(int x=0; x<s.length(); x++) {
			System.out.println(s.charAt(x));
		}
	}
}

java string类例题,JAVA从基础到进阶,java,开发语言,数据结构

练习2:统计一个字符中大写字符。小写字符,数字字符出现的次数,不考虑其他字符

package com.demo04;

import java.util.Scanner;

/*
 * 练习2:统计一个字符中大写字符。小写字符,数字字符出现的次数,不考虑其他字符
 * 
 * 分析
 * 		A:键盘录入一个字符串数据
 * 		B:定义三个统计变量,初始值都是0
 * 		C:遍历每一个字符串,得到每一个字符
 * 		D:拿字符进行判断
 * 			加入ch是一个字符
 * 			大写:ch>='A' && ch<='Z'
 * 			小写:ch>='a' && ch<='z'
 * 			数字ch>='0' && ch<='9'
 * 		E:输出结果
 */
public class StringTest2 {
	public static void main(String[] args) {
		//创建一个对象
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入字符");
		// 接收数据
		String s = sc.nextLine();
		
		//定义统计字符
		int bigCount = 0;
		int smallCount = 0;
		int numberCount = 0;
		
		//遍历字符,得到每一个字符
		for(int x=0; x<s.length(); x++) {
			char ch = s.charAt(x);
			//字符判断
			if(ch>='A' && ch<='Z') {
				bigCount++;
			}else if(ch>='a' && ch<='z') {
				smallCount++;
			}else if(ch>='0' && ch<='9') {
				numberCount++;
			}else {
				System.out.println("该字符"+ch+"非法");
			}
		}
		
		//输出结果
		System.out.println("大写字符"+bigCount+"个");
		System.out.println("小写字符"+smallCount+"个");
		System.out.println("数字字符"+numberCount+"个");
	}
}

java string类例题,JAVA从基础到进阶,java,开发语言,数据结构

String类的转换功能和String类的其他功能

  1. char[] toCharArray()——把字符串转换为字符数组
  2. String toLowerCase()——把字符串转换为小写字符串
  3. String toUpperCase()——把字符串转换为大写字符串
package com.demo05;
/*
 * 
 * 字符串遍历
 */
public class StringDemo {
	public static void main(String[] args) {
		//创建字符串
		String s = "abcde";
		
		//char[] toCharArray():把字符串转化成字符数组
		char[] chs = s.toCharArray();
		for(int x=0; x<chs.length; x++) {
			System.out.println(chs[x]);
		}
		System.out.println("-----------");
		
		//String toLowerCase():把字符串转换成小写字符串
		System.out.println("HelloWorld".toLowerCase());
		//String toUpperCase():把字符串转换成大写字符串
		System.out.println("HelloWorld".toUpperCase());
	}
}

java string类例题,JAVA从基础到进阶,java,开发语言,数据结构 其他功能:

        去除字符串两端空格 

        –String trim()

        按照指定符号分割字符串 

        –String[] split(String str)

package com.demo06;

public class StringDemo {
	public static void main(String[] args) {
		//创建字符串对象
		String s1 = "helloworld";
		String s2 = "  helloworld  ";
		String s3 = "  hello  world  ";
		System.out.println("---"+s1+"---");
		System.out.println("---"+s1.trim()+"---");
		System.out.println("---"+s2+"---");
		System.out.println("---"+s2.trim()+"---");
		System.out.println("---"+s3+"---");
		System.out.println("---"+s3.trim()+"---");
		System.out.println("-------------------");
		
		//String[] split(String str)
		//创建字符创对象
		String s4 = "aa,bb,cc";
		String[] strArray = s4.split(",");
		for(int x=0; x<strArray.length; x++) {
			System.out.println(strArray[x]);
		}
	}
}

java string类例题,JAVA从基础到进阶,java,开发语言,数据结构

string类练习

练习1:把数组中的数据按照指定格拼接成一个字符串举例:int[] arr = {1,2,3}; 

输出结果:[1, 2, 3]

package com.demo07;

public class StringTest {
	public static void main(String[] args) {
		//定义一个int类型的数组
		int[] arr = {1,2,3};
		
		
		//定义方法
		String s = arrayToString(arr);
		
		//输出结果
		System.out.println("s:"+s);
	}
	
	/*
	 * 两个明确
	 * 		返回值类型:String
	 * 		参数列表:int[] arr
	 */
	public static String arrayToString(int[] arr) {
		String s = "";
		
		//[1, 2, 3]
		s += "[";
		for(int x=0; x<arr.length; x++) {
			if(x==arr.length-1) {
				s += arr[x];
			}else {
				s += arr[x];
				s += ", ";
			}
		}
		s += "]";
		
		return s;
	}
}

java string类例题,JAVA从基础到进阶,java,开发语言,数据结构 

练习2:字符串反转举例:键盘录入abc”  输出结果:cba

package com.demo07;

import java.util.Scanner;


public class StringTest2 {
	public static void main(String[] args) {
		//创建一个对象
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入字符");
		String s = sc.nextLine();

		//创建方法
		String result = reverse(s);
		
		//输出结果
		System.out.println("result:"+result);
	}
	
	

	public static String reverse(String s) {
		// 将字符串转换成字符数组
		char[] chs = s.toCharArray();
		
		for(int start=0,end=chs.length-1; start<=end; start++,end--) {
			char temp = chs[start];
			chs[start] = chs[end];
			chs[end] = temp;
		}
		
		//把字符串数组封装成字符串对象
		String ss = new String(chs);
		return ss;
	}
}

java string类例题,JAVA从基础到进阶,java,开发语言,数据结构

 文章来源地址https://www.toymoban.com/news/detail-792218.html

 

到了这里,关于String类——Java中常见的类(模拟登录案例练习)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java 常见的日期转换(Timestamp、Calendar、Date、String)

    日期类型: Timestamp: java.sql.Timestamp Calendar: java.util.Calendar Date: java.util.Date String: java.lang.String 1、Timestamp 转 Calendar 2、Timestamp 转 Date 3、Timestamp 转 String 4、Calendar 转 Timestamp 5、Calendar 转 Date 6、Calendar 转 String 7、Date 转 Calendar 8、Date 转 Timestamp

    2024年02月04日
    浏览(50)
  • java StringBuilder对比String的优点和15个经典案例

    Java中的 StringBuilder 类和 String 类在处理字符串时有显著的区别,主要体现在可变性、性能以及线程安全性等方面: 可变性: String :是不可变的。每次对 String 对象进行拼接、替换等操作时,都会创建一个新的 String 对象,原始对象保持不变。 StringBuilder :是可变的。它提供了

    2024年02月02日
    浏览(39)
  • 【Java案例】用户登录注册

    案例介绍: 编写程序实现简单的用户登录注册功能。程序包含以下4个功能: (1)登录功能,用户输入正确的账号密码登录成功; (2)注册功能,输入用户名和密码进行注册; (3)查看功能,查看所有的用户名与密码; (4)退出功能,退出系统; 用户可以输入对应的编

    2024年01月16日
    浏览(38)
  • Java模拟QQ登录界面(GUI)

    链接: https://pan.baidu.com/s/13JJFyg14CbShs_HzLAoW6w?pwd=pwu3 提取码: pwu3  对每个文本框进行监控,鼠标定在哪的时候,下边框变为蓝色 用户光标定到文本框的时候,要是没有输入信息,就把里面的提示文字给清除掉,给用户一个好的体验 登录的时候对账号和密码检验,要是账号和密码都是ad

    2024年02月03日
    浏览(40)
  • 【C++初阶】模拟实现string的常见操作

    👦个人主页:@Weraphael ✍🏻作者简介:目前学习C++和算法 ✈️专栏:C++航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞👍🏻 收藏 📂 加关注✨ 为了方便管理代码,分两个文件来写: Test.cpp - 测试代码逻辑 string.h - 模拟实现 strin

    2024年02月12日
    浏览(53)
  • Java进阶(1)——JVM的内存分配 & 反射Class类的类对象 & 创建对象的几种方式 & 类加载(何时进入内存JVM)& 注解 & 反射+注解的案例

    1.java运行时的内存分配,创建对象时内存分配; 2.类加载的顺序,创建一个唯一的类的类对象; 3.创建对象的方式,new,Class.forName,clone; 4.什么时候加载.class文件进入JVM内存中,看到new,Class.forName; 5.如何加载?双亲委托(委派)机制:安全;AppClassLoader; 6.反射实质:能

    2024年02月14日
    浏览(44)
  • Selenium入门(二)Java整合Selenium实现模拟登录

    上一篇文章已经讲述了Java搭建Selenium环境: Selenium入门(一)Java 搭建 Selenium 环境 下面接着实现模拟登录功能,这里拿自己的网站来进行测试,如下图   这里我把验证码固定了,所以不需要输入验证码即可实现。 实现思路 首先输入登录url,用WebDriver模拟打开登录页面 然后

    2023年04月08日
    浏览(42)
  • Java Web实现案例 :实现用户登录功能

    目录 零、本节学习目标 一、纯JSP方式实现用户登录功能 (一)实现思路 (二)实现步骤 1、创建Web项目  2、创建登录页面 3、创建登录处理页面 4、创建登录成功页面 5、创建登录失败页面 6、编辑项目首页 (三)测试结果 二、JSP+Servlet方式实现用户登录功能 (一)实现思

    2024年02月04日
    浏览(42)
  • 【Java并发编程】线程中断机制(辅以常见案例)

    本文由浅入深介绍了中断机制、中断的常见案例和使用场景。 因为一些原因需要取消原本正在执行的线程。我们举几个栗子: 假设踢足球点球时,A队前4轮中了4个球,B队前4轮只中了2个球,此时胜负已分,第5轮这个点球就不用踢了,此时需要停止A队的线程和B队的线程(共

    2024年02月13日
    浏览(38)
  • Java Web应用小案例:实现用户登录功能

    掌握纯JSP方式实现用户登录功能 掌握JSP+Servlet方式实现用户登录功能 掌握JSP+Servlet+DB方式实现用户登录功能 掌握MVC模式实现用户登录功能 登录页面 login.jsp ,输入用户名和密码后,跳转到登录处理页面 doLogin.jsp 进行业务逻辑处理,登录成功,跳转到登录成功页面 success.jsp ,

    2024年02月04日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包