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

  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常用类--Object类,字符串相关类,包装类,日期相关类,数字相关类的更多相关文章

  1. JAVA基础语法:常用功能符以及循环结构和分支结构(转载)

    3.JAVA基础语法:常用功能符以及循环结构和分支结构 1.常用功能符 注释 ("文字"是被注释的部分) //文字 单行注释 /文字/ 多行注释 算术运算符 + - * / / 整 ...

  2. 黑马程序员:Java基础总结----java注解

    黑马程序员:Java基础总结 java注解   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! java注解 lang包中的基本注解 @SuppressWarnings ...

  3. Java基础技术-Java其他主题【面试】

    Java基础技术-Java其他主题[面试] Java基础技术IO与队列 Java BIO.NIO.AIO Java 中 BIO.NIO.AIO 的区别是什么? 含义不同: BIO(Blocking I ...

  4. Java基础:Java的四种引用

    在Java基础:java虚拟机(JVM)中,我们提到了Java的四种引用.包括:强引用,软引用,弱引用,虚引用.这篇博客将详细的讲解一下这四种引用. 1. 强引用 2. 软引用 3. 弱引用 4. 虚 ...

  5. java基础-学java util类库总结

    JAVA基础 Util包介绍 学Java基础的工具类库java.util包.在这个包中,Java提供了一些实用的方法和数据结构.本章介绍Java的实用工具类库java.util包.在这个包中,Java ...

  6. java基础(二)-----java的三大特性之继承

    在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句 ...

  7. Java基础-使用JAVA代码剖析MD5算法实现过程

    Java基础-使用JAVA代码剖析MD5算法实现过程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  8. Java基础——6种常用类讲解

    本文主要介绍几种Java中常用类的应用. 一.System类 从API当中我们可以看出,public final class System exends Object.System类包含一些有用的字段 ...

  9. Java基础11一常用类

    1.包装类 byte---java.lang.Byte char---java.lang.Character short—java.lang.Short int---java.lang.Integer ...

随机推荐

  1. centos7安装 python3.6,且保留2.7版本

    CENTOS7安装PYTHON3.6 1. 安装python3.6可能使用的依赖# yum install openssl-devel bzip2-devel expat-devel gdbm-dev ...

  2. 自制EF(iShare Demo版)

    由于公司使用的所有技术都比较倾向于使用原生,不怎么借用其他第三方框架(无论是前端布局,样式,到后台的框架).公司也算比较小型的没有太大的项目 可以让我们进行团队合作项目,几乎是一人接手一个项目.然后自 ...

  3. 【相关网站 - 02】- Java 好文博客

    一.源码分析博客 还有这种操作?浅析为什么要看源码 你觉得什么才是 Java 的基础知识? 1. JDK 2. Mybatis 3. Spring 4. Sring Boot 5. Spring Cl ...

  4. Linux Apache配置https访问

    配置https访问 该环境是rh254课程配套的一个环境,不过配置方法步骤相同. 要求: 使用虚拟主机技术部署两个网站: 网站1: 绑定域名 www0.example.com 目录在 /srv/www ...

  5. python 基础 ----- 常用的方法

    one.将英文字符设置大小写 upper()  :将英文字符设置大写 lower()   :将英文字符设置小写 two.去掉字符串的首尾空格    不能去除字符串中间的空格偶 strip() : 去掉 ...

  6. 随机获得id的方法

    public String generateUUID() { String uuid = UUID.randomUUID().toString(); uuid = uuid.replace(" ...

  7. WebForm应用log4net记录错误日志——使用线程列队写入

    我的项目结构如下图: 日志帮助类库需要log4net包:工具—NuGet包管理器—管理解决方案NuGet程序包 线程日志帮助类 FlashLogger.cs 代码 using System; usin ...

  8. C#多线程--信号量(Semaphore)[z]

    百度百科:Semaphore,是负责协调各个线程, 以保证它们能够正确.合理的使用公共资源.也是操作系统中用于控制进程同步互斥的量. Semaphore常用的方法有两个WaitOne()和Releas ...

  9. nginx新增tcp模板

    最近在装nginx时,发现新增了tcp模板,装了一遍,现记录下来过程. 1.下载nginx源码包,并解压 2.下载tcp模板压缩包https://github.com/yaoweibin/nginx_ ...

  10. Git多账号配置,同一电脑多个ssh-key的管理

    为什么有这种需求? 在我们开发过程中,可能会遇到使用同一台机器,既要向公司git服务器提交代码,也要向gitlib或者gitee等 git仓库提交代码,2个仓库设置的用户名信息,不一样,此时需要用到多 ...