java初学者笔记总结day11

数组的api-Arrays

数组转字符串
数组全部元素设置默认值
数组copy
System.arrayCopy -->设置copy范围,copy新数组位置时候使用
Arrays.copyOf-->copy全部内容使用
数组排序 sort
a)基本类型--》直接用
b)引用类型:提供比较大小的方法-给sort使用
1)利用Comparable接口---》数组元素自己类实现该接口-》提供比较大小的方法compareTo
2)利用Comparetor接口---》新定义类实现该接口-》提供比较大小的方法compare
数组二分法查找
1)先排序 2)再使用
数组的扩展知识
增强for(foreach)
语法:
for(元素类型 元素变量 :容器(数组,list,set)对象){


执行的过程:循环执行,循环容器元素的数量次。依次把容器里第一个到最后一个元素
分别赋值给元素变量。

作用:快速遍历容器的元素。
注意:遍历容器的元素--》只能做读取容器元素的操作,不能设置元素。

可变参数
是什么?--》是一种特殊的【参数】--【数据类型】,类似于数组类型。
语法:
1)数组元素类型 ... 参数名
2)方法只能定义一个可变参数,并且必须最后一个
特殊之处
1)方法内使用参数:就是一个数组类型
2)方法调用的时候赋值:
a)传递数组
b)传递数组的元素(0到多个,通过逗号分割)

各字符串对比
String:不可变字符串
StringBuilder:可变字符串,线程不安全,速度快
StringBufferer:可变字符串,线程安全,速度慢

不可变字符串:自身更改的操作都会产生新的字符串对象返回,自己内容不做更改。
可变字符串:自身更改的操作可以直接把自己内容做更改。

String常用api
concat(了解即可)连接字符串
转大小写

StringBuilder和bufferer的功能(api基本相同)
常用api
追加(连接字符串)
删除--》删除一个范围的内容
插入
替换--》替换一个范围的内容
反转

字符串拼接对比
String +
StringBuilder append
StringBufferer append

速度对比
StringBuilder略大于StringBufferer远大于String

怎么选择?
1)多线程--》StringBufferer
2)单线程
拼接数量多-》StringBuilder
拼接数量少-》String

时间: 2024-10-26 01:28:20

java初学者笔记总结day11的相关文章

java初学者笔记总结day10

数组的概念 数组一种数据类型->引用类型作用 之前学习的数据类型都只能装一个值,数组可以装多个值. 一维数组定义引用语法1:数组元素的类型 [] 变量名;(java方式-推荐)语法2:数组元素的类型 变量名 [] ;(c 保留) 创建数组对象--定义引用并静态初始化:知道数组的长度和内容.语法: 数组元素的类型 [] 变量名=new 数组元素的类型 []{元素1,元素2...}; 创建数组对象--定义引用并动态初始化:知道数组的长度.语法: 数组元素的类型 [] 变量名=new 数组元素的类型

java初学者笔记总结day8

final关键字:最终的 常量:定义一次,赋值一次变量:定义一次,赋值多次 常量的类型 1)基本类型:常量本身存储的值(业务数据)不能更改 2)引用类型:常量本身存储的值(对象的地址)不能更改,对象的内容可以更改的.a)修饰变量--->常量 1)局部常量 方法的参数(局部常量):在方法中不能赋值,因为调用的时候已经赋值. 2)成员常量 没有默认值,必须创建对象保证所有的成员常量都有默认值 a)定义及赋值 b)构造块 c)构造器 3)静态常量 没有默认值,必须加载类之后保证所有的静态常量都有默认值

java初学者笔记总结day2

字符集:用来编码和解码字符用的 定义了很多字符和整数对应的关系,字符集有很多种 例如:ascii ,utf-8 ,gbk,unicode(utf-16) ascii:最基本的字符集,定义了(数字,字母,常用标点符号),并且其他字符集从ascii扩展而来. 字符编码(存储字符信息的过程):把[字符]转换为指定字符集的[整数]的过程字符解码(显示字符信息的过程):把[整数]转换为指定字符集的[字符]的过程 char:存储一个字符 占用空间:2 byte 字符集:unicode(utf-16) 整数范

java初学者笔记总结day7

eclipse->debugger模式作用?-->调试程序的错误(运行错误)可以动态执行程序代码,并且可以在执行的时候查看到当前执行环境的变量(常量)的值.debugger调试的步骤1)设置断点2)通过debuubger运行程序3)切换到debuger平台4)根据debugger的视图进行调试 访问修饰符 作用?-->控制资源(类,属性,方法)能访问的位置 4个级别 访问位置a)public(公共的): 1)本类中2)同包其他类3)子类中4)其他包其他类b)protected(受保护的)

java初学者笔记总结day6

static关键字作用:没有static在类中定义的[数据和功能](成员变量和成员方法),都是属于对象的,如果[数据和功能]只是跟类有关系,那么我们可以通过staic关键字修饰,变为(静态变量和静态方法)-属于类. 静态变量 语法:static +成员变量 静态方法 语法:static +成员方法使用静态变量和静态方法1)类名.静态变量或方法(推荐)---->本类中使用可以省略->类名.2)对象引用.静态变量或方法 注意点:1)成员变量跟对象相关,每个对象存储一份数组,静态变量跟类相关,静态变

java初学者笔记总结day1

ava环境配置 java三大体系 javase 桌面程序开发 javame 移动端程序开发 javaee 网络服务程序开发 java环境概念 jdk java程序开发环境-jre加开发所需要的功能 jre java程序运行环境-jvm加java内置功能 jvm java虚拟机,负责执行java代码 配置环境变量 path:在dos窗口可以任何路径使用java和javac命令 classpath:配置第三方jar javahome:配置jdk目录,第三行程序需要java环境时使用 hellowor

Java初学者笔记五:泛型处理

一.泛型类: 泛型是指适用于某一种数据类型而不是一个数据机构中能存不同类型 1 import java.io.*; 2 import java.nio.file.Files; 3 import java.nio.file.Paths; 4 import java.util.List; 5 6 class myClass<Type>{ 7 public Type[] tlist; 8 public Type tobject; 9 @SuppressWarnings("unchecked

Java初学者笔记六:反射

Java反射基础 零.基础类代码 import java.io.*; import java.lang.reflect.*; class father{ public String fName; father(String name) { this.fName = name; } public void show() throws Exception{ Runtime.getRuntime().exec("touch 2.txt"); } } class child extends f

java初学者笔记总结day4

for循环结构 语法: for(表达式1;表达式2;表达式3){ //循环内容 } for 各位置的代码1)表达式1--->循环变量初始化2)表达式2--->循环条件--->可以不写,默认产生true,填写则必须布尔值3)表达式3--->步进语句4)//循环内容-->循环内容 while的模版 循环变量初始化while(循环条件){ //循环内容 //步进语句} while和for怎么选择1)如果四大循环结构都需要使用--->选for2)如果只需要循环条件和循环内容--