Java 超基础讲解String的使用

目录
  • 1.String概述
  • 2.特点
  • 3.String构造方法
  • 4.String对象的特点
  • 5.字符串的比较
  • 6.实现用户登录
  • 四、总结

1.String概述

String类在java.lang包下,所以使用的时候不需要导包。

String类代表字符串,Java程序中的所有字符串文字(如:“abc”)都被实现为此类的实例。

2.特点

  • 字符串不可变,他们的值创建后不能被更改
  • 虽然String的值是不可变的,但是它们可以被共享
  • 字符串效果上相当于字符数组(char[ ] ),但是底层原理是字节数组(byte[ ])

3.String构造方法

项目 Value
public String() 创建一个空白字符串对象,不含有任何内容
public String(char[ ] chs) 根据字符数组的内容来创建字符串对象
public String(byte[ ] bys) 根据字节数组的内容,来创建字符串对象
String = “abc” 直接赋值的方式创建字符串对象,内容就是abc

4.String对象的特点

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

char[ ] chs = {‘a',‘b',‘c'};

String s1 = new String(chs);

String s2 = new String(chs);

上面的代码中,JVM会首先创建一个字符数组,然后每一次new的时候都会有一个新的地址,只不过s1和s2参考的字符串内容是相同的。

5.字符串的比较

使用 “==” 做比较

  • 基本类型:比较的是数据值是否相同
  • 引用类型:比较的是地址值是否相同

字符串是对象,他比较内容是否相同,是通过一个方法来实现的,这个方法叫:equals()

public boolean equals(Object anObject);将此字符串与指定对象进行比较,由于我们比较的是字符串对象,所以参数直接传递一个字符串。

6.实现用户登录

代码如下:

import java.util.Scanner;

public class ArrayDemo{

    public static void main(String[] args) {
		   String username="abc";
		   String passworld="123";

		    //使用循环实现三次登陆机会
		   for(int i=0;i<3;i++){
               Scanner sc=new Scanner(System.in);

               System.out.println("请输入用户名:");
               String name=sc.nextLine();

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

               if(name.equals(username)&&pwd.equals(passworld)){
                   System.out.println("登陆成功!");
                   break;
               }else{
                   System.out.println("用户名或密码错误,请重新登录!");
               }
           }
    }
}

四、总结

本文讲解了Java基础知识—String,通过案例《用户登录》让知识更加牢固。

到此这篇关于Java 超基础讲解String的使用的文章就介绍到这了,更多相关Java String内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java 基础:string中的compareTo方法

    目录 一,java.lang.Comparable 接口 二,java.util.Comparator 接口 三,聊聊string中的compareTo方法 前言: 今天看了一篇gitchat的文章,标题是 聊聊 Java String 源码的排序算法,从中有所感悟和思考,因此打算总结下自己看的过程中的收获 一,java.lang.Comparable 接口 Comparable 接口强制了实现类对象列表的排序.其排序称为自然顺序,其 compareTo 方法,称为自然比较法 public in

  • java中String StringBuffer和StringBuilder的区别详解

    目录 从声明定义上来谈 从结构上来谈 从线程安全来谈 总结 从声明定义上来谈 只有String 可以 直接声明创建 而 StringBuffer 与 StringBuilder 必须去new对象 这是因为只有String会在这种声明方式下去字符串常量池创建,其他则没有 StringBuffer stf = new StringBuffer("abc"); StringBuilder stb = new StringBuilder("abc"); StringBuff

  • Java中String类常用类型实例总结

    目录 1.创建字符串的方法 1.1构造 1.2引用对象  2.字符串的比较 3.字符串的不可改变性 4.数组转字符串  5.判断是否是数字字符串  isNumberChar(  )  6.字节变字符串  7.字符串的查找 8.字符的替换 9.字符串的分割 9.1以单个符号来分割  9.2多个分隔符分割  9.3特殊符号分割 10.提取子串str.substring(  )  11.去空格 12.字符串的拼接 13.StringBuffer   13.1字符串的拼接 13.2方法的返回类型 总结

  • Java中拼接字符串String的N种方法总结

    目录 1.前言 2.问题复现 3.使用+运算符 4.使用String.concat() 5.使用StringBuilder 6.使用StringJoiner类(Java8+) 7.使用Streams.filter(Java8+) 8.总结 1. 前言 Java 提供了拼接 String 字符串的多种方式,不过有时候如果我们不注意 null 字符串的话,可能会把 null 拼接到结果当中,很明显这不是我们想要的. 在这篇文章中,将介绍一些在拼接 String 时避免 null 值的几种方式. 2.

  • Java十分钟精通String类的各种使用方法

    String String类: 代表字符串,提供了开发中常用的字符串处理的方法,如:求字符串的长度.截取字符串.替换字符串等方法,符串是常量,它的值创建之后就不可以再修改了. 首先我们先查一下官方文档,看看官方给String类定了什么方法: String也是属于java.lang包,所以不需要导入,这里就部分展示,全部的内容可以参考: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.htm

  • java 方法泛型入参T和String的重载关系详解

    目录 方法泛型入参T和String的重载关系 重载的基本知识不在这里讨论了 重载遇到泛型的问题 反复求证,得出以下结论 方法泛型入参T和String的重载关系 重载的基本知识不在这里讨论了 重载的一个关键理论,如果方法名相同,参数个数.父类型.位置也相同,则调用更加特殊化一个方法. 多余的没写,大家可以运行一下下面的代码,然后理解一下就ok了. public class TestMain {      public static void main(String[] args) {       

  • Java 超基础讲解String的使用

    目录 1.String概述 2.特点 3.String构造方法 4.String对象的特点 5.字符串的比较 6.实现用户登录 四.总结 1.String概述 String类在java.lang包下,所以使用的时候不需要导包. String类代表字符串,Java程序中的所有字符串文字(如:"abc")都被实现为此类的实例. 2.特点 字符串不可变,他们的值创建后不能被更改 虽然String的值是不可变的,但是它们可以被共享 字符串效果上相当于字符数组(char[ ] ),但是底层原理是

  • Java 超基础讲解String的使用

    目录 1.String概述 2.特点 3.String构造方法 4.String对象的特点 5.字符串的比较 6.实现用户登录 7.总结 1.String概述 String类在java.lang包下,所以使用的时候不需要导包. String类代表字符串,Java程序中的所有字符串文字(如:“abc”)都被实现为此类的实例. 2.特点 字符串不可变,他们的值创建后不能被更改 虽然String的值是不可变的,但是它们可以被共享 字符串效果上相当于字符数组(char[ ] ),但是底层原理是字节数组(

  • Java 类与对象超基础讲解

    目录 什么是面向对象 面向过程与面向对象 类与对象的使用 类与对象的使用与说明 对象的初始化 this的使用 构造方法 this可以调用本类的构造方法 什么是面向对象 Java语言是一个纯面向对象的语言,面向对象的语言不仅只有Java,包括C++,PHP等 面向对象的编程思想简称 OOP(Object Oriented Programming),其基本特点就是封装,继承和多态. 面向过程与面向对象 想要弄清楚什么是面向对象,首先需要知道两者的区别 面向过程更注重程序的每一个步骤,用相应的函数来实

  • Java超详细讲解设计模式之一的工厂模式

    目录 工厂模式 1.简单工厂 1.1结构 1.2实现 1.3优缺点 1.4扩展 2.工厂方法 2.1结构 2.2实现 2.3优缺点 3.抽象工厂 3.1结构 3.2实现 3.3优缺点 4.模式扩展 4.1实现 工厂模式 在Java应用程序中对象无处不在,这些对象都需要进行创建,如果创建的时候直接new对象,那么如果我们要更换对象,所有new对象的地方都需要进行更改.违背了软件设计原则中的开闭原则.如果我们使用工厂生产对象,只需要在工厂中关注对象的改变即可,达到了与对象解耦的目的,工厂模式最大的特

  • Java 超详细讲解类的定义方式和对象的实例化

    目录 1.面对对象的初步认识 1.1什么是面向对象 1.2面向对象与面向过程 2.类的定义与使用 2.1简单认识类 2.2 类的定义格式 3.类的实例化 3.1什么是实例化? 3.2重点笔记 总结 1.面对对象的初步认识 1.1什么是面向对象 用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计.扩展以及维护都非常友好. 1.2面向对象与面向过程 举一个买手机的例子 以面向对象的方式来处理买手机这件事的话,我们就不需要关注买手机的过程,具体手机怎么买,如何到手,用户不用去关心,

  • Java 超详细讲解字符流

    目录 一.字符流的由来 二.编码表 字符集: Unicode字符集: UTF-8编码规则: 三.字符串中的编码解码问题 编码方法(IDEA): 解码方法(IDEA): 四.字符流的编码解码问题 四.字符流写数据的五种方法 五.字符流读数据的两种方法 一.字符流的由来 由于使用字节流操控中文时不是很方便,Java就提供了字符流来进行操控中文 实现原理:字节流+编码表 为什么用字节流进行复制带有中文的文本文件时没有问题? 因为底层操作会自动进行字节拼接成中文 怎样识别该字节是中文呢? 汉字在存储时,

  • Java 超详细讲解类的定义方式和对象的实例化

    目录 1.面对对象的初步认识 1.1什么是面向对象 1.2面向对象与面向过程 2.类的定义与使用 2.1简单认识类 2.2 类的定义格式 3.类的实例化 3.1什么是实例化? 3.2重点笔记 总结 1.面对对象的初步认识 1.1什么是面向对象 用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计.扩展以及维护都非常友好. 1.2面向对象与面向过程 举一个买手机的例子 以面向对象的方式来处理买手机这件事的话,我们就不需要关注买手机的过程,具体手机怎么买,如何到手,用户不用去关心,

  • Java超详细讲解类的继承

    目录 写在前面 1.子类的创建 1.1子类的创建方法 1.2调用父类中特定的构造方法 2.在子类中访问父类成员 3.覆盖 3.1覆盖父类中的方法 3.2用父类的对象访问子类的成员 4.不可被继承的成员和最终类 实例java代码 写在前面 类的继承可以在已有类的基础上派生出来新的类,不需要编写重复的代码,提高了代码的复用性,是面向对象程序设计的一个重要的特点,被继承的类叫做父类,由继承产生的新的类叫做子类,一个父类可以通过继承产生多个子类,但是与C++不同的是Java语言不支持多重继承,即不能由多

  • Java 超详细讲解设计模式之中的抽象工厂模式

    目录 抽象工厂模式 1.什么是抽象工厂 2.抽象工厂模式的优缺点 3.抽象工厂模式的结构与实现 4.抽象工厂方法模式代码实现 5.抽象工厂模式的应用场景 6.抽象工厂模式的扩展 抽象工厂模式 前面文章介绍的工厂方法模式中考虑的是一类产品的生产,比如案例中的百事可乐工厂只能生产百事可乐,可口可乐工厂只能生产可口可乐,也就是说:工厂方法模式只考虑生产同等级的产品. 1.什么是抽象工厂 在现实生活中许多工厂是综合型的工厂,能生产多种类)的产品,就拿案例里面的可乐来说,在节日的时候可能会有圣诞版的可乐,

  • Java 超详细讲解IO操作字节流与字符流

    目录 IO操作 字节流 FileInputStream FileOutputStream 字节流读写案例 字符流 FileReader FileWriter 字节流与字符流的区别 IO操作 字节流 java.io.InputStream 输入流,主要是用来读取文件内容的. java.io.OutputStream 输出流,主要是用来将内容字节写入文件的. FileInputStream 该流用于从文件读取数据,它的对象可以用关键字 new 来创建. 有多种构造方法可用来创建对象. 可以使用字符串

随机推荐