【学习笔记】java基本类型转换 和 日期操作 以及 Math

一. 基本类型转换

在Java中,一切都是对象,但基本的数据类型不是对象。因此在JDK中提供了基本数据类型的封装类对象。
八个基本数据类型对应的封装类(wrapper class):
boolean  -->  Boolean
char  -->  Character
byte  -->  Byte
short  --->  Short
int  -->  Integer
long  -->  Long
float  -->  Float
double  -->  Double
八个基本数据类型都重写了Object中的hashCode(), equals(), toString()方法。

基本类型--->封装类型
 Integer inObj = new Integer(10);
 System.out.println(inObj);
封装类型--->基本类型
 int i = inObj.intValue();
 System.out.println(i);
基本类型---->字符串
 String stri = String.valueOf(i);
 System.out.println(stri);
字符串---->基本类型
 int inti = Integer.parseInt("100");
 System.out.println(inti);

举例(其他用法类似):

package com.fjnu.study;

public class TestChange {
    public static void main(String[] args){
        int i;
        double b = 123.123;

        Integer int1 = new Integer(10);
        System.out.println(int1);
        System.out.println(Integer.toBinaryString(3));

    }
}
10
11

double转成字符串

package com.fjnu.study;

public class TestChange {
    public static void main(String[] args){
        double i = 1234.344;
        String str = String.valueOf(i);
        System.out.println(str);
        System.out.println(str.length());
    }
}
1234.344
8

字符串转换成int型

package com.fjnu.study;

public class TestChange {
    public static void main(String[] args){
        String str = "12345";
        int i = Integer.parseInt(str);
        System.out.println(str);
    }
}
12345

Character 方法

常用方法:
static boolean isDigit(char ch) //判断是否为数字
static boolean isLetter(char ch)
static boolean isLetterOrDigit(char ch) 
static boolean isLowerCase(char ch)
static boolean isUpperCase(char ch)
static char toLowerCase(char ch) 
static char toUpperCase(char ch)  
static boolean isSpaceChar(char ch)
String toString()

二. 获取系统时间的方法

使用System类
使用java.util.Date类
使用java.util.Calendar类

1. 使用System类

查阅文档:

currentTimeMillis

public static long currentTimeMillis()
返回以毫秒为单位的当前时间。注意,当返回值的时间单位是毫秒时,值的粒度取决于底层操作系统,并且粒度可能更大。例如,许多操作系统以几十毫秒为单位测量时间。
请参阅 Date 类的描述,了解可能发生在“计算机时间”和协调世界时(UTC)之间的细微差异的讨论。

返回:
当前时间与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位测量)。

2.使用java.util.Date类

用来获取系统时间, 而里面的Time是用来处理数据库时间的

 package com.fjnu.study;
 import java.util.Date;

public class TestTime {
    public static void main(String[] args){
        Date date = new Date();
        System.out.println(date);
    }
}
Sat Apr 11 11:26:16 CST 2015

3.使用java.util.Calendar类

Calendar 类是一个抽象类,用于描述一个日历。这个类不能直接初始化,但有个类方法getInstance() 用于创建Calendar对象。
常用方法:
static Calendar getInstance();
int get(int field);
Date getTime()  
int get(int field);
void set(int field, int value);
void setTime(Date date);
void setTimeInMillis(long millis);

举例说明:

 package com.fjnu.study;
 import java.util.Date;
 import java.util.Calendar;

public class TestTime {
    public static void main(String[] args){
        TestTime.CalendarMethod();
    }
    private static void CalendarMethod(){
        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar);
        System.out.println(calendar.getTime());
        System.out.println(calendar.get(calendar.YEAR));
    }
}
java.util.GregorianCalendar[time=1428723507803,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2015,MONTH=3,WEEK_OF_YEAR=15,WEEK_OF_MONTH=2,DAY_OF_MONTH=11,DAY_OF_YEAR=101,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=2,AM_PM=0,HOUR=11,HOUR_OF_DAY=11,MINUTE=38,SECOND=27,MILLISECOND=803,ZONE_OFFSET=28800000,DST_OFFSET=0]
Sat Apr 11 11:38:27 CST 2015
2015

注意: System.out.println(calendar.get(calendar.YEAR));
这里的get是获取字段, 这里不能用calendar.YEAR, 否者得出的结果是1

三. Math

常用的方法:
static double abs(double a); //有重载方法
static double ceil(double a); //有重载方法
static double floor(double a); //有重载方法
static long round(double a); //有重载方法
static double pow(double a, double b);
static double random();

package com.fjnu.study;

public class TestMath {
    public static void main(String[] args){
        one();
    }

    private static void one(){
        System.out.println(Math.max(Math.max(1,30), 50));
    }
}

小数操作:

Math.round
Math.ceil
Math.floor
Math.random

产生随机数

Math.random();
使用Random对象

重要点: BigDecimal操作

时间: 2024-10-11 21:05:35

【学习笔记】java基本类型转换 和 日期操作 以及 Math的相关文章

java 学习笔记之 流、文件的操作

ava 学习笔记之 流.文件的操作 对于一些基础的知识,这里不再过多的解释, 简单的文件查询过滤操作 package com.wfu.ch08; import java.io.File; import java.io.FilenameFilter; public class Test1 { public static void main(String[] args) { File file=new File("F:\\2017-2018-1\\javase"); // //获取该目录下

OpenCV(C++接口)学习笔记2-像素级的图像操作

1.通过成员函数at(int y, int x)访问 这种方法需要知道像素保存的格式. (1) 这是为模板类型的函数,因为一个函数的返回类型只有在运行时才会知道. (2)这个函数返回的是一个向量即Vector,故有下标的操作. image.at<uchar>(j,i)= 255; 在单通道图像中,采用以上语句可以获取图像(i,j)处的灰度值(注:先行后列,一般用j表示行(rows),i表示列(cols)).如果是灰度图像的话,只需要更改一个数据就可以了.如果是rgb图像的话,就要用"

Hadoop学习笔记_5_分布式文件系统HDFS --shell操作

分布式文件系统HDFS --shell操作 分布式文件系统[Distributed File System]概述 数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 . 分布式文件系统特点: 是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间. 通透性.让实际上是通过网络来访问文件的动作,由程序与用户看来,就像是访问本地的磁盘一般

RxJava 学习笔记(八) --- Combining 结合操作

@(Rxjava学习笔记) RxJava 学习笔记(八) - Combining 结合操作 RxJava 学习笔记八 Combining 结合操作 StartWith 在数据序列的开头插入一条指定的项 Merge 将多个Observable合并为一个 MergeDelayError 将多个Observable合并为一个 Zip 使用一个函数组合多个Observable发射的数据集合然后再发射这个结果 CombineLatest 当两个Observables中的任何一个发射了一个数据时通过一个指定

《Javascript权威指南》学习笔记之十三:处理日期和时间

一.创建Date实例 1.Date类的方法和属性很多不是静态的,因此,在应用Date类的属性和方法之前,必须创建Date类的实例. var date = new Date();  //以当前日期和时间创建实例. var date = new Date(value);  //value是必选项,如果是数值,value表示指定日期与1970.1.1午夜之间的毫秒数:如果是字符串,value则按照parse()方法中的规则进行解析.全局的Date()函数完成与new Date(value)相同的功能

Lua学习笔记6:时间和日期

lua中的时间类似于C语言中的时间,如下: local time = os.time() print(time) local t = os.date("*t") for k,v in pairs(t) do <span style="white-space:pre"> </span>print(k,v) end 这样就可以分别输出年.月.日.时.分.秒,输出如下: 1407406553 hour 18 min 15 wday 5 day 7

[Spring Data MongoDB]学习笔记--MongoTemplate插入修改操作

插入操作: 直接给个例子 import static org.springframework.data.mongodb.core.query.Criteria.where; import static org.springframework.data.mongodb.core.query.Criteria.query; … Person p = new Person("Bob", 33); mongoTemplate.insert(p);//还可以多加一个参数,来提供collectio

iOS学习笔记(十六)——数据库操作(使用FMDB)

iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepersistentobjects等,FMDB (https://github.com/ccgus/fmdb) 是一款简洁.易用的封装库,这一篇文章简单介绍下FMDB的使用. 在FMDB下载文件后,工程中必须导入如下文件,并使用 libsqlite3.dylib 依赖包. FMDB同时兼容ARC和非ARC工

Linux学习笔记——第一篇——Ubuntu安装与操作

笔者是Windows的使用者,由于Coding的需要以及在Linux下开发的方便,所以开始使用Linux. 当然笔者还是割舍不下Windows的,毕竟很多通讯工具等软件以及游戏在Linux下是没有发行的,所以笔者使用了虚拟机啊. 下面给出简单的安装过程. 1.下载虚拟机软件,笔者比较喜欢VMPlayer,因为它比较轻便且免费,并且很好的支持了拖拽复制功能(VM TOOL),当然也可以使用如VirtualBox.VPC等 链接:https://my.vmware.com/web/vmware/fr