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. CSRF总结

    一.CSRF概述 CSRF跨站请求伪造,2007年被列为互联网20大安全隐患之一. 什么是跨站请求伪造?CSRF或XSRF 挟制用户在当前已经登录的web应用程序上执行非本意的操作的攻击方法.攻击者盗 ...

  2. Java框架spring 学习笔记(十八):事务管理(xml配置文件管理)

    在Java框架spring 学习笔记(十八):事务操作中,有一个问题: package cn.service; import cn.dao.OrderDao; public class OrderSe ...

  3. java itext替换PDF中的文本

    itext没有提供直接替换PDF文本的接口,我们可以通过在原有的文本区域覆盖一个遮挡层,再在上面加上文本来实现. 所需jar包: 1.先在PDF需要替换的位置覆盖一个白色遮挡层(颜色可根据PDF文字背 ...

  4. python_Tkinter1

    一个更详细的Tkinter笔记: 首先是最重要基础的,如何 创建一个窗口 窗口代码: #coding:utf8 import Tkinter show = Tkinter.Tk() show.titl ...

  5. TZOJ 2569 Wooden Fence(凸包求周长)

    描述 Did you ever wonder what happens to your money when you deposit them to a bank account? All banks ...

  6. 微信小程序记账本进度四

    //index.wxml <view class="container"> <form catchsubmit="formSubmit" &g ...

  7. html(),text(),var()区别与用法

    text() 设置或返回所选元素的文本内容 html() 设置或返回所选元素的内容(包括HTML标记) val() 设置或返回表单字段的值 用html()效果把html标签也获取出来了: 用val() ...

  8. pythone函数基础(11)读,写,修改EXCEL

    #读EXCEL需要导入xlrd模块---在python控制台pip install xlrd模块import xlrdbook = xlrd.open_workbook('stu3.xls')shee ...

  9. CentOS7 下安装GUI图形界面GNOME

    在安装Gnome包之前,需要检查一下网络是否有网络(使用ping www.baidu.com) 一.先装X windows,-y表示参数同意所有软件安装操,当出现 Complete!说明这里安装成功了 ...

  10. 使用react-handsontable

    新建一个项目 create-react-app myProject cd myProject npm install handsontable 或者 npm install handsontable- ...