Java(二)(String的常见方法,ArrayList的常见方法)

news2024/11/18 13:42:09

String

创建string对象

package Helloworld;

public class dome1 {

    public static void main(String[] args) {
        
        // 1.直接双引号得到字符串对象,封装字符串对象
        String name = "lihao";
        System.out.println(name);
        // 2. new String 创建字符串对象,并调用构造器初始化字符串
        String rs1= new String();
        String rs2 = new String("lihao");

        char[] chars ={'a','黑','马'};
        String rs3 = new String(chars);
        System.out.println(rs3);

        byte[] bytes = {97,98,99};
        String rs4 = new String(bytes);
        System.out.println(rs4);

    }


}

String常用方法

package Helloworld;
public class dome1 {
    public static void main(String[] args) {

        String s = "Java";
        // 1. 获取字符串的长度
        System.out.println(s.length());
        // 2.提取字符串中的某个索引位置处的字符
        char c = s.charAt(1);
        System.out.println(c);
        //3.字符串遍历
        for (int i = 0; i < s.length(); i++) {
            char ch = s.charAt(i);
            System.out.print(ch);
        }
        // 3.把字符串转换成字符数组,在进行遍历
        char[] chars = s.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            System.out.println(chars[i]);
        }
        // 4.判断字符串内容,内容一样就返回true
        String s1 = new String("牛逼克拉斯");
        String s2 = new String ("牛逼克拉斯");
        System.out.println(s1.equals(s2));

        // 5. 忽略大小写比较字符串内容
        String c1 = "123456aA";
        String c2 = "123456Aa";
        System.out.println(c1.equals(c2));
        System.out.println(c1.equalsIgnoreCase(c2));

        //6.截取字符串内容(包括前的不包括后面的)
        String s3 = "Java是最好的编程语言之一";
        String rs = s3.substring(0,8);
        System.out.println(rs);
        // 7.从当前索引位置一直截到字符串的末尾
        String rs2 = s3.substring(5);
        System.out.println(rs2);

        //8.把字符串中某个内容替换成新内容,并返回新的字符串对象给我们
        String info = "这个电影是个垃圾,垃圾电影!!";
        String info1= info.replace("垃圾","**");
        System.out.println(info);
        System.out.println(info1);
        //9.判断字符串中是否包含某个关键字
        String info3 = "Java是最好的语言";
        System.out.println(info3.contains("Java"));

        //10.判断字符串是否以某个字符串开头
        String rs4 = "张三丰";
        System.out.println(rs4.startsWith("张三"));

        //11.把字符串按照指定内容分割成多个字符串
        String rs5 = "张无忌,张三丰,白月光,朱砂痣";
        String[] names= rs5.split(",");
        for (int i = 0; i < names.length; i++) {
            System.out.println(names[i]);
        }
    }
}

注意事项:

(1)String的对象是不可变字符串对象

(2)只要是"..."方式写出的字符串对象,会存储到字符串常量池,且相同内容的字符串只存储一份,

但是通过new方式创建字符串常量,每new一次都会产生一个新的对象放到堆内存中

public class test1 {
    public static void main(String[] args) {
        String s1 = "abc";
        String s2 = "abc";
        System.out.println(s1 == s2); // true

        char[] chars={'a','b','c'};
        String a1 = new String (chars);
        String a2 =new String (chars);
        System.out.println(a1 == a2);  // false
    }

}

区别一点就是:"....."字符串对象是放到堆内存中的字符串常量池,每一回创建字符串对象的时候,都会在字符串常量池中去找,没有的话,在字符串常量池中创建,有的话,直接将这个的地址返回String对象,

但是(1)new出来的东西,是直接放到堆内存中的不管是不是字符串,即便是字符串也是直接在堆内存中开辟空间去存放(2)字符串运算出来的东西也会直接放到堆内存中

ArrayList

常见的方法

package demo;

import java.util.ArrayList;

public class test1 {
    public static void main(String[] args) {
        // 1. 创建一个ArrayList的集合对象
        ArrayList list = new ArrayList();
        list.add("李小谦");
        list.add(100);
        list.add(58);
        list.add("java");
        System.out.println(list);
        // ArrayList<String> list1 = new ArrayList<String>();
        ArrayList<String> list1 = new ArrayList<>();
        list1.add("李小谦");
        list1.add("java");
        System.out.println(list1);

        // 2.往集合中的某个索引位置处添加一个数据
        list.add(1,"MySQL");
        System.out.println(list);

        // 3.根据索引获取集合中某个索引位置的值
        String rs1 = list1.get(0);
        System.out.println(rs1);
        String rs2 = (String) list.get(0);
        System.out.println(rs2);
        int num = (int)list.get(3);
        System.out.println(num);
        // 4 .获取集合的大小(返回集合中存储的元素个数)
        System.out.println(list.size());
        // 5.根据索引删除集合中的某个元素值,会返回被删除元素值给我们
        System.out.println(list.remove(1));
        System.out.println(list);
        // 6.直接删除某个元素值,删除成功后返回true,反之false
        System.out.println(list.remove("java"));
        System.out.println(list);
        // 7.修改某个索引位置处的数据,修改后会返回原来的值给我们
        list.set(1,"伟大的程序员");
        System.out.println(list);

    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1226332.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

html综合笔记:设计实验室主页

&#xff11; 主页来源及效果 Overview - Lab Website Template docs (gitbook.io) greenelab/lab-website-template: An easy-to-use, flexible website template for labs (github.com) 2 创建网页 3 主要的一些file 3.1 index.md 主页面 3.1.1 intro 3.1.2 highlight …

庖丁解牛:NIO核心概念与机制详解 02 _ 缓冲区的细节实现

文章目录 PreOverview状态变量概述Position 访问方法 Pre 庖丁解牛&#xff1a;NIO核心概念与机制详解 01 接下来我们来看下缓冲区内部细节 Overview 接下来将介绍 NIO 中两个重要的缓冲区组件&#xff1a;状态变量和访问方法 (accessor) 状态变量是"内部统计机制&quo…

【汇编】处理字符问题

文章目录 前言一、处理字符问题1.1 汇编语言如何处理字符1.2 asciiascii码是什么&#xff1f;ascii码表是什么&#xff1f; 1.3 汇编语言字符示例代码 二、大小写转换2.1 问题&#xff1a;对datasg中的字符串2.2 逻辑与和逻辑或2.3 程序&#xff1a;解决大小写转换的问题一个新…

我终于体会到了:代码竟然不可以运行,为什么呢?代码竟然可以运行,为什么呢?

废话不多说&#xff0c;直接上图 初看只当是段子&#xff0c;再看已是段中人 事情经过&#xff1a; 我在写动态顺序表的尾插函数时&#xff0c;写出了如下代码&#xff0c;可以跑&#xff0c;但是这段代码有一个bug暂时先不提 //动态顺序表的尾插 void SLPushBack(SL* psl, …

python中列表的基础解释

列表&#xff1a; 一种可以存放多种类型数据的数据结构 列表的创建&#xff1a; 1.用【】创建列表 #创建一个空列表 list1[] #创建一个非空列表 list2 [zhang,li,ying,1,2,3] #输出内容及类型 print(list1,type(list1)) print(list2,type(list2))结果&#xff1a; 2.使用list…

详细步骤记录:持续集成Jenkins自动化部署一个Maven项目

Jenkins自动化部署 提示&#xff1a;本教程基于CentOS Linux 7系统下进行 Jenkins的安装 1. 下载安装jdk11 官网下载地址&#xff1a;https://www.oracle.com/cn/java/technologies/javase/jdk11-archive-downloads.html 本文档教程选择的是jdk-11.0.20_linux-x64_bin.tar.g…

Linux中系统时间同步

在Windwos中&#xff0c;系统时间的设置很简单&#xff0c;界面操作&#xff0c;通俗易懂&#xff0c;而且设置后&#xff0c;重启&#xff0c;关机都没关系。系统时间会自动保存在BIOS时钟里面&#xff0c;启动计算机的时候&#xff0c;系统会自动在BIOS里面取硬件时间&#x…

开发知识点-uniapp微信小程序-开发指南

uniapp uni.chooseLocationgetCurrentPages美团外卖微信小程序开发uniapp-美团外卖微信小程序开发P1 成果展示P2外卖小程序后端&#xff0c;学习给小程序写http接口P3 主界面配置P4 首页组件拆分P13 外卖列表布局筛选组件商家 布局测试数据创建样式 请求商家外卖数据封装请求并…

汇编-指针

一个变量如果包含的是另一个变量的地址&#xff0c; 则该变量就称为指针(pointer) 。指针是操作数组和数据结构的极好工具&#xff0c;因为它包含的地址在运行时是可以修改的。 .data arrayB byte 10h, 20h, 30h, 40h ptrB dword arrayB ptrB1 dword OFFSET arrayBarray…

4.6每日一题(多元函数的隐函数求导)

三元方程确定的二元函数类型的隐函数 方法一&#xff1a;两边对x求偏导&#xff0c;把y看成常数 注&#xff1a;z可以把x和y同时代入求出答案 方法二&#xff1a;带公式

数据结构【DS】栈

共享栈 共享栈的目的是什么&#xff1f; 目的:有效利用存储空间。 共享栈的存取数据时间复杂度为&#xff1f; 存取数据时间复杂度为O(1) 共享栈如何判空&#xff1f;如何判满&#xff1f; 两个栈的栈顶指针都指向栈顶元素&#xff0c;&#x1d461;&#x1d45c;&#x1d45d;…

【0基础学Java第十课】-- 认识String类

10. 认识String类 10.1 String类的重要性10.2 常用方法10.2.1 字符串构造10.2.2 String对象的比较10.2.3 字符串查找10.2.4 转化10.2.5 字符串替换10.2.6 字符串拆分10.2.7 字符串截取10.2.8 字符串的不可变性10.2.9 字符串修改 10.3 StringBuilder和StringBuffer10.3.1 String…

Java 11及更高版本的Oracle JDK版本

2021 年 9 月 14 日&#xff0c;Oracle 发布了可以长期支持的 JDK17 版本&#xff0c;那么从 JDK11 到 JDK17&#xff0c;到底带来了哪些特性呢&#xff1f;亚毫秒级的 ZGC 效果到底怎么样呢&#xff1f;值得我们升级吗&#xff1f;而且升级过程会遇到哪些问题呢&#xff1f;带…

PHP字符串函数的解析

在PHP中&#xff0c;字符串是一种常见的数据类型&#xff0c;用于存储和操作文本数据。PHP提供了丰富的字符串函数&#xff0c;用于执行各种字符串操作&#xff0c;包括截取、连接、替换、搜索等。在这篇文章中&#xff0c;我们将深入解析一些常用的PHP字符串函数&#xff0c;以…

小程序开通电子发票

总目录 文章目录 总目录前言结语 前言 随着人工智能的不断发展&#xff0c;机器学习这门技术也越来越重要&#xff0c;很多人都开启了学习机器学习&#xff0c;本文就介绍了机器学习的基础内容。 首先登录商户号&#xff1a;https://pay.weixin.qq.com/index.php/core/home/lo…

数据结构及八种常用数据结构简介

data-structure 数据结构是一种存在某种关系的元素的集合。“数据” 是指元素&#xff1b;“结构” 是指元素之间存在的关系&#xff0c;分为 “逻辑结构” 和 “物理结构&#xff08;又称存储结构&#xff09;”。 常用的数据结构有 数组&#xff08;array&#xff09;、栈&…

debian10 开启rdp安装firefox,firefox 中文乱码

debian10 开启rdp安装firefox apt -y install tigervnc-standalone-server apt -y install xrdp tigervnc-standalone-server systemctl enable xrdpapt install firefox-esrmstsc连接 firefox-settings-general-fonts-advanced-Simplified Chinese

【LeetCode:2342. 数位和相等数对的最大和 | HashMap + 模拟 】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…