T5 s1 day14
**********************************************************************
异常处理 Java工具类
**********************************************************************
Java集合框架
文件流 IO
多线程
回顾:
try{
}finally{
}
public int test(){
try{
//
//
return 1;
}catch(Exception ex){
}finally{
//能否被执行
//执行完finally后,再去执行try中的return
}
}
异常处理用途:
1、保证程序的正常运行
2、辅助来调试程序
try-catch-finally java中最常用的异常处理方法
throw throws 抛出异常
当不符合程序的业务需求时(但是是符合Java的语法的),自己产生一个异常
业务:功能要怎么做,做成什么样的
throw 声明一个异常
对异常的两种处理方式
1、捕获、处理 try-catch
2、thorws 继续向外, 不要抛给JVM
扩展:自定义异常类
PayException 自定义的异常,一定要自己抛出
调试程序:debug
错误:语法性质的 红色波浪线
对于错误,必须修正,否则无法编译、运行
bug:缺陷,不是错误,是因为设计不全面带来的漏洞
需要调试程序来发现bug
1、设置断点
断点:程序执行到断点的位置会中断运行
双击 设置或取消断点(有效代码行:注释、{}等无效)
2、程序需要调试运行 debug as
2.1绿色背景:代表程序当前所执行的行
2.2 上方右侧 变量区 Varlables
中间左侧 代码执行区
下方 运行结果
3、F5、F6 每按一次,代码向下执行一行
F6:如果执行的代码是调用方法的代码,不会进入到方法的内部
F5:如果执行的代码是调用方法的代码,会进入到方法内部
F5注意:可以进入自己编写的方法内部
Java中的系统类:
Java中分两个大的数据类型种类:
1)基本数据类型:8个
2)引用数据类型:无数个
在Java中所有的类都是数据类型例如:String Scanner Random Demo4
2.1、系统引用类型:String Scanner Random …… 是Java已经写好的类
2.2、自定义引用类型:PG自己写的类
int[] ary=new int[2];
【说明】数组也是引用类型
基本类型和引用类型区别:
1)基本类型变量,变量对应的内存空间直接存放的就是值
int age=20;
int age2=age; 把age里的值20复制一份,存放到age2中
2)引用类型变量,变量存储的是堆空间的内存地址
PayException pe=new PayException();
pe存放的是new 分配的堆空间内存地址
PayException pe2=pe; //把pe里存放的地址复制一份,存放到pe2中
pe pe2 存放的是同一个堆空间的地址
*****
方法的参数是基本类型和引用类型的区别?
基本类型 把实参的值复制后传入形参,形参的改变不影响实参
引用类型 把实参的地址复制一份传入形参,通过形参改变地址所对应的值,通过实参查看会有变化,因为实参和形参存放的是同一个堆空间的地址。
8种基本类型都分别对应着一个引用类型,因为Java的集合只允许存储引用类型。
int Integer
byte Byte
short Short
long Long
float Float
double Double
char Character
boolean Boolean
包装类:每个基本类型所对应的类类型称为包装类
int num=123;
在Java中,把基本类型转换为对应的引用类型,称为装箱
把引用类型转换为对应的基本类型,称为拆箱
如何装箱和拆箱?见Demo6.java
把字符串转换为int类型的方式
1、 int num1=Integer.parseInt("字符串");
2、Integer it=new Integer("字符串");
int num2=it.intValue();
3、int num6=Integer.valueOf("200");
【注意】字符串必须是数值字符串
String str="234"; 数值字符串
String str2="a23"; 非数值字符串
把int 类型 转换为字符串
int num4=123;
String str4=String.valueOf(num4);
面试题:Integer.parseInt() 和Integer.valueOf()比较哪种转换为int更好
Integer.parseInt()更好,直接转换为了int类型
Integer.valueOf(),先把字符串转换为Integer,然后Integer自动拆箱为int,多了一操作
Integer类的方法
构造方法
Integer(int i)
Ingeger(String s)
实例方法
public int intValue(){
}
静态方法
public static Integer valueOf(int i){}
public static Integer valueOf(String str){}
public static int parseInt(String){}
重点:String 和int之间相互转换的方式
String 使用频繁,Java对String的内存使用方式进行了优化,字符串的值存放在常量区域内,且不可改变。
String str="12";
String 不可变字符串
String类的常用方法
1、length() 字符串的长度
2、charAt(索引) 返回指定索引所对应的字符
3、indexOf("字符串") 参数在字符串中首次出现的位置,从0开始查找 -1没有
4、str.indexOf("好好学习", 7); 参数2是查找的起始位置
5、str2.split("分隔符"); 返回字符串型数组,参数是分隔符,作用,把字符串按分隔符分割成数组
6、str.replace("我们", "java1901全体学生"); 参数2替换掉字符串中所有的参数1
7、toCharArray() 把字符串转换成字符型数组
8、substring(参数) 从参数位置开始截取字符串,一直截取到最后
9、substring(int begin,int end)从参数begin开始截取,截取到end,但是不包含end
10、toUpperCase() 把字符串中所有小写字母转成大写
11、toLowerCase() 把字符串中所有大写字母转成小写
12、trim() 把字符串两端的空格去掉,中间的不去
13、valueOf(参数) 把参数转成字符串类型
14、concat(参数) 字符串连接
15、equals() 比较字符串的值是否相等,区分大小写
16、equalsIgnoreCase 比较字符串的值是否相等,不区分大小写
让用户输入一个电子邮箱,判断邮箱格式是否正确
邮箱中要包含@ .
String 不可变的字符串,频繁改变字符串值如果使用String,会浪费内存
可以使用StringBuffer类来替代String
StringBuffer在改变字符串值时,不抛去源空间,在原空间基础上更改
append(参数) 把参数追加在原字符串上
总结:
throw 声明一个异常
throws 抛出
自定义异常类:继承Exception
printStackTrace() 打印异常的方法的调用过程和异常原因
getMessage(); 返回字符串 异常原因
断点调试程序
两类数据类型:
基本类型:8
引用类型:无数个
方法的参数是基本类型和引用类型的区别
包装类:
装箱:基本类型 转换 引用类型
拆箱:引用类型 转换 基本类型 自动完成
字符串和int 的转换方式
字符串:存储方式
String s1="abc";
String s2="abc";
== equals 的区别
字符串的常用方法
今晚作业
1、梳理、理解技能点。
2、作业文档
3、补充:
自己编写字符串方法
3.1 输入应为单词,把首字母转成大写或小写
3.2 截取字符串public String mySubString(int begin,int count)
转载于:https://www.cnblogs.com/wxcsz/p/10672450.html
T5 s1 day14相关推荐
- 【五级流水线CPU】—— 8. 测试结果
使用冒泡排序进行测试: .org 0x0 .global _start .set noat _start:ori $t1,$zero,0x0010 # 起始地址为16 aori $6,$0,0x005 ...
- 小数化分数c++(附做法数学证明)
小数化分数 时间限制(普通/Java):1000MS/10000MS 内存限制:65536KByte 描述 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想 ...
- 条件随机场(CRF)详解
文章目录 形式与定义 什么是条件随机场 简化形式 矩阵形式 学习算法 概率计算 前向后向概率概述 前向后向概率计算 期望计算 预测算法-维特比算法 维特比算法流程 维特比算法实例 LR & C ...
- 计算机操作系统教学知识点,计算机操作系统部分知识点总结2
信号量解决进程同步问题 1.前趋图 前趋图是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系. 图中的每个结点可用于描述一个程序段或进程,乃 ...
- Java基础day14
Java基础day14 Java基础day14-集合 1.Collection集合 1.1集合体系结构 1.2Collection集合概述和基本使用 1.3Collection集合的常用方法 1.4C ...
- Java Study Notes_Design in 2023(Day01~Day14)
文章目录 Day01:Java入门 1.1 Java的技术体系 1.2 Java快速入门 1.2.1 JDK.JRE与JVM 1.2.2 JDK环境变量配置 1.3 Java基础语法 1.3.1 注释 ...
- JavaSE Day14 异常 泛型
文章目录 Lambda表达式调用Arrays类中的方法 parallelSetAll() parallelPrefix() Stream() Lambda练习 异常处理 异常的分类 Error 异常 ...
- Java 学习 Day14
Java 学习 Day14 一. abstract关键字的使用 abstract:抽象的 abstract 可以用来修饰的结构:类.方法 abstract 修饰类:抽象类 (1)此类不能实例化 (2) ...
- short s1 = 1; s1 = s1 + 1;有错而short s1 = 1; s1 += 1正确
这个问题以前碰到过,也研究过,发表一下: 如果你认为表达式(x += i)只是表达式(x = x + i)的简写方式,这并不准确.这两个表达式都被称为赋值表达式.第二个表达式使用的是简单赋值操 ...
最新文章
- 机器学习(MACHINE LEARNING)MATLAB求解状态转移矩阵
- Deepin 15.7安装教程
- 掌握Java编码规范
- 交公粮了,我经常逛的技术网站,你最爱哪个?
- 使用AndroidStudio时 R标红的一些问题总结
- Android Activity概述
- 大数据——Spark GraphX介绍
- Adams安装出错的一种情况
- 软件体系结构测试定义,软件体系结构-中国大学mooc-题库零氪
- MySQL Clone插件
- [阅读笔记]专访刘毅:阿里巴巴云计算平台运维故障分析与排查
- java进销存--商品管理
- 20172301 2017-2018-2 《程序设计与数据结构》第八周学习总结
- 2019第一季度工作总结
- Codeforces Round #469 (Div. 2) C、 Zebras
- nginx本地代理调试微信登录(window版本)
- MAC下微信双开(一键命令)
- threejs正方体六面贴图
- 深度学习为图片人物换装【python代码教程】 1
- dedecms 织梦配置 手机 wap 站点,并绑定二级域名
热门文章
- 重学前端第一阶段完 钢琴项目(document.querySelector js改变css样式的3种方式 思路 成品)
- 【Linux】权限管理
- db2 修改表空间自增长_db2 创建表空间、增大表空间以及增加临时表空间
- linux清空日志到黑洞,Linux中的黑洞(black hole)-/dev/null
- Numpy和Pandas的使用入门
- Kubernetes权威指南
- 呼叫中心系统运营如何制定KPI指标
- 搭建zerotier moon中转服务器实现虚拟局域网稳定快速互访
- 手机联系人头像包_动漫壁纸 | 星游记动漫手机全面屏壁纸
- TCP协议的KeepAlive机制与HeartBeat心跳包