JAVA基础知识总结:十三
测试
用一个字符串常量创建一个字符串对象
1.获取这个字符串的长度
2.获取任意长度的子串
3.判断这个字符串是否为空
4.将这个字符串中的小写字母转化为大写字母
5.获取某个字符在字符串中第一次出现的位置
6.判断这个字符串是否是以某个前缀开始的
7.用这个字符串创建一个StringBuffer对象
修改索引为1处的字符为‘a’
将字符串反转
在索引为3的位置插入一个字符串“hello”
一、枚举
JDK1.5之后引入的一个新的特性,存在于java.lang
表示取值范围限定的变量(四季,星期,月份)
枚举类和普通类的区别:
a.枚举类的父类java.lang.Enum,而不是Object
b。使用enum关键字(enumeration)
c.枚举类的构造器只能使用private访问权限修饰符
d.枚举类的的所有实例必须在枚举类中显式列出,系统会自动给这些实例添加修饰符public static final
e。所有的枚举类都提供了一个values方法,可以用来遍历枚举中所有的枚举值
语法
访问权限修饰符 enum 枚举名称 {
//枚举值
可能取得值1,可能取得值2,可能取得值3,....,可能取得值n;
}
注意:枚举值的命名需要全部大写,不同单词之间使用下划线分隔
二、异常
1.概念:
程序在编译运行过程中遇到的种种不正常的现象
Java通过Throwable类来描述各种不同的异常,Java中的异常都是面向对象的,所有的异常都是Throwable
的子类
2.分类
Throwable的子类:Exception Error
Error:大多数与代码编写者没有关系,表示当代码运行时,JVM出现的问题,例如:StackOverFlow(栈溢出)
Exception:程序能够捕获并且处理的异常
CheckedException:编译时异常,这种异常必须要处理,否则编译都无法通过
RuntimeException:运行时异常,编译可以通过,但是在程序运行的时候被发现
3.处理异常
处理机制:抛出异常,捕捉异常
a.捕捉异常:try catch
语法:
try{
//可能会有异常的代码
}
catch(Exception e){
//捕捉并处理try代码块中出现的异常
}
说明:关键词try后面的代码块中写可能会有异常的代码,这块区域被称为监控区域,
如果在try中检测到了异常,程序在运行的时候系统会试图匹配对应的catch代码块
如果匹配到了对应catch代码块,则运行并处理异常,结束之后整个try-catch语句结束
b.抛出异常throw throws
throw :抛出一个异常的对象,调用这个对象所在的方法的时候就会出现这种异常
throws:声明在方法定义的时候,用来表示这个方法可能会抛出的异常
补充问题:
1.多个catch
2.e1.printStackTrace();
//返回异常的消息信息
System.out.println(e1.getMessage());//String
3.如果在try中出现多个异常的时候,只处理位于最前面的异常,但是后面的异常不会对程序产生影响
4、自定义异常
在实际项目开发中,如果系统提供的异常不能够满足实际的需求的话,就需要自定义异常
实现方式:
编译时异常:继承自Exception类,
运行时异常:继承自RuntimeException
三、集合
1.概念
数组:用来存储相兼容数据类型的定长的容器(基本数据类型和引用数据类型)
集合:存储引用数据类型的变长的容器(引用数据类型)
JAVA基础知识总结:十三的更多相关文章
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- java基础知识小总结【转】
java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...
- Java基础知识系列——String
最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...
- 学习android学习必备的java基础知识--四大内部类
学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...
- JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)
本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...
- java基础知识梳理
java基础知识梳理 1 基本数据类型
- java基础知识回顾之---java String final类普通方法
辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /* * 按照面向对象的思想对字符串进行功能分类. * ...
- Java 基础知识(一)
Java基础知识篇: 一.关键字解释 1. final:修饰非抽象类,非抽象方法和属性, 以及修饰方法参数,代表“无法改变的”.出于对设计或者效率的考虑使用该关键字. final类无法被继承,fina ...
- java 基础知识三 java变量
java 基础知识 三 变量 1.作用域 {} 包围起来的代码 称之为代码块,在块中声明的变量只能在块中使用 2.常量 就是固定不变的量,一旦被定义,它的值就不能再被改变. 3.变量 变量必须在程序 ...
- java 基础知识二 基本类型与运算符
java 基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...
随机推荐
- Nginx 容器教程
春节前,我看到 Nginx 加入了 HTTP/2 的 server push 功能,就很想试一下. 正好这些天,我在学习 Docker,就想到可以用 Nginx 容器.万一哪里改乱了,直接删掉,再重启 ...
- Redis热点Key发现及常见解决方案!
一.热点Key问题产生的原因 1.用户消费的数据远大于生产的数据(热卖商品.热点新闻.热点评论.明星直播). 在日常工作生活中一些突发的的事件,例如:双十一期间某些热门商品的降价促销,当这其中的某一件 ...
- 04: vue生命周期和实例属性和方法
1.4 组件的生命周期 1.说明 1. Vue将组件看成是一个有生命的个体,跟人一样,定义了各个阶段, 2. 组件的生命周期:组件的创建过程 3. 组件生命周期钩子函数:当组件处在某个阶段,要执行某个 ...
- Linux普通用户使用sudo免输密码(Debian/Redhat通用)
今天使用的Debian,由于使用的是普通用户,而使用的sudo都需要输入密码的繁琐操作, 下面是使用sudo时免输入密码. 需要管理员权限进行以下操作. 修改sudoers vim /etc/sudo ...
- 用C++调用tensorflow在python下训练好的模型(centos7)
本文主要参考博客https://blog.csdn.net/luoyexuge/article/details/80399265 [1] bazel安装参考:https://blog.csdn.net ...
- ajax,分页器
一.ajax请求数据 ''' $.ajax({ url: '/ajax/', # 请求路径 type: 'post', # 请求方式 data: { # get和post都以data字典方式携带数据 ...
- Vistual Studio Code配置
目录 查看版本,帮助: 修改vscode的扩展目录: 用户和工作区设置 用户设置的文件保存在如下目录: 所以有三种方式更改默认的设置: vscode同步配置: vscode启动launch.json配 ...
- iis6-0 cve-2017-7269 批量验证脚本
代码地址 import subprocess f = open('ips.txt', 'r') flines = f.readlines() vulnsrvs = 0 i = 1 for line i ...
- 【server.properties】kafka服务设置
每个kafka broker中配置文件server.properties默认必须配置的属性如下: broker.id=0 num.network.threads=2 num.io.threads=8 ...
- AT2442 フェーン現象 (Foehn Phenomena)
题目地址 原题地址 题解 其实就是一个区间加,单点查询的问题 当然可以线段树/树状数组做,但是这两个做法要分类讨论所以代码会比较多 我们考虑一种更简便的做法 差分! 因为温度只和海拔差有关,这相当于题 ...