Java是一种面向对象的语言,也就是将万事万物可以描述为对象,特点如下:

1.面向对象是常见的一种思考习惯,符合人们的思考习惯。

2.面向对象的出现,将复杂的事情简单化。

3.面向对象的出现,将之前过程中的执行者变成指挥者。(以前我在做动作。现在是命令冰箱做动作)。

包(package)是Java提供的一种区别类的名字空间的机制,是类的组织方式,是一组相关类和接口的集合,它提供了访问权限和命名的管理机制。如果当前类要用到其他包中的类,需要使用import关键字来导入。

当我们需要用到某些系统定义的类库的时候,需要导入存储相应类库的包,将相应类库的信息导入当前项目中,这样才能使用相应工具类。下图用来描述每个常用的包或者重要的包里面的类用来实现什么功能或者做什么工作。

1.Object类

Object类是所有类的父类,是类层次结构的根。它在java.lang包中,不需要显式导入。Object类中有两个常用方法,经常用来被重载使用或者重载使用。以下是Object类的equals方法和toString方法的详细介绍:

equals()方法用来判断传入形参的对象和当前的Object对象是不是一个对象,内部实现用"=="实现,判断两个引用是否指向同一个对象。Object类中的equals()方法等价于==,即判断这两个引用是否一致。在String类里,就将equals方法进行了重写,具体实现方法是将字符串拆分,比较两个字符串的内容是否一致。当我们重写equals方法时,注意事项如下:

toString方法,此方法返回对象的字符串表示形式。API中解释如下:

返回对象的字符串表示形式。 一般来说, toString方法返回一个“textually代表”这个对象的字符串。 结果应该是一个简明扼要的表达,容易让人阅读。 建议所有子类覆盖此方法。该Object类toString方法返回一个由其中的对象是一个实例,该符号字符`的类的名称的字符串@ ”和对象的哈希码的无符号的十六进制表示。 换句话说,这个方法返回一个等于下列值的字符串:

getClass().getName() + '@' + Integer.toHexString(hashCode())

由于每个类都是Object类的对象,所以每个类都直接或间接地继承自Object,因此每个类都有toString()方法。但是一般继承了之后会被重写。

2.String类

Java程序可以方便的处理字符串类型的数据信息,而这都要归功于java中String类提供的强大功能。String类描述的是文本字符串序列,即多个字符组成的一串数据。这种数据统一使用String对象来表示。String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。对于String类,需要注意的是字符串是不可变的。一个字符串对象一旦被配置,其内容是不可变的。如果需要改变字符串变量的值相当于创建了一个新的字符串,再把新的字符串赋值给此字符串变量。String内置了许多对字符串进行操作的函数,用来实现以下功能。具体实现方法查询API在此不再赘述

3.包装类

Java中有时使用基本数据类型并不能满足我们面向对象的具体要求。由于基本数据类型不能当作对象使用,Java提供了8个基本数据类型的包装类,把基本数据类型封装成对象,并封装了许多方法便于这些基本数据类型对象调用。这8个类统称为包装器(Wrapper)类,而且都在java.lang包中,所以不需要import就可以直接使用。具体数据类型对应的包装类如下:

通过比对我们发现,除了Integer类和Character,其他包装类名与基本数据类型名字保持一致。

【注1】装箱与拆箱

装箱是指将基本数据类型包装成包装类的过程。拆箱是指将包装类的对象转成基本数据类型的过程。他们两个互为反过程

拆装箱的过程分为手动拆装箱和自动拆装箱。

手动拆装箱过程的代码如下:

Integer i = new Integer(100);int a = i.intvlaue();

自动拆装箱的代码过程如下:

Integer i = 100;int a = i;

JDK自从1.5(5.0)版本以后,就引入了自动拆装箱的语法,也就是在进行基本数据类型和对应的包装类转换时,系统将自动进行,这将大大方便程序员的代码书写。

【注2】基本数据类型与String的转换

//1.int转成String

int a = 100;

String astr= a + "";

String astr1=String.valueOf(a);//2.String转成int

String str = "123";int b = Integer.parseInt(str);

4.日期相关类

Java主要涉及到三个日期相关类,分别为java.util.Date(最基本的日期时间类),java.text.SimpleDateFormat(DateFormat的直接子类,格式化操作),java.util.Calender(抽象类,日历)下面将分别讲述这三个类。

1>java.util.Date类

此类用来表示特定的瞬间,精确到毫秒,要注意该类中很多方法已经过时。构造方法如下:

Date();//分配 Date 对象并用当前时间初始化此对象,以表示分配它的时间(精确到毫秒)

Date(long date);//分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”

//即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数

该类中其他主要方法如下:

2>java.text.SimpleDateFormat

此类以指定格式输出日期与时间。可以将Date类型与字符串相转换。两个转换函数如下

format()//日期--->字符串

parse()//字符串--->日期

3>java.util.Calendar

单独获取当前日期和时间中的年月日和星期。常用字段与常用方法如下:

4.数字相关类

数字相关类主要有两个类,Math类与Random类。具体如下

日期的包装 java,Java基础之Java常用类--Object类,字符串相关类,包装类,日期相关类,数字相关类...相关推荐

  1. 视频教程-由浅入深Java零基础入门-Java

    由浅入深Java零基础入门 负责过多个软件项目的研发.设计和管理工作,拥有项目管理师认证.项目监理师中级认证.出版过的图书有<微信小程序开发图解案例教程><Axure RP8原型设计 ...

  2. java基础入门传智播客 源码_Java-_2020年版Java零基础视频教程(Java 0基础,Java初学入门)魔鬼讲师老杜出品...

    不会闲聊!!!不会扯淡!!!小UP只会分享与Java相关的学习资源 还记得那年带你Java入门的一声"吼"吗? B站目前播放量已经快到450多万播放量的Java零基础教程的创作者& ...

  3. Java零基础学习Java编程语言基础知…

    很多Java编程初学者在刚接触Java语言程序的时候,不知道该学习掌握哪些必要的基础知识.下面就说说Java零基础学习Java编程语言基础知识的几个要点.希望能够对Java编程基础入门学习的新手有帮助 ...

  4. java编程语言基础外文,Java编程语言基础(外文文献翻译)

    Java编程语言基础(外文文献翻译) JavaTM Programming Language Basics Like applications, applets are created from cl ...

  5. Java语言基础(Java自我进阶笔记二)

    Java语言基础(Java自我进阶笔记二) 一. 什么是Java 的主类结构? 1. #mermaid-svg-xWTL2A8kDyyRPexH .label{font-family:'trebuch ...

  6. B站百万播放量Java零基础教程视频(适合Java 0基础,Java初学入门),史上最细Java零基础教学视频

    是否还在为学习Java如何入门而烦恼? 是否还在为Java软件如何安装而烦恼? 是否还在找寻着适合零基础的Java视频教程? 动力节点教学总监老杜159集课堂实录Java零基础视频教程,从初学者角度出 ...

  7. java编程语言基础外文,Java编程语言基础.ppt

    Java编程语言基础.ppt 第2章Java编程语言基础 学习目标 1 熟练掌握Java数据类型 常量及变量 运算符 2 熟练掌握数组 3 熟练掌握Java的面向对象概念及应用 4 能够应用面向对象程 ...

  8. 黑马就业班(01.JavaSE Java语言基础-11.Java基础加强)——基础加强:Junit单元测试、反射、注解

       1.Junit单元测试 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关注程序具体的执行流程. Junit使用:白盒测试 步骤: ...

  9. 简书 java jvm_Java基础:Java虚拟机(JVM)

    当我们第一次学习Java时这些原理上的东西就会被提到,但是很少有真正去学习.今天开始从头过一遍Java,打算从JVM开始. 1. JVM是什么 JVM是Java Virtual Mechine的缩写. ...

  10. Java语言基础及java核心

    一.Java语言特点 1. 简单 2. 面向对象 3. 分布式 4. 健壮 5. 安全 6. 中性架构跨平台 7. 超强的可移植性 8. 高性能 9. 多线程 二.java的环境变量 JAVA_HOM ...

最新文章

  1. JavaScript--正则
  2. 《深入理解mybatis原理》 MyBatis的一级缓存实现详解 及使用注意事项
  3. java(13)内部类
  4. 在指定位置上方出现通用jquery悬浮提示框插件全站通用
  5. android 窗口监听按键,Android编程实现Dialog窗体监听的方法
  6. 【Boost】boost库中timer定时器
  7. java 之 桥接模式(大话设计模式)
  8. 切换node版本 nvm 的基本使用 -- 以及安装公司特有的镜像源
  9. angular 接入 IdentityServer4
  10. 数论一之定理证明——裴蜀/威尔逊/费马/扩展欧几里得/[扩展]欧拉/[扩展]中国剩余定理,欧拉函数,逆元,剩余系,筛法
  11. sql共享功能目录无法更改_大企业数据库服务首选!AliSQL这几大企业级功能你不可不知...
  12. Qt工作笔记-图形视图框架中的分组,以及添加平行拖动图元
  13. 小程序功能模块-优客娱乐视频1.0.5源码
  14. 力扣35,搜索插入位置(JavaScript)
  15. vmstat命令 查看内存、CPU占用
  16. 手把手教你如何生成自己的二维码
  17. 2021年软件测试工具总结——接口测试工具
  18. 百度地图API 浏览器端调用 傻瓜教程
  19. html js 跑马灯效果,Javascript实现跑马灯效果的简单实例
  20. 我国三大常用坐标系:北京54、西安80和WGS-84

热门文章

  1. 判断numpy的array中是否包含nan,NaN
  2. Spring 在xml文件中配置Bean
  3. 【PL/SQL】 学习笔记 (3)if 语句使用
  4. LR11中web_save_timestamp_param
  5. NFS-heartbeat-drbd模拟NFS高可用
  6. C# WinForm 判断程序是否已经在运行,且只允许运行一个实例
  7. 计算机数制和运算的一点总结.
  8. 一小段Python的sha256/md5/sha1验证
  9. PDFSAM:简朴好用的 PDF 抢救器材
  10. Fetion2008 分析 Part1:准备工作