如果调试一个程序让你很苦恼,千万不要放弃,成功永远在拐角之后,除非你走到拐角,否则你永远不知道你离他多远,所以,请记住,坚持不懈,直到成功。

集合框架

1:String类:字符串(重点)

(1)多个字符组成的一个序列,叫字符串。

生活中很多数据的描述都采用的是字符串的。而且我们还会对其进行操作。

所以,java就提供了这样的一个类供我们使用。

(2)创建字符串对象

1A:String():无参构造2**举例:3Strings =newString();4s ="hello";5sop(s);6B:String(byte[] bys):传一个字节数组作为参数 *****7**举例8byte[] bys = {97,98,99,100,101};9Strings =newString(bys);10sop(s);11C:String(byte[] bys,intindex,intlength):把字节数组的一部分转换成一个字符串 *****12**举例13byte[] bys = {97,98,99,100,101};14Strings =newString(bys,1,2);15sop(s);16D:String(char[] chs):传一个字符数组作为参数 *****17**举例18char[] chs = {'a','b','c','d','e'};19Strings =newString(chs);20sop(s);21E:String(char[] chs,intindex,intlength):把字符数组的一部分转换成一个字符串 *****22**举例23char[] chs = {'a','b','c','d','e'};24Strings =newString(chs,1,2);25sop(s);26F:String(Stringstr):把一个字符串传递过来作为参数27char[] chs = {'a','b','c','d','e'};28Stringss =newString(s);29sop(ss);30G:直接把字符串常量赋值给字符串引用对象(最常用) *****31**举例32Strings ="hello";33sop(s);

(3)面试题

A:请问String s = new String("hello");创建了几个对象。

两个。一个"hello"字符串对象,在方法区的常量池;一个s对象,在栈内存。

B:请写出下面的结果

String s1 = new String("abc");

Strign s2 = new String("abc");

String s3 = "abc";

String s4 = "abc";

sop(s1==s2); //false

sop(s1==s3); //false

sop(s3==s4); //true

C:字符串对象一旦被创建就不能被改变。

指的是字符串常量值不改变。

(4)字符串中各种功能的方法

A:判断

**** boolean equals(Object anObject):判断两个字符串的内容是否相同,复写了Object的方法

**** boolean equalsIgnoreCase(String anotherString):判断两个字符串的内容是否相同,

不区分大小写

**** boolean contains(String s):判断一个字符串中是否包含另一个字符串

注意:判断字符串是否包含特殊字符.直接表示为str.contains(".")

boolean endsWith(String suffix):测试此字符串是否以指定的后缀结束

boolean startsWith(String suffix):测试此字符串是否以指定的前缀开始

boolean isEmpty():测试字符串是否为空

B:获取

***** int length():返回此字符串的长度

***** char charAt(int index):返回指定索引处的 char值

***** int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引。

int indexOf(int ch, int fromIndex):返回在此字符串中第一次出现指定字符处的索引,

从指定的索引开始搜索。

int indexOf(String str):返回指定子字符串在此字符串中第一次出现处的索引。

int indexOf(String str, int fromIndex):返回指定子字符串在此字符串中第一次

出现处的索引,从指定的索引开始。

*** int lastIndexOf(int ch):返回指定字符在此字符串中最后一次出现处的索引。

int lastIndexOf(int ch, int fromIndex)

返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。

int lastIndexOf(String str)

返回指定子字符串在此字符串中最右边出现处的索引。

int lastIndexOf(String str, int fromIndex)

返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。

***** String substring(int beginIndex) (注意:该方法substring的String是小写!!!)

返回一个新的字符串,它是此字符串的一个子字符串。

String substring(int beginIndex, int endIndex) (注意该方法的String是小写!!!)

返回一个新字符串,它是此字符串的一个子字符串,包含头不包含尾。

C:转换

***** byte[] getBytes():(很常用!)从字符串到字节数组的方法

void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

将字符从此字符串复制到目标字符数组。

***** char[] toCharArray():(很常用!)从字符串到字符数组的方法

**** static String copyValueOf(char[] data)

返回指定数组中表示该字符序列的 String。

static String copyValueOf(char[] data, int offset, int count)

返回指定数组中表示该字符序列的 String。

***** static String valueOf(数据类型):把该数据类型的数据转换成字符串。

*** String toLowerCase():把字符串转换成小写

String toUpperCase():把字符串转换成大写

*** 字符串的连接

String concat(String str):将指定字符串连接到此字符串的结尾。

D:替换

String replace(char oldChar, char newChar):用新字符替换旧字符(替换所有)

String replace(String target, String replacement):用新的子串换旧串

E:分割

String[] split(String regex):根据指定的字符串把一个字符串分割成一个字符串数组

F:

String trim():去除字符串的前后空格

G:

int compareTo(String anotherString)

按字典顺序比较两个字符串。

int compareToIgnoreCase(String str)

按字典顺序比较两个字符串,不考虑大小写。

(5)练习

1:模拟登录,给三次机会,并提示还有几次.

默认的用户名和密码为admin。 区分大小写。

自己从键盘输入用户名和密码。

2:给定一个字符串统计,统计大写字母,小写字母,数字出现的个数.

***注意:不包括特殊字符

从键盘输入一个不包含特殊字符的字符串(只有26个字母和0-9组成)。

3:给定一个字符串,把它变成首字母大写,其他字母小写的字符串.

从键盘输入一个字符串,全部26个字母组成的。

4:子串在整串中出现的次数。

也就是说:获取一个字符串中,指定的字串在该字符串中出现的次数.

例如:

"nbasdnbafllgnbahjnbakqqqqlnba" 在这个字符串中,多有个nba.

5:对字符串中字符进行自然顺序排序。

"basckd"-->"abcdks"

先留做思考内容:

6:两个字符串的最大相同子串。

两个字符串的最大相同子串。

比如:

"sadabcdfghjkl"

werabcdtyu"

2:StringBuffer

(1)字符串的缓冲区,是一个容器。

(2)它和String的区别

它是缓冲区可变长度的。

(3)构造方法

StringBuffer() 构造一个其中不带字符的字符串缓冲区,初始容量为 16 个字符。

StringBuffer(int num) 构造一个不带字符,但具有指定初始容量的字符串缓冲区。

StringBuffer(String str) 构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。

(4)常用方法

A:增加数据

**append :添加各种类型的数据

**insert : 在容器指定位置插入各种类型的数据。

B:删除数据

**deleteCharAt : 删除指定位置的字符

**delete 还可以用于清空StringBuffer的缓冲区

C:替换

**replace

D:获取

**charAt

E:长度和容量

**length() 元素的个数

**capacity 元素的理论值

F:获取元素的位置

**indexOf

**lastIndexOf

G:截取

**substring(int start)

**substring(int start,int end)

H:反转

**reverse

(5)字符串和StringBuffer的转换

String-->StringBuffer通过构造:

如:StringBuffer sb = new StringBuffer(String str)

StringBuffer--String通过toString方法

如:StringBuffer sb = new StringBuffer();

sb.toString();

3:StringBuilder

和StringBuffer的功能是一样的,但是有区别:

StringBuffer(JDK1.0)是线程安全的。

StringBuilder(JDK1.5)不保证线程安全。

一般来说,我们写的程序都是单线程的,所以,用StringBuilder,效率高。

JDK版本的升级原则:

A:提高效率

B:提高安全性

C:简化书写

4:基本数据类型的对象包装类

(1)为了更方便的操作每个基本数据类型,java对其提供了很多的属性和方法供我们使用。

(2)用途:

**将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能操作该数据。

**常用的操作之一:用于基本数据类型与字符串之间的转换。

A:方便操作

B:用于和字符串进行相互转换

(3)基本数据类型和对象类型的对应

byte Byte

short Short

int Integer

long Long

float Float

double Double

boolean Boolean

char Character

(4)构造方法

字段摘要:

static int MAX_VALUE 值为 2^31-1 的常量,它表示 int 类型能够表示的最大值

static int MIN_VALUE 值为 -2^31 的常量,它表示 int 类型能够表示的最小值

static ClassTYPE 表示基本类型int的Class 实例

Integer(int value) 构造一个新分配的Integer对象,它表示指定的int值。

Inreger(String s) 注意:s必须是纯数字的字符串。否则会有异常NumberFormatException

(5)几个常用的方法

Integer.toBinaryString();

以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。

Integer.toOctalString();

以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。

Integer.toHexString();

以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。

static int Integer.parseInt(String s) 将字符串参数作为有符号的十进制整数进行解析,

字符串必须是int型范围内的数字字符串

static int Integer.parseInt(String s,int basic)

使用第二个参数指定的基数,将字符串参数解析为有符号的整数.

字符串必须是int型范围内的数字字符串

short shortValue() 以short类型返回该Integer的值。

int intValue() 以int类型返回该Integer的值。

static Integer valueOf(int num) 返回一个表示指定的 int 值的 Integer 实例。

static Integer valueOf(String s) 返回保存指定的String的值的Integer对象。

static Integer valueOf(String s, int radix)

返回一个Integer对象,该对象中保存了用第二个参数提供的基数进行

解析时从指定的String中提取的值。

(6)类型转换

1int-- Integer2intnum=20;3A:Integer i =newInteger(num);4B:Integer i = Integer.valueOf(num);5Integer --int6Integer i =newInteger(20);7A:intnum= i.intValue();89int--String10intnum=20;11A:Strings =String.valueOf(num);12B:Strings =""+num;13C:Strings = Integer.toString(num);14String--int15Strings ="20";16A:intnum= Integer.parseInt(s);17B:Integer i =newInteger(s);或者Integer i = Integer.valueOf(s);18intnum= i.intValue();

java的重点是什么_你知道初学者学习Java的重点是什么吗?相关推荐

  1. Java:计算机编程语言Java的简介、编程环境/工具、如何学习Java之详细攻略

    Java:计算机编程语言Java的简介.编程环境/工具.如何学习Java之详细攻略 目录 Java的简介 1.Java的工作原理--基于Eclipse等编程Java语言→定义Java类→Java虚拟机 ...

  2. 初学者学习java编程,如何顺利通过4大艰难阶段?

    有人通过Java培训班获得了年薪几十万的逆袭,也有人通过Java培训班体会到了"学习java有多难"的滋味.无论是哪种收获,都与我们突破每一个阶段的方法有关. 整个过程看似艰难,但 ...

  3. java模拟数据库压测_写并发压测 java 脚本你必须会的 3 个类

    性能测试做到后面,一些特殊的场景利用常用的现成工具满足不了需求,所以你需要学习java写一些特定协议的压测脚本,那你不得不研究多线程或线程池,而此时你也一定会遇到java并发编程中的几个类,今天重点讲 ...

  4. java小程序详解_微信小程序登录Java后台接口(详解,附示例代码)

    首先看一下官方文档 地址:微信小程序官方文档API登录接口 我们先对官方给的时序图进行简单的分析 1.当小程序调用wx.login()时,会获得一个code(临时登录凭证),然后我们需要用wx.req ...

  5. java是脚本语言吗_从脚本语言到Java

    从脚本语言到Java 板桥里人 jdon.com 2002/3 以前我是一直用脚本语言,使用多了,不知不觉一直把数据库设计当作系统设计的主要任务,使用java后,我觉得数据库设计只是一个基础 和前期工 ...

  6. java中execution的作用_一文初步了解Java虚拟机

    大家都知道,Java中JVM的重要性,学习了JVM你对Java的运行机制.编译过程和如何对Java程序进行调优相信都会有一个很好的认知. 什么是JVM? JVM(Java Virtual Machin ...

  7. java语言用什么编程_使用什么编程语言开发Java?

    The Java Language is a language specification – you don't write a language in a language, it's a spe ...

  8. java反射获取方法内部_公共技术点之 Java 反射 Reflection

    本文为 Android 开源项目源码解析 公共技术点中的 Java 反射 部分 分析者:Mr.Simple,校对者:Trinea,校对状态:未完成 1. 了解 Java 中的反射 1.1 什么是 Ja ...

  9. 无忧考吧2017二级java_无忧考吧二级JAVA超级模拟软件下载_无忧考吧二级JAVA超级模拟软件官方下载-太平洋下载中心...

    无忧考吧二级JAVA超级模拟软件是一款可以帮助用户朋友来学习计算机二级java语言考试的软件,使用这款二级java模拟考试软件可以帮助用户快速的掌握学习内容和操作逻辑,让你顺利的通过二级java考试. ...

最新文章

  1. linux如何根据端口看进程,linux 根据端口查看系统进程
  2. 一个java文件中多个类
  3. 【每日一题】4月27日题目精讲 Removal
  4. 前端学习(1747):前端调试值之console用处
  5. 2021年下半年网络规划设计师下午真题及答案解析
  6. OpenShift 4 Tekton (2) - OpenShift Pipeline入门-用Pipeline部署应用
  7. Python+django网页设计入门(5):自定义用户注册与登录功能
  8. python病毒usb文件自动安装_将文件自动复制到USB上
  9. WPF,Silverlight与XAML读书笔记第六 - WPF新概念之一逻辑树与可视树
  10. 常用http状态码说明,status
  11. linux系统基本特点分时,Linux操作系统四个优点.docx
  12. git克隆权限_git clone权限被拒绝
  13. 操作系统设备驱动实验实验报告
  14. 拜托,请给我贫寒简单的生活!
  15. 免Root–获取WIFI密码
  16. 好文分享:一切都是最好的安排
  17. C/C++ 光标:键盘上下键实现菜单移动
  18. 深耕技术,与实践赛跑:一文告诉你如何稳妥快速完善区块链技术并有序推动商用​?...
  19. 如何去掉XP系统中文件夹的只读属性
  20. 辽宁省葫芦岛市谷歌高清卫星地图下载

热门文章

  1. LeetCod中等题之复数乘法
  2. 计图(Jittor) 1.1版本:新增骨干网络、JIT功能升级、支持多卡训练
  3. TensorFlow反向传播算法实现
  4. Python API vs C++ API of TensorRT
  5. Action4D:人群和杂物中的在线动作识别:CVPR209论文阅读
  6. 同向逆向、多车道线检测
  7. 2021年大数据常用语言Scala(十四):基础语法学习 数组  重点掌握
  8. [递归]一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
  9. java中hashcode_浅谈Java中的Hash值
  10. HarmonyOS UI 开发 vp ,fp , px 以及写具体数字的 理解