`
mywebcode
  • 浏览: 999440 次
文章分类
社区版块
存档分类
最新评论

11级_Java_曹建波4.20 封装类&日期相关类型&数学相关类型

 
阅读更多

封装类

Java数据类型可以分为基本数据类型和引用数据类型两大类,两者有各自不同的的特征和用法。

基本数据类型存在的必要性:

它们迎合了人们早已根深蒂固的行为习惯;

基本类型数据无需使用new创建对象,也不需要额外的引用空间保存辅助信息,因此运行开销较小。

由于基本类型数据不是对象,在有些场合其使用是受到限制的
public void test(Object o){
System.out.println(o.toString());
}

为弥补基本数据类型在面向对象方面的欠缺,Java语言中引入了封装类(Wrapper Classes)——针对各种基本数据类型均提供了相应的引用数据类型,它们在JDK API的java.lang包中定义的。

基本数据类型

封装类

int

Integer

short

Short

long

Long

byte

Byte

float

Float

double

Double

char

Character

boolean

Boolean

每个Integer类的对象可以封装一个int型的整数值,该类中还提供了多个用于处理int型数据的功能方法。

构造方法

public Integer(int value)

public Integer(String s)throwsNumberFormatEcception

例如,Integer i1=new Integer(123);

Integer i2=newInteger(“123”);

其它常用方法

public int intValue();返回当前对象封装的int型值

public boolean equals(Object obj);

public String toString();将当前对象所封装的int型数值转换成字符串返回。

public static String toString(int i);将参数i指定的int型数值以字符串的形式返回。

public static String toBinaryString(int i);将i指定的int型数值的二进制无符号整数表示以字符串形式返回。

public static String toOctalString(int i);将i指定的int型数值的八进制无符号整数表示以字符串的形式返回。

public static String toHexString(int i);将i指定的int型数值的十六进制无符号整数表示以字符串的形式返回。

public static int parseInt(String s) throwsNumberFormatException;将参数s指定的字符串转换成整型数据返回。

例7.14 封装类的用法。

Integer int1=new Integer(786);

Integer int2=new Integer(“786”);

System.out.println(int1==int2);

System.out.println(int1.equals(int2));

int i=Integer.parseInt(“123”);

System.out.println(Integer.toHexString(-1));

String.valueOf(d) ===将参数d转化为字符串的形式返回

Integer.toString(i) ===将整型i转换为字符串的形式返回

自动封装/拆封
自动封装/拆封是指在基本数据类型值和其对应的包装类对象之间完成自动转换的过程。

例如:Integer obj1;

int num1=33;

obj1=num1;

注意:这种自动封装和自动拆封功能只能发生在基本数据类型和其所对应的包装类型之间。

日期相关类型

Date类

java.util.Date类用于表示特定的时间点(精确到毫秒),该类是通过记录从基准时间(格林威治标准时间公元1970年1月1日00:00:00)开始到当前时刻的时间差,即所经历的毫秒数,来实现计时。

构造方法

public Date()

public Date(long date)

例如:Date d1 = new Date(20000);

Date d2 = new Date();

常用方法

public int compareTo(Date anotherDate)
比较两个日期对象所记录的日期的前后顺序

public boolean equals(Object obj)
比较两个日期的等价性

public long getTime()
返回自基准时间点到当前时刻(当前对象表示的时间点)所经历的毫秒数

public String toString()
将当前时刻转换为字符串形式返回,其格式为:“星期 月份日期 小时:分钟:秒 时区 年份”

Calendar类

java.util.Calendar类是Date类的一个增强版,该类提供了常规的日期修改功能和国际化支持,以及对日历操作提供方便。

注意:Calendar类是一个抽象类,可以调用其静态方法getInstance()来获得该类的实例(实际上是其子类的实例):Calendar c=Calendar.getInstance();

public void set(int field,int value)
将参数field指定的时间域(年、月、日、时、分、秒等)设置为参数value指定的值。field可为:Calendar.YEAR、Calendar.MONTH、Calendar.HOUR等

public final void set(int year,int month,int date)
设置当前日历的“年、月、日”三个时间域的值。

public final void set(int year,int month,int date,int hourOfDay,intminute,int second)
设置日历的“年、月、日、时、分、秒”等时间域的值。

public abcstract void add(int field,int amount)
为当前日历的指定时间域添加或减去指定的时间量。

Calendar c = Calendar.getInstance();
display(c);

c.set(Calendar.YEAR,2009);c.set(Calendar.MONTH,4);
c.set(Calendar.DATE,30); display(c);

c.set(2009,8,12);
display(c);

c.set(2009, 8, 12, 10, 23, 15);
display(c);

c.add(Calendar.MONTH,2);
display(c);

Date d = c.getTime();
System.out.println(d);

需注意:

属性Calender.HOUR标记的时间域“小时”是12小时制的,要想获得24小时制的数值,则必须使用Calender.HOUR_OF_DAY来标记。

从Calender获取的月份信息值是从0开始的,即一月份的时间域获取值为0,因此display方法中将该字段的值加1已以得到实际的月份数。

DateFormat类

java.text.DateFormat类提供了将日期/时间信息进行格式化处理的功能,主要是将日期/时间信息(Date类型数据)转换成人们所习惯的格式字符串以及反向转换的功能。

public static final DateFormat getDateInstance()
获得一个具有默认语言环境、默认格式化风格的DateFormat对象。

public static final DateFormat getDateInstance(int style,LocaleaLocale)获得具有给定语言环境、给定格式化风格的DateFormat对象。

public static final DateFormat getTimeInstance()
获取具有默认语言环境、默认格式化风格的日期/时间DateFormat对象。

public final String format(Date date)
将一个Date对象格式化为日期/时间字符串。

DateFormat类中定义了相应的整型常量来标识各种转换风格,包括:DateFormat.SHORT、DateFormat.MEDIUM、DateFormat.LONG、DateFormat.FULL。

语言

代码

Chinese

zh

English

en

French

fr

German

de

Italian

it

Japanese

ja

Spanish

sp

国家/地区

代码

China

CN

Taiwan

TW

Germany

DE

Great Britain

GB

Italy

IT

Japan

JP

Span

SP

United States

US

SimpleDateFormat类

java.text.SimpleDateFormat类是DateFormat类的子类,它方便用户自己定义日期、时间表示格式,并提供更灵活的日期和字符串信息转换和解析的功能。

例7.19SimpleDateFormat类的使用。

Locale locale1;SimpleDateFormat sdf1,sdf2;

Date d=new Date(); locale1= new Locale("zh","CN");

sdf1 = new SimpleDateFormat();

sdf2 = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");

System.out.println(sdf2.format(d));

模式字符

说明

A

上午/下午(AM/PM)标志

D

一年中的第几天

D

一月中的第几天

E

星期中的第几天

F

一月中的第几个星期几

G

年代标志

H

小时(0~23)

H

小时(0~11),使用AM/PM区分上、下午

K

小时(1~24)

K

小时(1~12),使用AM/PM区分上、下午

M

月份

M

分钟

S

毫秒

S

W

一个月中的第几星期

W

一年中的第几星期

Y

Z

太平洋标准时间(PST)时区

Z

RFC822时区

注意:

模式串中可以包含模式符以外的字符或字符串,如“年”、“月”、“日”等字符,这些字符或字符串在转换过程中将被原样保留;

如果要在模式串中包含字母(a~z,A~Z)且不希望其被当做模式符转换掉,则可以将其用半角单引号“‘”括起来;

由于单引号已被用作分隔标记,如果在模式串中要作为普通字符来包含它,就需要使用两个连续的半角单引号(“''”,注意这不同于一个双引号)来代替。例如,"'On' yyyy-MM-dd HH 'o''clock,We tesed it.'"

数学相关类型

基本数学功能类Math

java.lang.Math类提供了常用的数学运算功能和数学常量,其中的属性和方法均被定义为public和static的,因此不需要创建Math的实例即可直接访问或调用。

public static double random()
生成double型随机数,其取值区间为[0.0,1.0)

例如,int i=(int)(Math.random()*100); 生成0~99之间的随机整数

数据格式化工具类

java.text.NumberFormat:所有数据格式的抽象基类
功能:提供了将数字(包括整型和浮点型)格式化为符合特定语言环境(Locale)表示习惯的字符串以及逆向解析字符串为数字的功能。

public static final NumberFormat getInstance()
返回当前默认语言环境的通用数字格式对象。

public static NumberFormat getInstance(Locale intLocale)
返回指定语言环境的通用数字格式对象。

public final String format(double number)
格式化指定的数据,返回格式化字符串。

public static final NumberFormat getCurrencyInstance()
返回默认语言环境的货币格式对象。

public static final NumberFormat getCurrencyInstance(LocaleinLocale)
返回默认语言环境的货币格式对象。

public static final NumberFormat getPercentInstance()
返回当前默认语音那环境的百分比格式对象。

public static NumberFormat getPercentInstance(Locale inLocale)返回指定语言环境的百分比格式对象。

java.text.DecimalFormat:是NumberFormat的子类
功能:用于格式化各种形式的十进制数据为当前语言环境相关的字符串表示形式以及反向的解析操作。

public DecimalFormat()
使用默认模式语言环境创建DecimalFormat对象

public DecimalFormat(String pattern)
给定模式和默认语言环境创建DecimalFormat对象

符号

出现位置

含义

0

数字

阿拉伯数字

#

数字

阿拉伯数字,如果不存在则显示为0

.

数字

小数分隔符或货币小数分隔符

-

数字

减号

,

数字

分组分隔符

E

数字

分隔科学计数法中的尾数和指数,在前缀或后缀中无需加引号

;

子模式边界

分隔正数和负数子模式

%

前缀或后缀

乘以100并显示为百分数

‰(\u2030)

前缀或后缀

乘以1000并显示为千分数

¤(\u00A4)

前缀或后缀

货币符号,由货币符号替换

前缀或后缀

转义符,用于在前缀或后缀中为特殊字符加引号,例如“’#’#”,将123格式化为“#123”。要创建单引号本身,连续使用两个单引号,“# o’’clock”

分享到:
评论

相关推荐

    node-v9.6.0-x86.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    Python基于机器学习的分布式系统故障诊断系统源代码,分布式系统的故障数据进行分析,设计故障诊断模型,高效地分析并识别故障类别

    基于技术手段(包括但不限于机器学习、深度学习等技术)对分布式系统的故障数据进行分析,设计故障诊断模型,高效地分析并识别故障类别,实现分布式系统故障运维的智能化,快速恢复故障的同时大大降低分布式系统运维工作的难度,减少运维对人力资源的消耗。在分布式系统中某个节点发生故障时,故障会沿着分布式系统的拓扑结构进行传播,造成自身节点及其邻接节点相关的KPI指标和发生大量日志异常

    JavaScript前端开发的核心语言前端开发的核心语言

    javascript 当今互联网时代,JavaScript已经成为了前端开发的核心语言它是一种高级程序设计语言,通常用于网页的交互和动态效果的实现。JavaScript的灵活性以及广泛的使用使得它变得异常重要,能够为用户带来更好的用户体验。 JavaScript的特点之一是它的轻量级,它可以在网页中运行无需单独的编译或下载。这意味着网页可以更快地加载并且用户无需安装额外的软件才能运行网页上的JavaScript代码。此外,与HTML和CSS紧密结合,可以直接在HTML文档中嵌入,使得网页的开发变得非常便捷。 JavaScript具有动态性,它可以在浏览器中实时修改页面内容和样。它可以通过操作DOM(文档对象模型来动态地修改网页的结构和布局,并且可以根据用户的行为实时地响应各种事件,如点击、标悬停、滚动等。这使得开发者可以轻松地为网页添加交互性和动态效果,提供更好的用户体验。 JavaScript也是一种面向对象的语言。它支持对象、类、继承、多态等面向对象编程的概念,使得代码结构更加清晰和可维护。开发者可以创建自定义的对象和方法,对功能进行封装和复用,提高代码的可读性和可维护性。

    四则运算自动生成程序安装包

    四则运算自动生成程序安装包

    基于Linux的私有文件服务器(网盘).zip

    基于Linux的私有文件服务器(网盘)

    源代码-access 管理 系统 API 文件.zip

    源代码-access 管理 系统 API 文件.zip

    海康机器人智能读码器工业协议操作手册V1.0.2.pdf

    海康机器人智能读码器工业协议操作手册V1.0.2.pdf

    256ssm-mysql-jsp 在线捐赠系统.zip(可运行源码+数据库文件+文档)

    根据需求,确定系统采用JSP技术,JAVA作为编程语言,MySQL作为数据库。整个系统要操作方便、易于维护、灵活实用。主要实现了系统用户管理、注册用户管理、信息发布管理、医疗物品分类管理、项目信息管理、捐赠项目管理、志愿者申请管理、个人求助管理、个人捐赠统计、系统管理等功能。 前台用户模块包括: 1. 首页:网站打开的第一个页面,显示网站的最新信息。 2. 用户注册/登录、3. 新闻资讯、4. 暖心故事、5. 我要求助、6. 我要捐赠、7. 我们的项目、8. 志愿者中心:实现志愿者中心的列表显示、9. 系统简介、10. 在线留言、11. 用户后台 后台管理员模块包括: 1. 系统用户管理、2. 注册用户管理、3. 信息发布管理、4. 医疗物品分类管理、5. 项目信息管理、6. 捐赠项目管理、7. 志愿者申请管理、8. 个人求助管理:管理员可以设置个人求助审核状态,可以删除个人求助审核信息。 9. 个人捐赠统计:管理员可以查看个人捐赠统计信息。 10. 系统管理:管理员可以对留言板信息进行查看、回复或删除 关键词:医药捐赠系统;JSP;MySQL

    系统性文献综述的撰写(Systematic Review)-范文2.pdf

    参考范文:Findings on Teaching Machine Learning inHigh School: A Ten -Year SystematicLiterature Review 用于学习研究,侵权请联系本人删除

    管理后台项目开发脚手架,基于vue-element-admin和springboot搭建,前后端分离方式开发和部署.zip

    管理后台项目开发脚手架,基于vue-element-admin和springboot搭建,前后端分离方式开发和部署.zip

    中世纪童话主题游戏设计元素组件素材Complete Fantasy Game UI kit.zip

    游戏开发资源,游戏UI,游戏GUI,游戏图标,PSD格式,XD格式,PNG下载,源文件,可编辑下载,游戏购物充值界面,宝石,图标,PS格式,AI格式等,游戏APP

    node-v7.7.3-sunos-x86.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    毕业设计:Python图书馆大数据可视化分析系统(源码 + 数据库 + 说明文档)

    毕业设计:Python图书馆大数据可视化分析系统(源码 + 数据库 + 说明文档) 2 开发技术简介 4 2.1 基于B/S结构开发 4 2.2 python语言简介 4 2.3 MySQL数据库 4 3 需求分析 6 3.1 需求概述 6 3.2 业务流程分析 6 3.3 功能需求分析 7 3.4 性能需求分析 7 4 系统设计 8 4.1 设计指导思想和原则 8 4.2 界面设计 8 4.3 输入输出设计 9 4.4 数据库设计原则 9 4.5数据表设计 10 4.6系统模块总体设计 11 5 系统详细设计 12 5.1 注册 12 5.2 登录 13 5.3 图书列表 13 5.4 图书管理 14 6 系统测试 15 6.1 系统测试的方法与步骤 15 6.2 模块测试 15 6.4 评价 17

    什么是python-对于我们来说学习python的意义是什么

    python

    基于nwjs的网易云音乐Linux版客户端.zip

    基于nwjs的网易云音乐Linux版客户端

    node-v10.13.0-win-x86.zip

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v8.11.2-x86.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    网上招聘系统的设计与实现

    随着时代的发展,中国的互联网技术愈加成熟,已经有越来越多的社会群体开始学会使用互联网技术,整个社会正在朝着智能化、信息化的方向前进。有了互联网,用户便可以足不出户地利用互联网技术使得自己的生活更加便捷。因此,为了满足用户的庞大需求,网上招聘系统应运而生。 本系统整体基于B/S架构,采用MyBatis框架,运用Java中的Servlet、Jsp等关键技术,并结合Oracle数据库的使用,为招聘者和求职者搭建了一个高效、便利的网络平台。本系统分别为求职者和招聘者提供了信息注册功能,登录功能和信息维护功能。除此之外,求职者可以选择发布、撤销或打印自己的简历,也可以浏览到企业实时的招聘信息,从而选择合适的企业应聘。招聘者可以选择发布或撤销自己的招聘信息,也可以浏览到求职人员的信息,选择是否同意他的应聘请求,并向其发送通知。

    node-v6.11.3-sunos-x64.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v7.4.0-linux-armv6l.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

Global site tag (gtag.js) - Google Analytics