**********************************************************************
异常处理 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相关推荐

  1. 【五级流水线CPU】—— 8. 测试结果

    使用冒泡排序进行测试: .org 0x0 .global _start .set noat _start:ori $t1,$zero,0x0010 # 起始地址为16 aori $6,$0,0x005 ...

  2. 小数化分数c++(附做法数学证明)

    小数化分数 时间限制(普通/Java):1000MS/10000MS 内存限制:65536KByte 描述 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想 ...

  3. 条件随机场(CRF)详解

    文章目录 形式与定义 什么是条件随机场 简化形式 矩阵形式 学习算法 概率计算 前向后向概率概述 前向后向概率计算 期望计算 预测算法-维特比算法 维特比算法流程 维特比算法实例 LR & C ...

  4. 计算机操作系统教学知识点,计算机操作系统部分知识点总结2

    信号量解决进程同步问题 1.前趋图 前趋图是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系. 图中的每个结点可用于描述一个程序段或进程,乃 ...

  5. Java基础day14

    Java基础day14 Java基础day14-集合 1.Collection集合 1.1集合体系结构 1.2Collection集合概述和基本使用 1.3Collection集合的常用方法 1.4C ...

  6. 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 注释 ...

  7. JavaSE Day14 异常 泛型

    文章目录 Lambda表达式调用Arrays类中的方法 parallelSetAll() parallelPrefix() Stream() Lambda练习 异常处理 异常的分类 Error 异常 ...

  8. Java 学习 Day14

    Java 学习 Day14 一. abstract关键字的使用 abstract:抽象的 abstract 可以用来修饰的结构:类.方法 abstract 修饰类:抽象类 (1)此类不能实例化 (2) ...

  9. short s1 = 1; s1 = s1 + 1;有错而short s1 = 1; s1 += 1正确

    这个问题以前碰到过,也研究过,发表一下:     如果你认为表达式(x += i)只是表达式(x = x + i)的简写方式,这并不准确.这两个表达式都被称为赋值表达式.第二个表达式使用的是简单赋值操 ...

最新文章

  1. 机器学习(MACHINE LEARNING)MATLAB求解状态转移矩阵
  2. Deepin 15.7安装教程
  3. 掌握Java编码规范
  4. 交公粮了,我经常逛的技术网站,你最爱哪个?
  5. 使用AndroidStudio时 R标红的一些问题总结
  6. Android Activity概述
  7. 大数据——Spark GraphX介绍
  8. Adams安装出错的一种情况
  9. 软件体系结构测试定义,软件体系结构-中国大学mooc-题库零氪
  10. MySQL Clone插件
  11. [阅读笔记]专访刘毅:阿里巴巴云计算平台运维故障分析与排查
  12. java进销存--商品管理
  13. 20172301 2017-2018-2 《程序设计与数据结构》第八周学习总结
  14. 2019第一季度工作总结
  15. Codeforces Round #469 (Div. 2) C、 Zebras
  16. nginx本地代理调试微信登录(window版本)
  17. MAC下微信双开(一键命令)
  18. threejs正方体六面贴图
  19. 深度学习为图片人物换装【python代码教程】 1
  20. dedecms 织梦配置 手机 wap 站点,并绑定二级域名

热门文章

  1. 重学前端第一阶段完 钢琴项目(document.querySelector js改变css样式的3种方式 思路 成品)
  2. 【Linux】权限管理
  3. db2 修改表空间自增长_db2 创建表空间、增大表空间以及增加临时表空间
  4. linux清空日志到黑洞,Linux中的黑洞(black hole)-/dev/null
  5. Numpy和Pandas的使用入门
  6. Kubernetes权威指南
  7. 呼叫中心系统运营如何制定KPI指标
  8. 搭建zerotier moon中转服务器实现虚拟局域网稳定快速互访
  9. 手机联系人头像包_动漫壁纸 | 星游记动漫手机全面屏壁纸
  10. TCP协议的KeepAlive机制与HeartBeat心跳包