进阶复习第三篇

第九章

捕捉异常
语法
try{
  代码块1
}catch(异常类型 异常名){
  处理异常
}
finally{
  代码块2
}
try:尝试的意思
catch:抓的意思
finally:最终的 。用途:不管上面代码有没有异常,都会执行finally的代码块
先捕捉异常,再处理异常,处理完后执行finally语句

自定义异常

自定义异常的四步骤:
1.创建自定义异常类,方法:创建一个类继承Exception类
2.在方法中通过throw关键字抛出异常对象
3.如果在当前抛出异常的方法中处理异常,可以使用 try-catch 语句块捕获异常并处理,否则在方法的声明处通过throws 关键字指明要抛出给方法调用者的异常,继续进行下一步操作
4.在出现异常的方法的调用者中捕获并处理异常
语法:
class 异常类名 extends Exception{
public 异常名(String 参数名){
super(参数名)
}
}
参数就是自定义的异常
参数名随便定义,但注意得是String类型的
自己定义的异常得在其他类里创造异常条件才可抓捕处理
创造的条件需要使用throw关键字抛出异常
一般用判断条件来创造异常,所以throw关键字用在判断条件后面
语法:
throw new 异常名(“异常内容”)
自定义的异常需要层层抛出
所以在方法后面还得使用throws关键字,不过得是复数,因为异常不可能只有一个
throw:丢的意思
常见异常

第十章 

char类型变量
char类型一般使用在单字符的情况
char类型用''
语法:char a = '你';

String类型变量
String类型一般用在多个字符中,俗称字符串
String类型用""
语法:String a = "你好";

在Java中,用双引号""包围起来的都是字符串类型,不能作为其他数据类型来使
声明的字符串变量必须经过初始化才能使用,否则编译器会报出“变量未初始化错误”

字符串声明方法
第一种:直接用“=”赋值
String a = "你好" 等同于 String st = String("你好");
第二种:传入字符类型数组
char a [] = {'g' , 'o' , 'o' , 'd'};
String s = String(a); 等同于   String s = new String("good");

char a [] = {'g' , 'o' , 'o' , 'd'};
String s = new String(a ,2 ,3); 等同于   String s = String("od");
该方法是提取字符数组a中的一部分字符创建字符串对象,第一个数字代表数组前索引,开始提取数组字符的位置。第二个数字代表提取数组字符的长度

以上方法的底层逻辑都是创建String类型对象,再调用String类型的构造方法

连接字符串

连接字符串用加号“+”
字符串不仅可以跟字符串相连接,还可以跟其他类型连接
字符串可以在输出语句外面相连接,也可以在输出语句里面相连接

获取字符串信息

获取字符串长度
字符串变量名.length();
语法:变量类型  变量名  =  字符串名.length();

获取字符串里第一次出现该元素的位置
字符串变量名.indexOf("要查找的元素");
语法:变量类型  变量名  =  字符串名.indexOf("要查找的元素");

获取字符串里最后一次出现该元素的位置
字符串变量名.lastindexOf("要查找的元素");
语法:变量类型  变量名  =  字符串名.lastindexOf("要查找的元素");

获取指定索引号的字符
字符串变量名.charAt(索引值);
语法:变量类型  变量名  =  字符串名.charAt(索引值);

获取子字符串
字符串名.ssubstring(前索引,后索引);前含后不含
前含后不含:意思是,开始包括前索引,结束不包括后索引。等于后索引-1

去除首尾空格
字符串名.trim();
用替换的方法去除空格
字符串名.replace(" " , "");

字符串的替换
字符串名.replace("被替换的字符" , "需要替换的字符");

判断字符串的开头
字符串名.startsWith("被判断的元素");
判断需要用布尔类型变量,所以语法:
boolean 变量名 = 字符串名.startsWith("被判断的元素");
判断字符串的结尾
字符串名.endsWith("被判断的元素");

判断字符串是否相等
第一种
字符串名.equals("被判断的字符串");
第二种
equalslgnoreCase()
忽略大小写情况去比较两个字符串是否相等
字符串名.equalslgnoreCase("被判断的字符串")

按照Unicode值去比较两个字符串的顺序
字符串名.compareTo(要比较的字符串);

字符串字母大小写转换
小写转换  字符串名.toLowerCase();
大写转换  字符串名.toUpperCase();

字符串的分割
字符串名.split("\\.");

第二种分割,分割的段数
后面的2决定分割的段数
字符串名.split("\\." , 2);

         格式化字符串
String 被格式化的字符串名 = String.format(格式 , 字符串名);

append()方法
用于向字符串生成器中追加内容
语法:
字符串名.append(追加的内容)

insert()方法
输出时要调用toString方法
向字符串生成器中的指定位置插入数据内容
语法:
字符串名.insert(指定位置,内容)

delete()方法
用索引表示位置删除某些字符
语法:
字符串名.delete(开始的索引值,结束的索引值)前含后不含

第十一章

包装类
主要将基本数据类型封装在包装类中
包装类包含
Integer类、Byte类、Short类、Ling类、Float类、Double类、Character类、Boolean类
Number类是它们的父类

intValue()方法:返回int类型的值,不四舍五入,直接去小数点


数字处理
数字格式化
对象名.applyLocalizedPattern("###,###,###");//调用方法传入指定格式
String 变量名 = 对象名.format(12345678);//传入参数用String类型存储
对象名.setGroupingSize(3);//调用方法设定组数
对象名.setGroupingUsed(true);//setGroupingSize()方法使用开关
Math.toRadians()//角度转弧度,括号里传入参数
Math.tan()//求正切
Math.cbrt()//求平方根
Math.pow( , )//求某个数的几次方
Math.sin()//求正弦
Math.cos()//求余弦
Math.asin()//求反正弦
Math.acos()//求反余弦
Math.atan()//求反正切
Math.toDegrees()//弧度转角度
Math.exp(2)//求某个数的2次方,可自定义参数
Math.log()//求自然对数,即去lan的值
Math.log10(a)//求底数为10的a的对数
Math.sqrt()//求正整数的平方根
Math.ceil()//向上取整
Math.floor()//向下取整
Math.round()//将参数加上0.5取整数,然后强制转换成长整型
Math.rint()//求参数最接近的偶数
Math.max(a,b)//比较求最大值
Math.min(a,b);//比较求最小值
Math.abs(a);//求绝对值
对象名.nextInt()//取随机数,参数可自定义
对象名.nextDouble()//取随机小数,参数自定义
BigInteger类,int类型的包装类 ,不能存小数,只存整数
语法:BigInteger 对象名 = new BigInteger("999999999999999999999");//创建对象,传入参数
BigDecimal类,小数的包装类,只能存小数
语法:BigDecimal bb1 = new BigDecimal(1234567.123456);//创建对象,传入参数
对象名.multiply(对象名);//乘法
对象名.add(对象名)//加法
对象名.subtract(对象名)//减法
对象名.divide(对象名)//除法
对象名.remainder(对象名)//取余       BigDecimal类不可用


时间日期类   Date类
创建时间类对象表示当前时间
语法:Date 对象名 = new Date()
创建时间类对象,填入毫秒数,表示指定时间    注意:毫秒数后面要加入大写L
语法:Date 对象名 = new Date(123456789785L);
Date类提供的方法
d1.after(d2);判断d1时间段是否在d2时间段的前面
d1.before(d2);判断d1时间段是否在d2时间段的后面
对象名.getTime();获得1970年到现在所有的毫秒数
对象名.setTime(987785462545678L);设置指定时间毫秒数

日期时间格式化     DateFormat类        不能new对象,需要接入导包使用
日期格式化
语法:DateFormat 对象名 = DateFormat.getDateInstance();
时间格式化
DateFormat 对象名 = DateFormat.getTimeInstance();
日期时间格式化
DateFormat 对象名 = DateFormat.getInstance();

DateFormat的子类:SimpleDateFormat类
语法:SimpleDateFormat 对象名 = new SimpleDateFormat("格式 ");
System.out.println(对象名.format(时间毫秒数));

format();方法
任何格式化都需要用到

System类
控制台输出和计时操作
System.currentTimeMillis();记录以毫秒为单位的当前时间
最常用的记录时间方法,该方法可以获取1970年1月1日零点至今的毫秒数,
System.getenv(String name)获取指定环境变量值
System.getPropertise()确定当前系统属性
System.getProperty(String key)获取指定键盘描述的系统属性
System.setIn(InputStream in)重新分配”标准“输入流


Scanner类
要想使用就得引入该类
语法:import.java.util.Scanner
sc.nextInt(),int类型,获取一个int类型的值
sc.nextLine(),String类型,获取一个String类型的值
sc.nextShort(),short类型,获取一个short类型的值
sc.nextFloat(),float类型,获取一个float类型的值
sc.nextBtye(),byte类型,获取一个byte类型的值
sc.nextBoolean(),布尔类型,获取一个布尔类型的值
sc.close(),关闭扫描器
Scanner类扫描控制台语法:Scanner sc = new Scanner(System.in)
System.in表示控制台输入流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值