赞
踩
此篇文章参考于博主袁袁袁袁满关与Java核心类库之(常用API、字符串类、集合类、泛型)的文章。所有代码截图皆由个人编写。此文章仅仅用于交流学习
1 API的基本概念
ps:我的个人理解是Sun Microsystems公司已经把程序员平时最常使用的功能,例如数组排序,数学基本运算,网络爬虫等等提前写好,这样普通用户就可以直接拿来使用而减少了编写重复工具类的时间,很大概率提高了程序工程师的工作效率。
ps:我这边建议使用idea编译器进行程序的编写,目前社区版是免费的。我认为idea具有强大的整合能力:比如Git、Maven、Spring等支持,提示功能的快速、便捷,提示功能的范围比较广,好用的快捷键和代码模板,精准搜索等等,可以在原来的基础上更大幅度提高程序员的编程效率,也更容易找到bug。本文所有的程序代码皆由idea编译器实现(由于idea是自动导包的,所以本文暂不介绍导包内容)。
1.1 Math类(有关数学计算)
接下来我将用代码形式逐一调用这些方法并实现其功能。
ps:通过图片我们可以非常清楚的看到当我们键入Math类时强大的idea立即就在后面显示了Math中所创建的方法。
ps:我认为Math中的random非常适合用于一些随机概率功能的实现,如抽奖等功能。而其他方法主要用于编程当中遇到的数学计算问题。当然这些方法都不需要去死记硬背,都是背不下来的,只要记住类的名称然后通过API文档查询,熟能生巧。
2.1 System类(有关系统)
ps:这个是System中的exit方法,可以看到本来应该打印一个"mjk是大帅哥",而现在只打印了一个"mjk是 ",这就是因为exit方法中止了JVM虚拟机,导致后面一句没有打印出来。
ps:这个方法所输出的时间是一个long类型的数,他输出的数字由c语言的生日和现在的时间的差值,所以下面要通过减去共同的数字从而到达计算程序运行时间的目的。这个方法有助于程序员优化自己的程序结构,尽量用最短的耗时去实现相同的功能,从而达到系统优化的目的。
3.1 Arrays(用于数组的各种操作)
ps:使用Arrays中的sort方法可以实现数组的从小到大,从大到小排序,默认是从小到大,从大到小需要重写compare方法(o1 - o2就是从小到大排序, o2 - o1就是从大到小排序。)打印数组的方法名是Tostring。
4.1 Date类(有关时期类)
ps:创建对象的名字一般由类名的每个英文单词的首字母组成。
ps:c语言的生日是1970年1月1日00:00:00。
4.2 SimpleDateFormat类(日期格式化及解析)
ps:直接调用parse方法代码会报错,需要在主方法中添加接口ParseExeption。这个类非常适合用来进行秒杀等活动日期时间等数据的计算及判定。
4.3Calendar类(代表系统此刻日期对于的日历对象)
ps:要注意Calendar是一个抽象类,不可以直接创建新的对象。
5.1 String类(字符串对象)
ps:当进行用户登录时可以利用equals方法判断用户输入的数据与系统中存储的正确数据是否一致,一致则登录成功。键盘输入的类是Scanner。
5.2 StringBuilder(可变字符串)
public StringBuilder() 创建一个空白字符串对象
public StringBuilder() 创建一个有内容的字符串对象
ps:将字符串对象反转,添加元素之后依然是一个对象而不是一个字符串,需要利用其它方法将StringBuilder的对象转回字符串,下面就会说到。
5.3 StringBuilder 与 String 的互相转换
这里将StringBuilder的对象暂时设为sb,则sb这个对要转换为字符串的操作就是sb.toString。
将字符串转换成StringBuilder对象前面已经有说过,直接在创建对象时通过有参构造直接导入字符串。
6 五种常用的集合
集合类名<引用数据类型> 集合名(自己取的名字) = new 集合类名<>();
以ArrayList为例子:ArrayList<Integer> = new ArrayList<>();
6.1 ArrayList(最常用的集合类)
6.2 LinkedList
ps:LinkedList跟ArrayList的构造方法相同与常用方法也大致相同,不过LinkedList有特殊的增删查改第一个元素和最后一个元素的独有方法,因为其底层原理是链表所以需要一个个的查询,查询慢增删快。
6.3 Vector
7 Set集合
7.1 HashSet
特点:添加的元素是无序的,不重复的,无索引的。
注意:用到HashSet这个集合必须在对象中重写toString()方发和equals()方法,因为集合底层是哈希表,不重写的话会报错。因为HashSet是无索引的,所以是不能通过索引进行增删查改的,也不可以用普通for循环进行遍历,需要使用加强for循环或者迭代器listterator中的hasNext()和next()方法。
下面是利用迭代器与加强for循环HashSet的代码实现,其他所有集合同样也可以使用这些方法进行遍历。
ps:在创建集合时只可以用对象作为引用数据类型。我这下面的代码用例中先创建了一个Student类然后生成一个最基本的javabean,再在当中重写HashSet当中需要的equals()方法及toStirng方法,在测试类中引用数据类型中就是用的Student。
ps:在Student类中重写的haseCode()及equals()方法。
ps:增强for循环及使用迭代器遍历集合。
ps:LinkedHashSet集合与HashSet集合非常相似,只不过LinkedHashSet是有序的,而HashSet是无序的,LinkedHashSet的底层原理是哈希表加链表。
ps:TreeSet涉及红黑树相关知识,这边仅仅进行代码展示,读者自行理解
8.1 Runtime类(表示虚拟机的运行环境)
Runtime r = Runtime.getRuntime();
ps:要在主方法后加上throws IOException。
对象名.exec("shutdow -s -t ");
ps:这个是关机指令,exec的括号里面填的是command(命令) -s 1分钟之内关机 -s - t指定时间 取消关机指令。(快用这个方法让你的好基友的电脑关闭吧!ps:-a是取消关机)
9.1 JFrame类(初始化界面)
9.2 JMenu类(按钮)
9.3 JDialog类(弹窗)
9.4 MouseListener(鼠标监听)
9.5 Jpanel(画笔工具)
emm这五个现在先晾在这里以后再来补充
大概给个实际效果参考一下
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。