ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022-7-20 第一小组 甘源册 学习笔记

2022-07-20 22:33:27  阅读:139  来源: 互联网

标签:20 String 甘源册 int s1 System println 2022 字符串


目录

知识点掌握情况

String字符串(了解) 包装器类型(理解)

学习心情(心路历程)

知识点比较简单,学起来很轻松,Nice!!!

1. String字符串

  • 	String str="aknk";		
     		String s1="aknk";
           String s = new String("aknk");
     		//s指向的aknk与s1指向的aknk不在同一个区域内
           String s2 = new String("aknk");
           System.out.println(s2==s);  // false
           System.out.println(s1==s);  // false
           System.out.println(s1==str);// true
    
  • == 双等号比较的是虚地址

  • 虚地址:对象在内存中的存储位置

  • String字符串——字符拼成的串

  • String一旦声明不可改变

1.1 String常用方法

  • equals方法(比较字符串的内容)

    • 需要传参,传String类型的参数。
    • 有返回值,返回值是布尔类型的。
    • 访问权限public
  • length方法(获取字符串的长度)

    • 不需要传参
    • 有返回值,返回值是整数型(int)的。
    • 访问权限public
    • 数组的length是属性,字符串的length()是方法
  • charAt方法(取出指定下标位置的字符)

    • 需要传参,传int类型的参数
    • 有返回值,返回字符型的。
    • 访问权限public
  • indexOf(String str)(判断指定字符是否存在,返回值为字符串的下标)

    • 需要传参
    • 有返回值:int
    • 如果不存在返回-1
  • indexOf(String str, int fromIndex)(判断指定字符是否存在,从int的位置开始找,包括当前位置,从前往后)

  • lastIndexOf(String str, int fromIndex)(意思同index'Of一样,从后往前找)

  • substring方法(截取成一个新的字符串)

    1. 传一个int参数——截取从int下标开始到最后的所有字符 (包含起始位置
    2. 传两个int参数——截取从第一个int下标到第二个int下标之间的所有字符串(不包括终止位置的字符
  • 不重要

    •     String s1="aas,ca,cfs,aga,c,aa";
          String s2="AAS";
        		s1.toUpperCase();  	//转大写
            s1.toLowerCase();  	//转小写
            s1.startsWith("a",2);	//判断以什么开头  返回布尔型
            s1.endsWith("a");   //判断以什么结尾   返回布尔型
            s1.equalsIgnoreCase(s2);//忽略大小写进行比较
            s1.trim();          // 去掉字符串前后的空格
            String[] str=s1.split(",");//根据指定的字符分割
        
      
  • replace方法(字符串的替换)

    • String s1="adasggasda";
              System.out.println(s1.replace("a", ""));//dsggsd
              System.out.println(s1.replaceAll("ada", ""));//sggasda
      
      
  • 任何数据类型和字符串做加法,结果都是字符串

  • 把其他数据类型转换成字符串,(+“”)不推荐,(valueOf(基本数据类型))推荐

  • 字符串转换成数组

    • //转成字节型的数组
         //操作文件IO流的时候用到
         private static void test3(String s1) {
             byte[] bytes=s1.getBytes();
             for (byte b : bytes) {
                 System.out.println(b);
             }
         }
      

2. 包装器类型

基本数据类型 byte short int long float double char boolean
包装类(封装类) Byte Short Integer Long Float Double Character Boolean

以后不要用基本数据类型

  • Integer的默认值是null,int的默认值是0

  • /*
        原理:
        把int类型包装成包装器的Ingeter类型
        
        * */
        static Integer a =1;
    
  • 把基本数据类型转换成对应的包装器类型——自动装箱

  • 把包装器类型转换成对应的基本数据类型——自动拆箱

2.1 包装器类型的方法

  • parseInt方法(把字符串转换成int类型)
  • toString方法(把基本数据类型转换成字符串类型)

3.拓展

  • JDK5之后的新功能:

    1. 自动装箱,自动拆箱
    2. 增强for循环(foreach)
    3. 枚举
  • JDK7以后的新功能:

    1. switch...case可以用字符串
  • 异常:

    1. 数字格式化异常
    2. 字符串下标越界异常

练习

  • 需求:查找在一个字符串中另一个字符串出现的次数,

  • 	int c=0;
           for (int i = 0; i < s1.length(); ) {
               if (s1.indexOf(s2,i)>-1){
                   i=s1.indexOf(s2,i)+1;
                   c++;
               }else{
                   i++;
               }
           }
           System.out.println(c);
    
  • 需求:根据身份证号码获取生日,性别

  •     private static void test5(Scanner scanner) {
            System.out.println("请输入您的身份证号码:");
    
            String next = scanner.next();
    
            if (next.length()==18) {
                String month = next.substring(10, 12);
                String year = next.substring(6, 10);
                String day = next.substring(12, 14);
                String gender = next.substring(16, 17);
    
                int age = Integer.parseInt(year);
                int a = Integer.parseInt(gender);
    
                System.out.println("年龄:" + (2022 - age));
                System.out.println("出生日期:" + year + "年" + month + "月" + day + "日");
    
                if (a % 2 == 0) {
                    System.out.println("性别:女");
                } else {
                    System.out.println("性别:男");
                }
            }else {
                test5(scanner);
            }
        }
    

标签:20,String,甘源册,int,s1,System,println,2022,字符串
来源: https://www.cnblogs.com/gycddd/p/16498913.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有