1.自定义异常

自定义异常必须继承Exception类或者其子类。

2.字符串

String对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的对象。

多次创建的字符常量,Java编译程序只创建一个。

使用==比较两个字符串,是比较其内存地址。

使用equals().方法比较两个字符串,只是比较其内容。

String类的常用方法:

charAt(i)   字符串中的第i个字符

3.StringBuilder类

需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。

当频繁操作字符串时,就会额外产生很多临时变量。使用 StringBuilder 或 StringBuffer 就可以避免这个问题。至于 StringBuilder 和StringBuffer ,它们基本相似,不同之处,StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。

StringBuilder类常用方法:

4.包装类

为了让基本数据类型也具备对象的特性, Java 为每个基本数据类型都提供了一个包装类,这样我们就可以像操作对象那样来操作基本数据类型。

基本类型和包装类之间的对应关系:

以Integer为例,包装类的常用方法:

 5.基本类型和字符串之间的转换

将基本类型转换为字符串:
①使用包装类的toString()方法;

②使用String类的valueOf()方法;

③用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串。

示例:

int c = 10;

String str1 = Integer.toString(c);

String str2 = String.valueOf(c);

String str3 = c + "";

将字符串转换为基本类型:

①调用包装类的parseXxx静态方法;

②调用包装类的valueOf()方法转换为基本类型的包装类,会自动拆箱。

示例:
String str = "8";

int d = Integer.parseInt(str);

int e = Integer.valueOf(str);

6.Date类

在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类。这个类最主要的作用就是获取当前时间。

①使用format()方法将日期转换为指定格式的文本

示例:

Date d = new Date();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd  HH:mm:ss");

String today = sdf.format(d);

②使用parse()方法将文本转换为日期

String day =  "2014年02月14日 10:30:25";

SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss);

Date date = df.parse(day);

7. Calendar类

Date 类最主要的作用就是获得当前时间,同时这个类里面也具有设置时间以及一些其他的功能,但是由于本身设计的问题,这些方法却遭到众多批评,不建议使用,更推荐使用 Calendar 类进行时间和日期的处理。

java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个 Calendar 对象。

Calendar c = Calendar.Instance();            //创建Calendar对象

int year = c.get(Calendar.YEAR);

int month = c.get(Calendar.MONTH)+1;    //获取月份,0表示1月份

int day = c.get(Calendar.DAY_OF_MONTH);

int hour = c.get(Calendar.HOUR_OF_DAY);

int minute = c.get(Calendar.MINUTE);

int second = c.get(Calendar.SECOND);

System.out.println("当前时间:"+year+"-"+month+"-"+day+"  "+hour+":"+minute+":"+second);

Calendar 类提供了 getTime() 方法,用来获取 Date 对象,完成 Calendar 和 Date 的转换,还可通过 getTimeInMillis() 方法,获取此 Calendar 的时间值,以毫秒为单位。

Date date = c.getTime();

Long time = c.getTimeInMillis();

8.Math类

Math 类位于 java.lang 包中,包含用于执行基本数学运算的方法, Math 类的所有方法都是静态方法,所以使用该类中的方法时,可以直接使用类名.方法名,如: Math.round();

Math类常用方法:

示例:

innt y = (int) (Math.random()*99);     //产生[0,99)之间的随机整数

9.集合框架

泛型

集合中的元素,可以是任意类型的对象(对象的引用)。如果把某个对象放入集合,则会忽略它的类型,而把它当做Object处理。

泛型则是规定了某个集合只可以存放特定类型的对象。会在编译期间进行类型检查,可以直接按指定类型获取集合元素。

①泛型集合中,不能添加泛型规定的类型以及其子类型以外的对象,否则会报错。

②泛型集合中的限定类型不能使用基本数据类型,可以通过使用包装类限定允许存入的基本数据类型。

10.Set

Set是元素无序且不可重复的集合,被称为集。

Set中不提供set(),get()等方法,因为它是无序的,没办法进行这些操作。

Set中的遍历只可以用foreach、iterator方法,不可以用get()方法。

慕课笔记-Java入门第三季的更多相关文章

  1. 慕课笔记-Java入门第二季

    1.java对象的使用 (1)创建对象 类名 对象名=new 类名(); (2)使用对象 引用对象的属性:对象名.属性; 引用对象的方法:对象名.方法(); Note: ①Java会给成员变量赋初始值 ...

  2. 慕课笔记-Java入门第一季

    [初步复习Java编程基础,记录知识盲点和遗漏点] 1.switch语法 switch(表达式){ case 值1: 执行代码块1; break; case 值2: 执行代码块12; break; c ...

  3. java入门 第三季4

    java集合框架中 java集合框架下

  4. 慕课网-Java入门第一季-7-4 编程练习

    来源:http://www.imooc.com/code/1634 小伙伴们,请根据所学知识,参考注释,在代码编辑器中将代码补充完整.编写一个 Java 程序,实现输出学生年龄的最大值 要求: 1. ...

  5. 慕课网-Java入门第一季-7-3 Java 中无参带返回值方法的使用

    来源:http://www.imooc.com/code/1579 如果方法不包含参数,但有返回值,我们称为无参带返回值的方法. 例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值 ...

  6. 慕课网-Java入门第一季-7-2 Java 中无参无返回值方法的使用

    来源:http://www.imooc.com/code/1578 如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法. 方法的使用分两步: 第一步,定义方法 例如:下面代码定义了一个方法名 ...

  7. 慕课网-Java入门第一季-6-8 使用 foreach 操作数组

    来源:http://www.imooc.com/code/1864 foreach 并不是 Java 中的关键字,是 for 语句的特殊简化版本,在遍历数组.集合时, foreach 更简单便捷.从英 ...

  8. 慕课网-Java入门第一季-6-7 使用 Arrays 类操作 Java 中的数组

    来源:http://www.imooc.com/code/1556 Arrays 类是 Java 中提供的一个工具类,在 java.util 包中.该类中包含了一些方法用来直接操作数组,比如可直接实现 ...

  9. java入门 第三季2

    java中的字符串 java中的常用类

随机推荐

  1. java CyclicBarrier和wait/notifyAll

    1 CyclicBarrier 多个进程做自己的事情,然后先做完的就等待在CyclicBarrier上,然后最后一个做完的线程到来时会冲破CyclicBarrier,然后执行CyclicBarrier ...

  2. Flow 的工作方式 类型检查

    Vue.js 技术揭秘 | Vue.js 技术揭秘 https://ustbhuangyi.github.io/vue-analysis/ Vue技术内幕 http://hcysun.me/vue-d ...

  3. HZNU 与班尼特·胡迪一起攻破浮空城 【DP】

    题目链接 http://acm.hznu.edu.cn/OJ/problem.php?id=2264 思路 从终点往起点走 然后每次更新状态 因为要满足 最短路线 所以其实 只能是 往左走,往下走 或 ...

  4. ICE学习笔记 -- RFC 5245

    RFC 5245 ICE   1, offer/answer model 2, ICE Step:    1) 产生候选地址(1.公网 2.NAT反射 3.Relay转发地址) Generate ca ...

  5. 【React系列】Props 验证

    Props 验证使用 propTypes,它可以保证我们的应用组件被正确使用,React.PropTypes 提供很多验证器 (validator) 来验证传入数据是否有效.当向 props 传入无效 ...

  6. Python序列——Unicode

    Unicode是什么 Python中的Unicode 编码与解码 在应用中使用Unicode的建议 1. Unicode是什么 Unicode是对字符进行编码的一种标准.而utf8或者utf-8是根据 ...

  7. 数据结构之 字符串---字符串匹配(kmp算法)

    串结构练习——字符串匹配 Time Limit: 1000MS Memory limit: 65536K 题目描述   给定两个字符串string1和string2,判断string2是否为strin ...

  8. HDU3605 Escape —— 二分图多重匹配

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3605 Escape Time Limit: 4000/2000 MS (Java/Others)    ...

  9. Codeforces Round #374 (Div. 2) A. One-dimensional Japanese Crossword —— 基础题

    题目链接:http://codeforces.com/contest/721/problem/A A. One-dimensional Japanese Crossword time limit pe ...

  10. IPFS - 可快速索引的版本化的点对点文件系统(草稿3)

    摘要 星际文件系统是一种点对点的分布式文件系统, 旨在连接所有有相同的文件系统的计算机设备.在某些方面, IPFS类似于web, 但web 是中心化的,而IPFS是一个单一的Bittorrent 群集 ...