精华内容
下载资源
问答
  • java基础语法字符串

    2019-02-11 13:16:35
    Java 中使用 String 类来定义一个字符串,字符串是常量,它们值在创建之后不能更改。字符串缓冲区支持可变字符串。...2.计算字符串的长度 字符串标识符.length(); 返回一个int类型整数(字符串中字符数,中文...

    Java 中使用 String 类来定义一个字符串,字符串是常量,它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。

    1.String对象的初始化

       方法1   String s1 = "abcd";
       方法2   String s2 = new String("abcd");
    

    2.计算字符串的长度

    字符串标识符.length(); 返回一个int类型的整数(字符串中字符数,中文字符也是一个字符)
    在这里插入图片描述
    在这里插入图片描述

    3.字符串比较

    1. equals() 方法,该方法的作用是判断两个字符串对象的内容是否相同。如果相同则返回 true,否则返回 false。比较是从第一字符开始,一个字符一个字符依次比较。
    2. equalsIgnoreCase()方法,其用法与 equals 一致,但它会忽视大小写。在该方法下,java与JAVA相等ture。
    3. 使用“==”比较的是两个对象在内存中存储的地址是否一样。 举个栗子
      String s1 =“abc”;
      String s2 = new String(“abc”);
      boolean b =(s1 == s2);
      则变量b的值是false,因为s1对象对应的地址是"abc"的地址,而s2使用new关键字申请新的内存,所以内存地址和s1的"abc"的地址不一样,所以获得的值是false。
      在这里插入图片描述
      在这里插入图片描述

    4.字符串连接

    1.使用+,比如String s = “Hello” + “World!”
    2.使用 String 类的 concat() 方法,举个栗子
    String s0 = new String(“Hello”);
    String s1 = “World” + “!”;
    String s2 = s0.concat(s1); //concat()方法连接
    System.out.println(s2);

    5.字符串处理

    字符串提取的常用方法:

    方法 返回值 功能描述
    indexOf(int ch) int 搜索字符 ch 第一次出现的索引
    indexOf(String value) int 搜索字符串 value 第一次出现的索引
    lastIndexOf(int ch) int 搜索字符ch最后一次出现的索引
    lastIndexOf(String value) int 搜索字符串 value 最后一次出现的索引
    substring(int index) String 提取从位置索引开始到结束的字符串
    substring(int beginindex, int endindex) String 提取beginindex和endindex之间的字符串部分
    trim() String 返回一个前后不含任何空格的调用字符串的副本

    在字符串中,第一个字符的索引为0,子字符串包含beginindex的字符,但不包含endindex的字符。

    举个栗子验证一下:

    在这里插入图片描述
    在这里插入图片描述

    例子2

    在这里插入图片描述
    在这里插入图片描述
    import java.util.Scanner; —> 导入java包,使用Scanner获得键盘输入
    Scanner in =new Scanner(System.in);

    6.去除字符串中的空格

    1.trim()
    只能去掉字符串首尾处的空格
    在这里插入图片描述
    2.str.replace(" “, “”); 去掉所有空格,包括首尾、中间
    在这里插入图片描述
    3.replaceAll(” +",""); 去掉所有空格
    在这里插入图片描述在这里插入图片描述

    实验小结:

    以上来自我在实验楼实验过程中的一些总结归纳,继续爬楼GaU!

    展开全文
  • Java字符串常用方法

    2021-02-12 22:48:04
    字符串长度非常实用,比如说我们发微博限制 140 个字,那就要计算个数,这个个数就可以通过字符串长度方法来完成,语法如下1 public static void main(String[] args) { String message = "今天我在学习 Java...

    字符串长度 length

    字符串长度非常实用,比如说我们发微博限制 140 个字,那就要计算字的个数,这个个数就可以通过字符串的长度方法来完成,语法如下

    public static void main(String[] args) {
      String message = "今天我在学习 Java 字符串";
      // 调用字符串的长度方法得到长度
      int size = message.length();
      System.out.println(size);
    }
    

    我们现在改造一下上面的代码,把这段代码改成微博消息个数的验证方法,这样的好处就是我们可以重复利用这段逻辑,而不需要每次都自己写同样的代码,这也是封装为方法的好处

    public class Test71 {
    	public static void main(String[] args) {
    	boolean countPass = validateCount("今天天气挺好的");
        System.out.println(countPass);
      }
      public static boolean validateCount(String message){
        if(message.length()>140){
          return false;
        }
        return true;
      }
    }
    

    取出字符串中的一个字 charAt

    一个字符串,比如:Hello Java,我们想取出第二个字,那么就可以使用 charAt(index),index 就是具体的坐标(和数组一样,从 0 开始的),所以第二个字的 index 值是

    public static void main(String[] args) {
      String message = "Hello Java";
      // 取出第一个字
      char str = message.charAt(0);
      System.out.println(str);
      // 取出第二个字
      str = message.charAt(1);
      System.out.println(str);
    }
    

    注意一下:charAt 方法返回的数据类型是 char

    去掉左右多余的空格 trim

    public class Test721 {
    
      public static void main(String[] args) {
    
        String str = " 哈哈哈";
        // 打印一下现在的length
        System.out.println(str+"的长度是:"+str.length());
        // 处理一下去空格
        String newStr = str.trim();
        // 打印一下新字符串的length
        System.out.println(newStr+"的长度是:"+newStr.length());
        // 对比再打印一下老的字符串的length
        System.out.println(str+"的长度是:"+str.length());
      }
    }
    

    查找字符串 indexOf

    我们在工作当中经常会遇到过滤信息的需求,比如说我们想找出下面一段话中是否有 Java 这个词

    Java 是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级 Web 应用开发和移动应用开发。任职于太阳微系统的詹姆斯·高斯林等人于 1990 年代初开发 Java 语言的雏形,最初被命名为 Oak,目标设置在家用电器等小型系统的编程语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun 公司放弃了该项计划。随着 1990 年代互联网的发展,Sun 公司看见 Oak 在互联网上应用的前景,于是改造了 Oak,于 1995 年 5 月以 Java 的名称正式发布。Java 伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

    indexOf(“字符串”) 这个方法就是解决这类问题的,indexOf 方法接受一个 String 字符串,当调用这个方法的时候,就会去文本中去查找第一个匹配到的坐标索引值,所以我们可以得到一个 int 数字类型的数据。我们可以根据这个 int 数字的值来判断是否匹配

    如果返回值是 -1 说明不匹配,如果返回值 != -1 ,那么说明匹配到了
    所以上面的需求,我们可以如下实现

    public static void main(String[] args) {}
    String str = “Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的编程语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。”;

    int index = str.indexOf("Java");
    if(index!=-1){
      System.out.println("匹配到了Java,索引位置是"+index);
    }else{
      System.out.println("没有匹配到了Java");
    } }
    

    代码演示
    如果想找到第二个出现 Java 的位置,怎么实现呢?

    public static void main(String[] args) {
    String str = “Java是一种广泛使用的计算机编程语言,于1995年5月以Java的名称正式发布。”;

    int index = str.indexOf("Java");
    
    index = str.indexOf("Java", index + 4);
    
    System.out.println("第二次匹配到了Java,索引位置是" + index);}
    

    这里,我们看到 indexOf 方法有了一个新的调用方式:indexOf(“字符串”,“开始索引值”),第二个参数是一个数字类型,用于设定从什么位置开始查找。所以我们找到第一个匹配到的索引+匹配字符串长度就是开始值了,这个时候查找到的就是第二个匹配内容了

    字符串拼接 substring

    有的时候,我们还会有类似这样的需求,我们想得到某个匹配到的字符串之后的内容。比如还是上段文本,我们想取出 Java 之后的内容,怎么办呢?这时候我们就需要借助 substring 这个字符串拼接方法了

    substring 方法有两种调用方式,一种是:substring(开始索引, 结束索引),这个方法执行的结果就是拼接新的一个字符串从开始索引开始(含这个值)到结束索引结束(不含);还有一种是 substring(开始索引),这个方法执行的结果就是从开始索引开始(含这个值)一直到结束

    我们来看一下上面的需求是如何完成的

    public static void main(String[] args) {
    String str = “Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的编程语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。”;

        int index = str.indexOf("Java");
        if (index != -1) {
          System.out.println("匹配到了Java,索引位置是" + index);
          String newStr = str.substring(index+4);
          System.out.println(newStr);
        } else {
          System.out.println("没有匹配到了Java");
        }  }
    

    字符串开始和结束内容判断 startsWith/endsWith

    我们在电脑上经常会存放各种文件,这个时候就会有一个需求,根据文件名判断文件格式,比如是不是 word 文档。这个时候就要借助 endsWith 方法,endsWith(“字符串”)这个方法接受一个字符串参数,用于判断是否以该字符串结束的,所以返回类型是 boolean(布尔),我们根据返回值就可以判断了

    public static void main(String[] args) {
        String fileName = "报告.doc";
        if(fileName.endsWith(".doc")){
          System.out.println("是word文档");
        } }
    

    startsWith 和 endsWith 语法一致,不同的是 startsWith 判断的是文本开头是不是匹配内容。

    比如说,我们想判断一个 网址是不是安全的地址,那么我们就可以使用 startsWith(“https”) 来判断

     public static void main(String[] args) {
        String url = "https://www.youkeda.com";
        if(url.startsWith("https")){
          System.out.println("网址是安全的");
        }
      }
    

    字符串替换 replaceAll

    文本替换是我们经常会遇到的需求,比如说把开头的文本中的 Java 换成 Python,这个时候就需要借助 replaceAll :replaceAll(“要替换的值”,“新值”) replaceAll 方法有两个字符串参数,第一个代表的是要替换的值,第二个代表的是新值,这个执行后会得到一个新的字符串(原始的字符串不会变哦)37

    public static void main(String[] args) {
    String str = “Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。”;

    String newStr = str.replaceAll("Java","Python");
    
    System.out.println(newStr);
    System.out.println(str); }
    

    字符串分割 split

    很多时候,我们经常会处理有格式的文本数据,比如这样的

    姓名|年龄|性别

    张三|20|男
    李四|18|男
    小花|18|女
    

    多数时候处理这样的数据,会先把这种文本数据变成数组,每一行作为一条记录,从一个文本变成数组数据,那就需要 split(“分割字符串”),注意这个分割字符串可以是字符串也可以是特殊的符号,比如说换行的符号是 \n(提醒一下换行符在文本文件里肉眼是看不见的),split 方法执行的结果是返回一个字符串数组对象,所以上面的内容改造成代码就可以是

    public static void main(String[] args){
      String text = "姓名|年龄|性别\n张三|20|男\n李四|18|男\n小花|18|女";
    
      // 使用 split 进行换行符的分割,得到一个新的数组对象
      String[] data = text.split("\n");
    
      // 因为第一行是标题不是数据,所以我们需要把长度-1
      // (注意要使用小括号包围,因为要先计算长度再组合字符串)
      System.out.println("共有:"+(data.length-1)+" 条记录");
    }
    

    大小写转化 toUpperCase/toLowerCase

    public static void main(String[] args) {
        String text = "ZhanSan";
        // 把拼音全部转化为大写字母
        String enName = text.toUpperCase();
        System.out.println(enName);
      }
    

    字符串比较 equals

    在 Java 中初学者经常会混淆一个概念,那就是两个字符串是否相同并不是用 ==表达式,而是使用 equals(“被比较的字符串”) 方法

    比如说:

     public static void main(String[] args) {
    
        String text = "字符串";
        // 使用 equals 方法判断是否相同
        if (text.equals("字符串")) {
          System.out.println("equals 方法字符串相等");
        }
        // 前后顺序无所谓,下面代码是一样的
        if ("字符串".equals(text)) {
          System.out.println("equals 方法字符串相等");
        }
      }
    

    数字和字符串转化 Integer.parseInt

    我们前面说过其实大多数情况下,原始数据都是字符串,但是显然我们是希望对字符串中的数字进行数学运用的,所以这个时候就遇到字符串转化数字或者数字转化字符串的情况。

    在 Java 当中,我们可以使用 Integer 这个对象的 parseInt 方法进行处理,这个方法的作用就是让字符串变成数字

      public static void main(String[] args) {
        String text = "123";
        // 转化字符串为数字
        int a = Integer.parseInt(text);
        System.out.println(a);
    
        // 转化字符串为数字
        a = Integer.parseInt("100");
        System.out.println(a);
      }
    
    展开全文
  • Java字符串:hashCode() 方法

    千次阅读 2019-11-04 08:45:30
    Java hashCode() 方法 hashCode() 方法用于返回字符串的哈希码。...使用 int 算法,这里 s[i] 是字符串的第 i 个字符,n 是字符串的长度,^ 表示求幂。空字符串的哈希值为 0。 语法 public int hashCode() ...

    Java hashCode() 方法

    hashCode() 方法用于返回字符串的哈希码。

    • 字符串对象的哈希码根据以下公式计算:
    s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
    

    使用 int 算法,这里 s[i] 是字符串的第 i 个字符,n 是字符串的长度,^ 表示求幂。空字符串的哈希值为 0。
    语法

    public int hashCode()
    

    参数

    无。

    返回值

    • 返回对象的哈希码值。
    public class Test {
        public static void main(String args[]) {
            String Str = new String("sunny chen");
            System.out.println("字符串的哈希码为 :" + Str.hashCode() );
        }
    }
    
    展开全文
  • java语法基础

    2020-08-08 10:33:24
    1、计算数组的长度用length 。计算字符串的长度用length()。 字符是否相等比较用== String[] strs strs.length strs[0].length(); if (strs[i].charAt(j) != strs[i+1].charAt(j)) { return res; }

    1、计算数组的长度用length 。计算字符串的长度用length()。 字符是否相等的比较用==

    String[] strs
    strs.length
    strs[0].length();
    if (strs[i].charAt(j) != strs[i+1].charAt(j)) {
           return res;
     } 
    

    2、定义字符hashmap

    //注意两点:1、要用Character而不是Char   2、Java泛型是<>
    Map<Character,Character> map = new HashMap<>();
    map.put('[',  ']');
    

    3、Java取数组某个元素用[],scala用()
    4、定义整型数组:int[] a = {1,3,5,8,10,20};
    5、 for(int j=0;j < 0;j++)
    {
    System.out.println(j); //只有满足j<0才会执行括号内代码。不会输出j
    }
    6、for循环简写

    	int[] a = {1,3,5,8,10,20};
    	for (int s : a) {
    	}
    

    7、单引号引起来,是定义一个char,双引号引起来,是定义一个string
    char a = ‘a’;
    String b = “b”;
    8、判断一个字符串有多少数字和字母

    char[] array_Char=s.toCharArray();//将字符串转化为字符数组
    int countLetter=0;
    int countNumber=0;
    for (char c: array_Char) {
        //注意这里需要单引号
        if (c >= '0' && c <= '9') {
            countNumber ++;
        } else if ( (c >= 'a' && c < 'z') || (c >= 'A' && c <= 'Z')) {
            countLetter ++ ;
        }
    }
    

    9、 string转换为byte
    String s = “hello world”;
    byte[] bytes = s.getBytes();
    10、List 是一个接口,不能实例化,通过实例化ArrayList 或者LinkedList来调用:
    List list = new ArrayList();
    Queue接口与List、Set同一级别,都是继承了Collection接口
    LinkedList实现了Queue接口。Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果是Queue时,就完全只能访问Queue接口所定义的方法 了,而不能直接访问 LinkedList的非Queue的方法),以使得只有恰当的方法才可以使用。
    Queue q = new LinkedList<>();
    11、stack和deque都可以表示栈,deque是双向队列,即技能表示队列也能表示栈。其中stack是类,deque是接口,可以用LinkedList进行new

    展开全文
  • isEmpty() 方法用于判断字符串是否为空。...字符串通过length()方法计算字符串长度,如果返回 0,即为空字符串。实例以下实例演示了 isEmpty() 方法使用:public class Test {public static void main(String[] a...
  • 字符类型 char 1~2000字节 固定长度字符串长度不够用空格补充 varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) ...
  • 使用 int 算法,这里 s[i] 是字符串的第 i 个字符,n 是字符串的长度,^ 表示求幂。空字符串的哈希值为 0。 语法 public int hashCode() 返回值 返回对象哈希码值。 实例 根据用户输入信息确定
  • 10.3.4 覆盖的语法不简单 272 10.3.5 更复杂的使用覆盖的情况 274 10.3.6 覆盖——不得不打开的潘多拉魔盒 276 10.3.7 使用super调用父类中的方法和属性 278 10.4 多态(Polymorphism)以及其他 279 10.4.1 ...
  • 10.3.4 覆盖的语法不简单 272 10.3.5 更复杂的使用覆盖的情况 274 10.3.6 覆盖——不得不打开的潘多拉魔盒 276 10.3.7 使用super调用父类中的方法和属性 278 10.4 多态(Polymorphism)以及其他 279 10.4.1 ...
  • 10.3.4 覆盖的语法不简单 272 10.3.5 更复杂的使用覆盖的情况 274 10.3.6 覆盖——不得不打开的潘多拉魔盒 276 10.3.7 使用super调用父类中的方法和属性 278 10.4 多态(Polymorphism)以及其他 279 10.4.1 ...
  • 输入字符串长度不超过100,合法字符包括”+,-,*,/,(,)”,”0-9”,字符串内容合法性及表达式语法的合法性由做题者检查。本题目只涉及整型计算。 输入描述: 输入算术表达式 输出描述: 计算出结果值 关键...
  • String

    2017-05-20 22:17:00
    1.使用String对象存储字符串 String s=... String s=new String("Helloword") 2.String类位于包java.lang包中,具有丰富方法 计算字符串的长度,比较字符串,连接字符串,提取字符串 3.字符串长度 语法:方法原理...
  • Java学习笔记-个人整理

    热门讨论 2012-12-19 09:57:07
    {1.14.1}Java的打包命令}{44}{subsection.1.14.1} {2}Everything is an Object }{45}{chapter.2} {2.1}类与对象}{45}{section.2.1} {2.1.1}构造方法}{45}{subsection.2.1.1} {2.1.2}Java变量类型}{47}{...
  • JAVA 范例大全 光盘 资源

    热门讨论 2012-03-07 16:30:00
    实例36 获取字符串长度 85 实例37 比较字符串 86 实例38 Java字符串与文件互转 88 实例39 截取带汉字字符串 91 实例40 替换字符串中部分字符 92 实例41 Java字符串之密码加密 93 实例42 正则表达式验证...
  • Java程序员面试宝典pdf

    热门讨论 2013-02-21 13:06:13
    面试题043 字符串对象池作用是什么 69 面试题044 StringBuffer和StringBuilder存在作用是什么 71 面试题045 如何输出反转过后的字符串 72 面试题046 如何使用指定字符集创造String对象 73 4.6 小结 74 第5章 ...
  • java 正则表达式

    2011-06-26 18:01:16
    应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)String.prototype.len=function(){return this.replace(/[^\x00-\xff]/g,"aa").length;} 匹配空行正则表达式:\n[\s| ]*\r 匹配html标签正则...
  • PHP常用的正则表达式PHP 独特的语法混合了C...匹配中文字符的正则表达式: [u4e00-u9fa5]匹配双字节字符(包括汉字在内): [^x00-xff]应用:计算字符串长度(一个双字节字符长度计2,ASCII字符计1)String.prototype....
  • 必须要时从Java SE API源代码分析,了解各种语法Java SE API中如何应用。  《Java JDK 7学习笔记》将IDE操作纳为教学内容之一,使读者能与实践结合,提供视频教学能更清楚地帮助读者掌握操作步骤。 内容简介 ...
  • 面试题045 如何输出反转过后的字符串 72 面试题046 如何使用指定字符集创造String对象 73 4.6 小结 74 第5章 数组和集合使用( 教学视频:54分钟) 75 5.1 Java的数组 75 面试题047 如何理解数组在Java中...
  • 实例074 将字符串的每个字符进行倒序输出 实例075 获取字符串中汉字个数 实例076 批量替换某一类字符串 实例077 把异常与错误信息显示到窗体中 实例078 从字符串中分离文件路径、文件名及扩展名 实例079 ...
  • 实例074 将字符串的每个字符进行倒序输出 实例075 获取字符串中汉字个数 实例076 批量替换某一类字符串 实例077 把异常与错误信息显示到窗体中 实例078 从字符串中分离文件路径、文件名及扩展名 实例079 ...

空空如也

空空如也

1 2 3 4 5
收藏数 89
精华内容 35
关键字:

java计算字符串长度的语法

java 订阅