Educoder Java面向对象 - 常用类

求大佬带带我 orz

纯菜鸡,如果有更好的Idea可以分享给我,我也想学

第1关:Object类

import java.util.Scanner;public class ObjectTest {public static void main(String[] args) throws CloneNotSupportedException {Scanner sc = new Scanner(System.in);int num1 = sc.nextInt();int num2 = sc.nextInt();// 在测试类中创建Demo类对象d1,传入输入值num1, d1调用toString方法并打印输出该值// 创建Demo类对象d2,同样传入输入值num1,打印判断d1和d2是否相等(实际是比较地址)/********* Begin *********/Demo d1 = new Demo(num1);System.out.println(d1.toString());Demo d2 = new Demo(num1);Demo d3 = (Demo) d1.clone();if(d1.equals(d2)) {System.out.println("true");}else {System.out.println("false");}/*if(d1.equals(d3)) { System.out.println("true"); }else {System.out.println("false"); }*//********* End *********/// 创建Person类对象p,传入输入值num2,打印判断d1和p是否相等(实际是比较地址)/********* Begin *********/Person p = new Person(num2);if(d1.equals(p)) {System.out.println("true");}else {System.out.println("false");}/********* End *********/}
}class Demo implements Cloneable{private int num;public Demo(int num) {this.num = num;}public boolean equals(Object obj) // Object obj = new Demo(){if (!(obj instanceof Demo)) // 判断obj是否和Demo是同类return false;Demo d = (Demo) obj; // 将父类的引用(Object)向下转换为子类(Demo)return this.num == d.num;}public String toString() {return "Demo:" + num; // 返回对象的值(每一个对象都有自己的特定的字符串)}public Object clone() throws CloneNotSupportedException {return super.clone();
}
}
class Person {private int num;public Person(int num) {this.num = num;}
}

第2关:JAVA基础类型包装类-练习

import java.util.Scanner;public class WrapperTest {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int aa = sc.nextInt();String bb = sc.next();int c = sc.nextInt();String str11 = sc.next();String str22 = sc.next();// 包装类中“==”与equals的用法比较// 值得注意的是,包装类中的equals方法和String类一样,都是重写了Object类中的equals方法,//因此比较的是内容而不是地址,// 而“==”比较的依然是引用变量的地址,//只是当包装类型和与之相对应的基本类型进行“==”比较时会先做自动拆箱处理。/********* Begin *********/Integer a = new Integer(aa);Integer b = new Integer(bb);String str1 = new String(str11);String str2 = new String(str22);System.out.println(a == b);System.out.println(a == c);System.out.println(b == c);System.out.println(a.equals(b));System.out.println(str1 == str2);System.out.println(str1.equals(str2));/********* End *********/}
}

第3关:String&StringBuilder&StringBuffer类-练习


import java.util.Scanner;public class StringTest {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String str = sc.next();// String substring(int start,int end)// 截取字符串,传入的两个参数分别为要截取边界的下标// 在java api 中,通常使用两个数字表示范围时,都是含头不含尾,即包含起始下标对应的内容,但不包含结束下标的处对应的内容// String toUpperCase() 将当前字符串中的英文部分转换为全大写/********* Begin *********/StringBuilder s = new StringBuilder(str);s = new StringBuilder(s.substring(s.indexOf(".") + 1));s = new StringBuilder(s.substring(0, s.indexOf(".")));System.out.println(s);System.out.println(s.toString().toUpperCase());/********* End *********/}
}

第4关:Random类


//密码的自动生成器:密码由大写字母/小写字母/数字组成,生成六位随机密码
import java.util.Random;
import java.util.Scanner;public class RandomTest{public static void main(String[] args) {// 定义一个字符型数组char[] pardStore = new char[62];// 把所有的大写字母放进去 把所有的小写字母放进去 把0到9放进去/********* Begin *********/for (int i = 0; i < pardStore.length; i++) {if(i < 26)pardStore[i] = (char)('A' + i);else if(i < 52)pardStore[i] = (char)('a' + (i-26));elsepardStore[i] = (char)('0' + (i - 52));//System.out.print(pardStore[i]);}/********* End *********/// 分别以1、2、3作为种子数 生成6位随机密码Scanner sc = new Scanner(System.in);int seed = sc.nextInt();/********* Begin *********/Random r = new Random(seed);for(int j = 0; j < 6; j++){int password = r.nextInt(62);System.out.print(pardStore[password]);}/********* End *********/}
}


这一关的时间戳给看呆了,各种格式

第5关:Date类和SimpleDateFormat类的用法

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;public class DateTest{public static void main(String[] args) throws ParseException {// 键盘录入你的出生年月日 格式为yyyy-MM-dd// 把该字符串转换为一个日期// 通过该日期得到一个毫秒值// 获取2020年10月1日的毫秒值// 两者想减得到一个毫秒值// 把该毫秒值转换为天 打印输出Scanner sc = new Scanner(System.in);String line = sc.nextLine();/********* Begin *********///时间转时间戳SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");Date date1 = sdf1.parse(line);long ago = date1.getTime();//System.out.println(ago);String res1 = String.valueOf(ago);//System.out.print(res);SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");Date date2 = sdf2.parse("2020年10月1日");long now = date2.getTime();String res2 = String.valueOf(now);//System.out.println(now);try {long diff = now - ago;//System.out.println(diff);//根据时间戳计算时间int days = (int) (diff / (1000 * 60 * 60 * 24));//System.out.println(days);System.out.println("你的出生日期距离2020年10月1日:" + days + "天");} catch (Exception e) {System.out.println("Got an exception!");}/********* End *********/}
}

第6关:Math类

import java.util.Scanner;
import java.lang.Math;public class MathTest {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int a1 = sc.nextInt();int a2 = sc.nextInt();int a3 = sc.nextInt();int a4 = sc.nextInt();double a5 = sc.nextDouble();double a6 = sc.nextDouble();double a7 = sc.nextDouble();double a8 = sc.nextDouble();double a9 = sc.nextDouble();double a10 = sc.nextDouble();double a11 = sc.nextDouble();/********* Begin *********/System.out.println(Math.sqrt(a1));System.out.println(Math.cbrt(a2));System.out.println(Math.pow(a3,a4));System.out.println(Math.max(a5,a6));System.out.println(Math.min(a5,a6));System.out.println(Math.abs(a7));System.out.println(Math.ceil(a8));System.out.println(Math.floor(a9));System.out.println(Math.rint(a10));System.out.println((int)(Math.round(a11)));/********* End *********/}
}

仅供参考!且学且珍惜!

Educoder Java面向对象 - 常用类相关推荐

  1. Java基础学习第十三讲:Java面向对象---嵌套类

    Java面向对象-嵌套类.内部类.匿名类 一.static静态 在<Java编程思想>有这样一段话: "static方法就是没有this的方法.在static方法内部不能调用非静 ...

  2. Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)...

     本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 写在前面:由于前天项目老师建设局的项目快到验收阶段,所以,前天晚上通宵,昨天睡了大半天, ...

  3. Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)

    写在前面:由于前天项目老师建设局的项目快到验收阶段,所以,前天晚上通宵,昨天睡了大半天,下午我们宿舍聚会,所以时间有点耽误,希望大家见谅 上接: Java程序员从笨鸟到菜鸟之(四)java开发常用类( ...

  4. Java SE 常用类:枚举enum

    Java SE 常用类:枚举enum 1.enum 枚举 表示一种事物的所有可能|一种类型的所有情况. 软件包 java.lang 注意: 枚举类型不能自定义实例化,实例由程序猿|枚举类型自己提供,因 ...

  5. Java八大常用类小结

    Java的八大常用类 文章目录 Java的八大常用类 1.内部类 内部类的优点 2.Object类 3.包装类 4.数学类(Math类) 5.时间类 6.String类 7.String Builde ...

  6. Java程序员从笨鸟到菜鸟之(四)java开发常用类(包装,数字处理集合等)(上)

    本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.NET/csh624366188 一:首谈Java中的包装类 Java为基本类型提供包装类,这使得任何接受对象的操作也可以用 ...

  7. java map常用类及其方法_Day50.Map类常用的方法 -Java常用类、集合#、IO

    Day50.Map类常用的方法 -Java常用类.集合#.IO Day50.Map类常用的方法 -Java常用类.集合#.IO Map类常用的方法 . 总结: 常用方法 添加: put(Object ...

  8. Java基础---常用类之Arrays工具类+基本类型的包装类

    常用类之Arrays工具类 1.binarySearch(int[] a,int key) 使用二分搜索法来搜索指定的 int 型数组 2.fill(int[] a,int val)将指定的 int ...

  9. Java基础---常用类之Math类 and Syetem类

    常用类-Math类 Math类:关于数学的类 这个类中封装了一些关于数学的方法 可以完成一些常用的数学操作 特点:1.final修饰的类 所以Math类没有子类的 不可以继承2.Math类中的构造方法 ...

  10. 菜鸟学JAVA之——常用类(StringBuffer、StringBuilder、Comparable、Comparator等)

    文章目录 常用类 字符串相关的类 一.String类及常用方法 二.StringBuffer.StringBuilder JDK 8 之前的日期时间API 一.System静态方法 二.Date类 三 ...

最新文章

  1. 多线程真的会使用CPU所有的内核吗?
  2. HTML5 CSS3专题 诱人的实例 CSS3打造百度贴吧的3D翻牌效果
  3. 密码学AES算法_S盒_C值搜索
  4. 承载网络开启后显示无法连接到Internet,已解决
  5. 过滤器实栗 登录检测
  6. linux配置ip地址 suse_suse下设置IP的两种方法
  7. 测试两张照片相似度对比软件,有没有一款软件能比对两张照片是否一样?
  8. 微信小程序商城有发展机会吗?
  9. BFT类共识协议概览与分析实测
  10. centos上升级node_如何升级nodejs到最新版本
  11. 马云,大数据时代的解析与网销云控
  12. java蓝桥杯练习 拉马车
  13. 【c51】LCD1602__num++显示 (超详细)
  14. 【知识点总结】-《C陷阱与缺陷》
  15. 《生物化学与分子生物学》----酶的作用机理和酶的调节----听课笔记(十一)
  16. Python 练手程序合集(三)
  17. 好用的插件介绍-Clear Cache Chrome插件
  18. 百度开源UEditor文本编辑器使用说明自定义属性
  19. Windows10 清除 PowerShell 会话命令历史记录的方法
  20. 论文投稿指南——中文核心期刊推荐(工程材料学)

热门文章

  1. 【C语言】C语言小项目—贪吃蛇
  2. 使用ActivityGroup管理Activity
  3. Windows 7 镜像下载汇总
  4. Java高级工程师必备技术栈
  5. 【国产化电脑】如何有效避免违规外联
  6. 如何有效解决企业敏感文件泄露问题
  7. 关于visual studio和vc版本之间的对应关系(更新至2020.07)
  8. buuctf刷题记录2 相册
  9. python科学计算-python科学计算
  10. Python科学计算系列2—不等式和不等式组