zoukankan      html  css  js  c++  java
  • java基础 String

    标准格式:
    数据类型[] 数组名称 = new 数据类型[] {元素1,元素2,...};
    省略格式:
    数据类型[] 数组名称 = {元素1,元素2,...};


    Scanner类实现的功能,可以实现键盘输入数据,到程序中

    引用类型的一般使用步骤:
    1、导包
    import 包路径.类名称;
    如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写。
    只有java.lang包下的内容不需要导包,其他的包都需要import语句。

    2、创建
    类名称 对象名 = new 类名称();

    3、使用
    对象名.成员方法名()

     1 /**
     2      * java.lang.String类代表字符串
     3      * API中说,Java程序中的所有字符串字面值(如“abc”)都作为此类的实例实现。
     4      * 其实就是说,程序当中所有的双引号字符串,都是String类的对象。(即使没有new,也照样是)
     5      * 
     6      * 字符串特点:
     7      * 1、字符串的内容用不可变。
     8      * 2、正是应为字符串不可改变,所以字符串是可以共享使用的。
     9      * 3、字符串效果上相当于char[]字符数组,但是底层原理是byte[]字节数组。
    10      * 
    11      * 创建字符串的常见3+1方式
    12      * 三种构造方法:
    13      * public String();创建一个空白字符串,不含有任何内容
    14      * public String(char[] array);根据字符数组的内容,创建字符串
    15      * public String(byte[] array);根据字节数组的内容,创建字符串
    16      * 一种直接创建:
    17      * String str = "Hello";
    18      * 
    19      * 注意:直接写上双引号,就是字符串对象。
    20      */
    21     public static void main(String[] args){
    22         //使用空参数构造
    23         String str1 = new String();
    24         System.out.println("第一个字符串"+str1);
    25 
    26         //根据字符数组穿件字符串
    27         char[] charArray = {'a','s','f'};
    28         String str2 = new String(charArray);
    29         System.out.println("第二个字符串"+str2);
    30 
    31         //根据字节数组创建
    32         byte[] byteArray = {97,98,99};
    33         String str3 = new String(byteArray);
    34         System.out.println("第3个字符串"+str3);
    35 
    36         //直接创建
    37         String str4 = "Helo";
    38         System.out.println("第4个字符串" + str4);
    39     }
     1 /**
     2      * 字符串常量池:程序当中直接写上双引号的字符串,就在字符串常量池中。
     3      * 
     4      * 对于基本类型来说, == 是就行数值的比较。
     5      * 对于引用类型, == 是进行【地址值】的比较。
     6      * @param args
     7      */
     8     public static void main(String[] args){
     9         String str1 = "abc";
    10         String str2 = "abc";
    11 
    12         char[] charArray = {'a','b','c'};
    13         String str3 = new String(charArray);
    14 
    15         System.out.println(str1 == str2);//true
    16         System.out.println(str1 == str3);//false
    17         System.out.println(str2 == str3);//false
    18     }
     1 /**
     2      * ==是进行对象的地址值比较,如果确实需要字符串的内容比较,可以使用两个方法
     3      * 
     4      * public boolean equals(Object obj);参数可以是任意类型,只有参数是字符串且内容相同才返回true,否则返回false
     5      * 注意事项:
     6      * 1、任何对象都能用Object进行接收
     7      * 2、equals方法具有对称性,即:q.equals(b)和b.equals(a)效果一样
     8      * 3、如果比较双方一个常量一个变量,推荐把常量字符串写在前面
     9      * 推荐:"abc".equals(str) 不推荐:str.equals("abc")
    10      * 
    11      * public boolean equalsIgnoreCase(String str);忽略大小写,进行内容比较。
    12      */
    13     public static void main(String[] args){
    14         String str1 = "Hello";
    15         String str2 = "Hello";
    16         char[] charArray = {'H','e','l','l','o'};
    17         String str3 = new String(charArray);
    18 
    19         System.out.println(str1.equals(str2));//true
    20         System.out.println(str2.equals(str2));//true
    21         System.out.println(str3.equals("Hello"));//true
    22         System.out.println("Hello".equals(str1));//true
    23 
    24         String str4 = "hello";
    25         System.out.println(str1.equals(str4));//false
    26         System.out.println("=====================");
    27 
    28         String str5 = "abc";
    29         System.out.println("abc".equals(str5));//推荐,一旦str5=null,则返回false
    30         System.out.println(str5.equals("abc"));//不推荐,一旦str5=null,则报错,空指针异常NullPointerException
    31 
    32         System.out.println("=====================");
    33 
    34         String strA = "Java";
    35         String strB = "java";
    36         System.out.println(strA.equals(strB));//false 严格区分大小写
    37         System.out.println(strA.equalsIgnoreCase(strB));//true 忽略大小写
    38 
    39         //注意:只有英文字母区分大小写,其他都不区分大小写
    40         System.out.println("abc一123".equalsIgnoreCase("abc壹123"));//false
     1 /**
     2  * String当中与获取相关的常用方法:
     3  * public int length(); 获取字符串中字符个数,即长度。
     4  * public String concat(String str);将当前字符串和参数字符串拼接,并返回新的字符串。
     5  * public char charAt(int index);获取指定索引位置的字符串。
     6  * public int indexOf(String str);查找参数字符串在本字符串当中首次出现的索引,如果没有,则返回-1。
     7  */
     8 public class DemoStringGet{
     9     public static void main(String[] args){
    10         //获取字符串的长度
    11         int length = "adfajdflkjaldfjlad".length();
    12         System.out.println("字符串的长度是:" + length);
    13 
    14         //拼接字符串
    15         String str1 = "Hello";
    16         String str2 = "World";
    17         String str3 = str1.concat(str2);
    18         System.out.println(str1);
    19         System.out.println(str2);
    20         System.out.println(str3);
    21 
    22         System.out.println("======================");
    23         //获取指定索引位置的单个字符
    24         char ch = "Hello".charAt(1);
    25         System.out.println("在索引位置1的字符是" + ch);
    26     }
    27 }
     1     /**
     2      * 字符串的截取方法:
     3      * public String substring(int index); 截取从参数位置一直到字符串末尾,返回新的字符串。
     4      * public String substring(int begin, int end); 截取从begin开始,一直到end结束。
     5      * 备注:[begin,end)包含左边,不包含右边
     6      */
     7     public static void main(String[] args){
     8          String str1 = "HelloWorld";
     9          String str2 = str1.substring(5);
    10          System.out.println(str1);//HelloWorld
    11          System.out.println(str2);//World
    12 
    13          String str3 = str1.substring(4,7);
    14          System.out.println(str3);
    15      }

    引入:

    import java.util.Scanner;
     1 /**
     2      * 计算键盘输入的各个字符出现的次数。
     3      * 需要堆字符串一个字符一个字符检查,Stirng-->char[],方法是:toCharArray()
     4      * 
     5      */
     6     public static void main(String[] args){
     7         Scanner sc = new Scanner(System.in);
     8         System.out.println("请输入一个字符串:");
     9         String input = sc.next();//获取键盘输入字符串
    10 
    11         int countUpper = 0;
    12         int countLower = 0;
    13         int countNumber = 0;
    14         int countOther = 0;
    15 
    16         char[] charArray = input.toCharArray();
    17         for (int i = 0; i < charArray.length; i++) {
    18             char ch = charArray[i];//当前单个字符
    19             if('A' <= ch && ch <= 'Z'){
    20                 countUpper ++;
    21             }else if('z' <= ch && ch<= 'z'){
    22                 countLower ++;
    23             }else if(0 <= ch && ch <= 9){
    24                 countNumber ++;
    25             }else{
    26                 countOther ++;
    27             }
    28         }
    29         System.out.println("大写字母个数:" + countUpper);
    30         System.out.println("小写字母个数:" + countLower);
    31         System.out.println("数字个数:" + countNumber);
    32         System.out.println("其他个数:" + countOther);
    33     }
  • 相关阅读:
    samba 服务搭建
    lock
    dev GridControl FilterCriteria
    dev GridControl Column 背景色
    Microsoft NLayerApp案例理论与实践
    DDD
    .Net架构师-开闭原则
    .Net架构师-面向对象的设计原则
    .Net架构师-详解面向对象
    .Net架构师-面向过程和面向对象
  • 原文地址:https://www.cnblogs.com/mantishell/p/11397161.html
Copyright © 2011-2022 走看看