十、String类

1.认识Sring类

字符串由一连串的字符组成,在Java中使用双引号""包裹表示,它可以是一个字符,也可以是一个字符序列或者由多个字符序列组成。字符串的应用非常广泛,因此Java语言提供了String类。

想要使用字符串,首先需要对其进行初始化,Java中String类中定义了三种基本初始化构造函数,如下:

String str_1=new String();               //无参数构造方法
String str_2=new String("abc");          //使用字符串作为参数的构造方法
String str_3=new String(new char[3]);    //使用字符数组作为参数的构造方法

2.常用方法

·字符串查找

字符串的查询操作主要有按索引位置查询和按值查询两种,前者是通过字符的索引位置获取对应位置的值,后者是通过值来获取其对应的位置索引。

String str="Hello Java!Hello Java String!";    //定义一个字符串System.out.println("第一个J所在的索引位置是"+str.indexOf("J"));
System.out.println("从索引位置7开始,第一个Hello的索引位置是:"+str.indexOf("Hello",1));
System.out.println("最后一个J所在的索引位置是"+str.lastIndexOf("J"));
System.out.println("最后一个Java所在的索引位置是"+str.lastIndexOf("Java"));
System.out.println("从索引位置9开始,最后一个Java所在得索引位置是"+str.lastIndexOf("Java",9));//输出结果
//第一个J所在的索引位置是6
//从索引位置7开始,第一个Hello的索引位置是:11
//最后一个J所在的索引位置是17
//最后一个Java所在的索引位置是17
//从索引位置9开始,最后一个Java所在得索引位置是6

·字符串修改

字符串的修改在String类中只有一些简单的截取、分割和连接。

String str="  Hello Java,Hello 2022!";  //定义一个字符串System.out.println("将,换成!:"+str.replace(",","!"));
System.out.println("将所有的Hello替换成Hi:"+str.replaceAll("Hello","Hi"));
System.out.println("将第一个H换成h:"+str.replaceAll("H","h"));
System.out.println("将字符串全部转换成大写:"+str.toUpperCase());
System.out.println("将字符串全部转换成小写:"+str.toLowerCase(Locale.ROOT));
System.out.println("去掉字符串前后的空格:"+str.trim());
System.out.println("拼接Hello Java String!字符串:"+str.concat("Hello Java String!"));//输出结果:
//将,换成!:  Hello Java!Hello 2022!
//将所有的Hello替换成Hi:  Hi Java,Hi 2022!
//将第一个H换成h:  hello Java,hello 2022!
//将字符串全部转换成大写:  HELLO JAVA,HELLO 2022!
//将字符串全部转换成小写:  hello java,hello 2022!
//去掉字符串前后的空格:Hello Java,Hello 2022!
//拼接Hello Java String!字符串:  Hello Java,Hello 2022!Hello Java String!

·字符串分割

字符串其实是一组字符的集合,那么,字符串理应可以分割成一个个字符序列或是一组组字符序列。事实也正是如此:

 String str="Hello Java,Hello 2022!";  //定义一个字符串String[] strs=str.split(" ");  //以空格为分割点分割字符串int count=0;for (String s:strs) {System.out.println("分割后的第"+ ++count+"字符是:"+s);}String ss="Hi Java!";count=0;char[] cArr=ss.toCharArray();for (char c:cArr) {System.out.println("分割后的第"+ ++count+"个字符是:"+c+" ");}System.out.println("字符串索引从0到6的子串是:"+str.substring(0,6));System.out.println("字符串从第一个o到第一个H的子串是:" +str.substring(str.indexOf("o"),str.lastIndexOf("H")));System.out.println("替换字符串从第一个o到第一个H的子串中的,为!:"
+str.substring(str.indexOf("o"),str.lastIndexOf("H")).replace(",","!"));//输出结果为:
//分割后的第1字符是:Hello
//分割后的第2字符是:Java,Hello
//分割后的第3字符是:2022!
//分割后的第1个字符是:H
//分割后的第2个字符是:i
//分割后的第3个字符是:
//分割后的第4个字符是:J
//分割后的第5个字符是:a
//分割后的第6个字符是:v
//分割后的第7个字符是:a
//分割后的第8个字符是:!
//字符串索引从0到6的子串是:Hello
//字符串从第一个o到第一个H的子串是:o Java,
//替换字符串从第一个o到第一个H的子串中的,为!:o Java!

十一、认识异常

1.什么是异常

在程序运行过程中,难免会出现一些奇奇怪怪的问题,有时通过代码很难去控制。比如:数据格式不对、网络不通畅、内存报警等。在Java中,将程序执行过程中发生的不正常行为称为异常。

Java异常可以分为运行时异常(非检测性异常)、检查型异常(非运行时异常)、和自定义异常。运行时异常不遵循处理或声明规则,大多是由于程序设计不当而引发的。通常只能在运行期才能被发现,如数组下标越界、访问空对象、类型转换异常等。这些错误完全可以通过改进程序加以克服,一般不对其进行捕获。

2.异常的捕获

异常的捕获,也就是异常的具体处理方式,主要有两种:异常声明throws以及try-catch捕获处理。

·异常声明throws

当前方法不处理异常,提醒方法的调用者处理异常 。语法格式如下:
修饰符  返回值类型   方法名(参数列表) throws  异常类型1,异常类型2···{
}

·try-catch捕获并处理

throws对异常并没有真正处理,而是将异常报告给抛出异常方法的调用者,由调用者处理。如果真正要对异常进行处理,就需要try-catch。语法格式如下:

try{             // 将可能出现异常的代码放在这里

}catch(要捕获的异常类型 e){           // 如果try中的代码抛出异常了,此处catch捕获时异常类型与try中抛出的异常类型一致时,或者是try中抛出异常的基类时,就会被捕获到
// 对异常就可以正常处理,处理完成后,跳出try-catch结构,继续执行后序代码
}

具体实现如下:

class Person implements  Cloneable{@Overrideprotected Object clone() throws CloneNotSupportedException {return super.clone();}
}public class TestDemo {public static void main(String[] args) {Person person=new Person();try {         //可能会抛出异常的代码Person person1=(Person) person.clone(); } catch (CloneNotSupportedException e) {            //对捕获到的异常进行处理e.printStackTrace();}}
}

耗时四天终于把JavaSE的基础知识总结完啦~希望自己可以再接再厉,坚持写博客!

【Java】javaSE的基础知识概括(完)相关推荐

  1. 黑马程序员 一、java 概述与基础知识

    获取更多资源关注Java帮帮IT资源分享网 一.黑马程序员-java 概述与基础知识 1.何为编程? 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果 的过程. 为了使 ...

  2. Java 网络编程基础知识

    Java 网络编程基础知识 基础概念 计算机网络的基本概念 ​ 网络:多台计算机使用网络设备互联在一起,计算机之间可以进行通信,这样就组成了一个计算机网络. ​ 网络设备:集线器(HUB),路由器,交 ...

  3. JAVA进阶的基础知识快速通过---自学笔记(二)

    温故而知新---陆续学习陆续更新中,你有更好的记忆和学习方法,请在评论区提出来大家一起交流,认真看完,一行行代码备注看完看懂,保证学会,学不会找我. 前言: 代码学完发现很简单,很多初学者搞不明白什么 ...

  4. 【Java】【基础知识】【Java的基本使用】

    [Java][基础知识][Java的基本使用] 基于jdk8 仅个人理解,或有疏漏 基于 java疯狂讲义 第三版和第四版 java核心技术卷一 第十版和第十一版 廖雪峰java课程 一.基本数据与结 ...

  5. java项目实战应用知识概括

    java项目实战应用知识概括 Jasypt 加密 ICU4J Idea插件 BI商业智能 Google验证码Kaptcha 数据脱敏 QRCode二维码 邮件发送与接收 富文本与Markdown Ja ...

  6. java 网络爬虫 正则表达式_【干货】Java网络爬虫基础知识

    原标题:[干货]Java网络爬虫基础知识 引言 Java 网络爬虫具有很好的扩展性可伸缩性,其是目前搜索引擎开发的重要组成部分.例如,著名的网络爬虫工具 Nutch 便是采用 Java 开发,该工具以 ...

  7. 第76节:Java中的基础知识

    第76节:Java中的基础知识 设置环境,安装操作系统,安装备份,就是镜像,jdk配置环境,eclipse下载解压即可使用,下载tomcat 折佣动态代理解决网站的字符集编码问题 使用request. ...

  8. Java核心技术卷一基础知识第10版demo实例

    Java核心技术卷一基础知识第10版demo实例 第三章 JAVA的基本程序设计结构 3.7输入与输出 3.7.1读取输入 3.8控制流程 3.8.3循环 3.10数组 3.10.6多维数组 第四章 ...

  9. java的一些基础知识(引用BlogJava 落花飞雪)

     java的一些基础知识(引用BlogJava 落花飞雪) <Practical Java>笔记 1. 声明是什么? String s = "Hello world!" ...

最新文章

  1. access数据类型百度百科_Access数据库属于什么数据库。
  2. Linux系统下使用桥接模式,无法ping通外网解决问题方案!
  3. python介绍和用途-Python对象与引用的介绍
  4. 我是如何走上前端开发这条路 并常年保持一线竞争力的
  5. 基于启英泰伦语音芯片的语音AIoT应用方案,可实现家居联控
  6. 一刀工具箱 - URL链接编码解码工具
  7. Java/Spring/SpringBoot利用itextpdf将JPG/PNG/TIF等输出为PDF(解决TIF多页合并问题)
  8. Win10 提示账户名与安全标识间无任何映射完成
  9. matlab coder分析
  10. Qt打包程序报错“应用程序无法正常启动(0xc000007b)”
  11. 杭州电子科技大学acm--2018
  12. Cloudera Manager API使用(附代码)
  13. python切片原理_彻底理解Python list切片原理
  14. 2021 ICPC Jinan C Optimal Strategy
  15. 学习 lt MATLAB gt 心得,matlab和lingo加mathmatica学习心得
  16. java 异常提示_Java显示异常信息与异常分类
  17. 禁止html5手机端双击页面放大的问题,主要针对苹果手机
  18. uni-app学习(九):computed
  19. mac 壁纸 android,可以用于任何设备的Android 12壁纸现在已可下载
  20. 对化石用计算机模拟修补,浅谈化石的修复和清理(下)

热门文章

  1. STM32命名规范(以STM32F103C8T6为例)
  2. 【STM32学习】(26)STM32实现舵机旋转并实现超声波检测
  3. Vue 开发环境搭建(Mac 版)
  4. python的快捷键查看函数用法_python快捷键与命令函数
  5. Java基础知识之封装+继承+多态详解
  6. 视觉系统(CCD)光轴校正-项目实践
  7. 地下水位监测仪 原理
  8. 苏格拉底让弟子拾麦穗的故事
  9. 142_git的一个比较详细的教程
  10. 旋转机械 | 基于ANSYS WB平台的滑动轴承分析工具(一)