当前位置: 首页 > news >正文

网站建设服务介绍爱站网 关键词挖掘工具

网站建设服务介绍,爱站网 关键词挖掘工具,公司网站建设方案书,全球做网站最好文章目录一、API二、String1. String 构造方法2. String 对象的特点3. 字符串的比较4. 用户登录案例5. 遍历字符串6. 统计字符次数7. 拼接字符串8. 字符串反转三、StringBuilder1. 构造方法2. 添加及反转方法3. 与 String 相互转换4. 拼接字符串升级版5. 字符串反转升级版一、A…

文章目录

    • 一、API
    • 二、String
      • 1. String 构造方法
      • 2. String 对象的特点
      • 3. 字符串的比较
      • 4. 用户登录案例
      • 5. 遍历字符串
      • 6. 统计字符次数
      • 7. 拼接字符串
      • 8. 字符串反转
    • 三、StringBuilder
      • 1. 构造方法
      • 2. 添加及反转方法
      • 3. 与 String 相互转换
      • 4. 拼接字符串升级版
      • 5. 字符串反转升级版

一、API

API:即应用程序编程接口。
Java API:指的就是 JDK 中提供的各种功能的 Java 类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些 API 如何使用。

jdk11 API 帮助文档中文版下载步骤!

二、String

String 类在 java.lang 包下,所以使用的时候不需要导包。
String 类代表字符串,Java 程序中的所有字符串文字(例如 “abc”)都被实现为此类的实例,也就是说,Java 程序中所有的双引号字符串,都是 String 类的对象。

字符串的特点:
① 字符串是不可变的,它们的值在创建后不能被更改;
② 虽然String 的值是不可变的,但是它们可以被共享;
③ 字符串效果上相当于字符数组,但是底层原理是字节数组。

1. String 构造方法

在这里插入图片描述

//1.创建一个空白字符串对象,不含任何内容
String s1 = new String();
//2.根据字符数组的内容,来创建字符串对象
char[] chs = {'a', 'b', 'c'};
String s2 = new String(chs);
System.out.println(s2); //abc
//3.根据字节数组的内容,来创建字符串对象
byte[] bys = {97, 98, 99};
String s3 = new String(bys);
System.out.println(s3); //abc
//4.直接赋值的方式创建字符串对象
String s4 = "abc";
System.out.println(s4); //abc

s3 的输出结果为什么是 abc 呢?
ASCLL码,数字的 97、98、99 依次对应字符的 a、b、c。

推荐使用直接赋值的方式得到字符串!

2. String 对象的特点

(1)通过 new 创建的字符串对象,每一次 new 都会申请一个内存空间,虽然内容相同,但是地址值是不同的;

(2)以双引号的方式给出的字符串,只要字符序列相同(顺序及大小写),无论在程序代码中出现几次,JVM 都只会建立一个 String 对象,并在字符串池中进行维护。

3. 字符串的比较

使用 == 做比较:
对于基本类型,比较的是数据值是否相同;
对于引用类型,比较的是地址值是否相同。

而我们的字符串是一个类,所以它的对象做等号比较的时候比较的也是地址值是否相同,我们如果想要比较字符串的内容是否相同,又该怎么做呢?

字符串是对象,它比较内容是否相同,是通过一个方法来实现的,这个方法叫 equals()
public boolean equals(Object anObject):将此字符串与指定对象进行比较,由于我们比较的是字符串对象,所以参数直接传递一个字符串

//比较地址是否相同
System.out.println(s1 == s2); //false
//比较内容是否相同
System.out.println(s1.equals(s2)); //true

4. 用户登录案例

需求:已知用户名和密码,请用程序实现模拟用户登录,总共有三次机会,登录之后给出相应提示。

思路:
① 已知用户名和密码,定义两个字符串表示即可;
② 键盘录入要登录的用户名和密码,用 Scanner 实现;
③ 拿键盘录入的用户名、密码和已知的用户名、密码进行比较,给出相应的提示,对于字符串内容的比较,用 equals() 方法实现;
④ 用循环实现多次机会,这里的次数明确,采用 for 循环实现,并在登录成功的时候,使用 break 结束循环。

package com.zxe;import java.util.Scanner;public class login {public static void main(String[] args) {String username = "tyut520";String password = "123456";Scanner sc = new Scanner(System.in);for (int i = 0; i < 3; i++) {System.out.println("请输入用户名:");String name = sc.nextLine();System.out.println("请输入密码:");String pwd = sc.nextLine();if (name.equals(username) && pwd.equals(password)) {System.out.println("登录成功!");break;} else {if (i == 2) {System.out.println("您的账号已锁定!");} else {System.out.println("登录失败,您还有" + (2 - i) + "次机会!");}}}}
}

在这里插入图片描述

5. 遍历字符串

//遍历字符串的通用格式
for (int i = 0; i < s.length(); i++) {System.out.print(s.charAt(i)); //输出指定索引处的字符值
}

charAt() 方法返回指定索引处的 char 值,数组名.length 返回数组的长度,字符串对象.length() 返回字符串的长度!

6. 统计字符次数

需求:键盘录入一个字符串,统计该字符中大写字母字符、小写字母字符、数字字符出现的次数。

package com.zxe;import java.util.Scanner;public class login {public static void main(String[] args) {int bigCount = 0;int smallCount = 0;int numberCount = 0;Scanner sc = new Scanner(System.in);System.out.println("请输入一个字符串:");String s = sc.nextLine();for (int i = 0; i < s.length(); i++) {char ch = s.charAt(i);if (ch >= 'A' && ch <= 'Z') {bigCount++;} else if (ch >= 'a' && ch <= 'z') {smallCount++;} else if (ch >= '0' && ch <= '9') {numberCount++;}}System.out.println("大写字母有" + bigCount + "个!");System.out.println("小写字母有" + smallCount + "个!");System.out.println("数字有" + numberCount + "个!");}
}

在这里插入图片描述

7. 拼接字符串

需求:定义一个方法,把 int 数组中的数据按照指定的格式拼接成一个字符串返回,调用该方法,并在控制台输出结果。

package com.zxe;import java.util.Arrays;
import java.util.Scanner;public class login {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String[] str;System.out.println("请输入一组整数,以逗号分隔:");str = sc.nextLine().split(",");int[] arr = new int[str.length];for (int i = 0; i < arr.length; i++) {arr[i] = Integer.valueOf(str[i]);}/*以数组的格式打印数组System.out.println(Arrays.toString(arr));*/String result = together(arr);System.out.println(result);}public static String together(int[] arr) {String s = "<";for (int i = 0; i < arr.length; i++) {s += arr[i];if (i == arr.length - 1) {s += ">";} else {s += ", ";}}return s;}
}

在这里插入图片描述

java 中可以直接输入字符串数组,但是输入 int[] 数组时需要事先定义长度,但有些题目中的长度是可变的,不能事先固定数组长度。首先输入字符串的数组,中间用逗号分隔,然后获取字符串长度,作为 int[] 初始数组的长度,再将 String 字符串数组转化为 int 数组。

8. 字符串反转

需求:定义一个方法,实现字符串反转。键盘录入一个字符串,调用该方法后,在控制台输出结果。

package com.zxe;import java.util.Arrays;
import java.util.Scanner;public class ReverseTest {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个字符串:");String s = sc.nextLine();String result;result = reverse(s);System.out.println(result);}public static String reverse(String s) {String ss = "";for (int i = s.length() - 1; i >= 0; i--) {ss += s.charAt(i);}return ss;}
}

三、StringBuilder

如果对字符串进行拼接操作,每次拼接,都会构建一个新的 String 对象,既耗时,又浪费内存,而这种操作还不可避免。
那么有没有一种比较好的方式可以解决这个问题呢?答案是肯定的,我们可以通过 Java 提供的 StringBuilder 类来解决这个问题。

StringBuilder 是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是 StringBuilder 对象中的内容是可变的。

String 内容不可变,而StringBuilder 内容是可变的!

1. 构造方法

方法名说明
public StringBuilder()创建一个空白可变字符串对象,不含任何内容
public StringBuilder(String str)根据字符串的内容,来创建可变字符串对象
StringBuilder sb = new StringBuilder("hello");
System.out.println(sb); //hello
System.out.println(sb.length()); //5

2. 添加及反转方法

方法名说明
public StringBuilder append(任意类型)添加数据,并返回对象本身
public StringBuilder reverse()返回相反的字符序列
StringBuilder sb = new StringBuilder();
StringBuilder sb2 = sb.append("hello");
System.out.println(sb); //hello
System.out.println(sb2); //hello
System.out.println(sb == sb2); //true

sb 和 sb2 是同一个对象!

因为返回的是对象本身,且可以传任意类型的数据,所以这里我们就不需要再用 StringBuilder 来接收了。

StringBuilder sb = new StringBuilder();
sb.append("hello");
sb.append("world");
sb.append("java");
sb.append(99);
System.out.println(sb); //helloworldjava99//也可以使用链式编程
sb.append("hello").append("world").append("java").append(99);
System.out.println(sb); //helloworldjava99
StringBuilder sb = new StringBuilder("hello");
sb.reverse(); //olleh

3. 与 String 相互转换

//1.StringBuilder转换为String,toString()
StringBuilder sb = new StringBuilder();
sb.append("hello");
String s = sb.toString(); //2.String转换为StringBuilder,构造方法
String s = "hello";
StringBuilder sb = new StringBuilder(s);

4. 拼接字符串升级版

在方法中用 StringBuilder 进行拼接,并把结果转换成 String 类型返回。

package com.zxe;import java.util.Arrays;
import java.util.Scanner;public class Test {public static void main(String[] args) {int[] arr = {1, 2, 3};String result = arrToString(arr);System.out.println(result);}public static String arrToString(int[] arr) {StringBuilder sb = new StringBuilder();sb.append("<");for (int i = 0; i < arr.length; i++) {if (i == arr.length - 1) {sb.append(arr[i]);} else {sb.append(arr[i]).append(", ");}}sb.append(">");String s = sb.toString();return s;}
}

在这里插入图片描述

5. 字符串反转升级版

在方法中用 StringBuilder 实现字符串的反转,并把结果转换成 String 返回。

package com.zxe;import java.util.Arrays;
import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一个字符串:");String str = sc.nextLine();String result = reverse(str);System.out.println(result);}public static String reverse(String s) {StringBuilder sb = new StringBuilder(s);sb.reverse();String ss = sb.toString();return ss;}
}
http://www.mmbaike.com/news/66162.html

相关文章:

  • 重庆电力公司网站学生个人网页优秀模板
  • 济宁网站开发招聘个人接外包项目平台
  • 上海网站建设seo公司哪家好视频推广一条多少钱
  • 北京网站设计制作哪家好网站建设的方法有哪些
  • 网站制作建设哪家公司好网络营销与策划实践报告
  • wordpress友情链接显示个数优化推广网站怎么做最好
  • 静态网站开发预期效果淄博网站营销与推广
  • 哪儿有那种网站上海百度推广优化公司
  • 黑龙江建设厅网站定制网站建设
  • 包头建设厅官方网站服务营销
  • 网络公司做网站网站整体优化
  • wordpress域名授权系统徐州seo培训
  • 云浮 网站建设东莞网站制作外包
  • 网站客服的调研工作怎么做百度seo指南
  • 微信平台登录深圳seo培训
  • 网站设计设计目的如何做谷歌优化
  • wordpress安全锁上海网站排名优化公司
  • 大型手机网站制作seo工具是什么意思
  • 高端建设网站建设怎么做一个免费的网站
  • 静态网站培训营销策划公司介绍
  • 在360怎么做网站头条新闻今日头条
  • 中山网站建设方案线上推广有哪些
  • wordpress安装创建数据库文件目录厦门seo优化外包公司
  • 交互设计研究生宁波seo网络推广多少钱
  • 全部游戏免费(试玩)不用下载百度快照seo
  • 各大城市网站哪里做网络平台运营是做什么的
  • 好企业网站百度竞价广告代理
  • 集团建设网站网站设计与制作教程
  • 胡志明网站建设上海推广外包
  • 群晖做自己的电影网站怎么有自己的网站