更新时间:2019年07月26日 10时49分00秒 来源:黑马程序员论坛
1,Math 应用场景: 只要是数学运算就可以使用到这个类。 特点: 所有的方法都是静态的,需要用类名点去调用。 需要掌握的: Math.PI;//圆周率 返回值 = Math.abs(数值); //取绝对值 double cbrt = Math.cbrt(8); //开三次方。得到立方根 double sqrt = Math.sqrt(4); //开平方根。 ceil(double a) //向上取整 --- 进一法 floor(double a) //向下取整 --- 去尾法 pow(double a, double b) //返回 a的b次方 //求圆的面积: Math.PI * Math.pow(r,2); ,2.System类 掌握: System.exit(0); //停止虚拟机。 System.currentTimeMillis(); //返回当前时间的毫秒值。 什么是毫秒? 1秒 = 1000 毫秒 //因为window系统只能精确到毫秒。 计算机中的时间原点: 1970年1月1日 00:00:00 但是我天朝大国是在东八区。所以有时差。 针对于我天朝大国来讲,时间原点 1970年1月1日 08:00:00 //所以,这个System.currentTimeMillis()返回是从时间原点开始到现在的这个时间过了多少毫秒。返回值是一个long类型的。 了解: arraycopy(Object src, int srcPos, Object dest, int destPos, int length) //用来进行数组的拷贝。 //后面会讲一些源码,在源码中,有的就使用到了这个方法。 案例: // arraycopy(Object src, int srcPos, Object dest, int destPos, int length) //src 源数组 //srcPos 从源数组的第几个索引开始拷贝 //dest 拷贝目的地 //destPos 拷贝到哪个索引开始 //length 拷贝几个 int [] arr1 = {1,2,3,4,5}; int [] arr2 = new int[5]; System.arraycopy(arr1,0,arr2,0,arr1.length); for (int i = 0; i < arr2.length; i++) { System.out.println(arr2[i]); } 3.Object类 Object类是所有类的直接或者间接父类。 如果一个类没有指定继承关系,此时虚拟机默认认为这个类继承于Object类。 所有的类都可以使用Object中的方法。 所有的对象都可以使用Object类型的变量去接收。 4.Object类中的toStirng方法 Student s = new Student(); ArrayList<String> list = new ArrayList<>(); String str = "abc"; System.out.println(s);//地址值 System.out.println(str);//字符串的属性值 System.out.println(list);//集合中的元素值 为什么我们自己写的类,创建出来的对象,直接打印是一个地址值。 而Java中提供的类,创建出来的对象,直接打印不是地址值呢? System.out.println(s); 总结: Student s = new Student(); System.out.println(s); 打印一个对象,其实就是先通过这个对象调用他的toString方法,再打印这个toString方法的返回值。 所以当我们打印一个学生对象时。其实就是调用了Student类中的toString方法。 我们之前没有在Student类中写toString方法,所以到父类Object中找。 而Object的toString方法返回的就是对象的地址值。 而,String类,ArrayList类,重写了toString方法,所以当打印一个字符串或者打印一个集合的时候就是属性值。 简单来说: 要知道什么就可以了? "以后show方法一律写成toString" 5,Object类中的equals方法 不是每次都必须重写的。 当我们需要比较对象内部的属性值时需要重写。 equals方法: 只能比较引用数据类型。 如果这个类里面重写了equals方法,那么比较的就是内部的属性值。 如果这个类没有重写equals方法,那么使用的就是父类Object类中的equals方法,比较的就是地址值。 案例: String s1 = "abc"; String s2 = new String("abc"); System.out.println(s1.equals(s2));//true 因为String类重写了。 StringBuilder sb1 = new StringBuilder("abc"); StringBuilder sb2 = new StringBuilder("abc"); System.out.println(sb1.equals(sb2));//false 因为StringBuilder类没有重写。 |
推荐了解热门学科
java培训 | Python人工智能 | Web前端培训 | PHP培训 |
区块链培训 | 影视制作培训 | C++培训 | 产品经理培训 |
UI设计培训 | 新媒体培训 | 产品经理培训 | Linux运维 |
大数据培训 | 智能机器人软件开发 |
传智播客是一家致力于培养高素质软件开发人才的科技公司,“黑马程序员”是传智播客旗下高端IT教育品牌。自“黑马程序员”成立以来,教学研发团队一直致力于打造精品课程资源,不断在产、学、研3个层面创新自己的执教理念与教学方针,并集中“黑马程序员”的优势力量,针对性地出版了计算机系列教材50多册,制作教学视频数+套,发表各类技术文章数百篇。
传智播客从未停止思考
传智播客副总裁毕向东在2019IT培训行业变革大会提到,“传智播客意识到企业的用人需求已经从初级程序员升级到中高级程序员,具备多领域、多行业项目经验的人才成为企业用人的首选。”
中级程序员和初级程序员的差别在哪里?
项目经验。毕向东表示,“中级程序员和初级程序员最大的差别在于中级程序员比初级程序员多了三四年的工作经验,从而多出了更多的项目经验。“为此,传智播客研究院引进曾在知名IT企业如阿里、IBM就职的高级技术专家,集中研发面向中高级程序员的课程,用以满足企业用人需求,尽快补全IT行业所需的人才缺口。
何为中高级程序员课程?
传智播客进行了定义。中高级程序员课程,是在当前主流的初级程序员课程的基础上,增加多领域多行业的含金量项目,从技术的广度和深度上进行拓展。“我们希望用5年的时间,打造上百个高含金量的项目,覆盖主流的32个行业。”传智播客课程研发总监于洋表示。
黑马程序员热门视频教程【点击播放】
Python入门教程完整版(懂中文就能学会) | 零起点打开Java世界的大门 |
C++| 匠心之作 从0到1入门学编程 | PHP|零基础入门开发者编程核心技术 |
Web前端入门教程_Web前端html+css+JavaScript | 软件测试入门到精通 |