Java基础.J.1
来源:互联网 发布:上海大学网络网址 编辑:程序博客网 时间:2024/05/17 00:50
#### 两个整数相除得到小数并限制小数位数
<!--more-->
#### Math 的 floor、round、ceil 函数
#### 获取星期名字数组和月份名字数组
#### Java 引用
   Java 引用分强引用、软引用、弱引用、虚引用。强引用 (SoftReference) 用来保存对象实例,除非 JVM 即将 OutOfMemory ,否则是不会被 GC 回收,这个特性使得它特别适合设计对象Cache。弱引用 (WeekReference) 用来保存的对象实例可以被GC回收掉。这个类通常用于在某处保存对象引用,而又不干扰该对象被GC回收,通常用于Debug、内存监视工具等程序中。
#### 日历获取月份天数
//获取上个月的第一天
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
//获取上个月的最后一天
Calendar calendar1 = Calendar.getInstance();
calendar1.set(Calendar.DAY_OF_MONTH, 1);
calendar1.add(Calendar.DATE, -1);
System.out.println(calendar1.get(Calendar.DAY_OF_MONTH));
//获取这个月的最后一天
Calendar calendar2 = Calendar.getInstance();
// calendar2.add(Calendar.MONTH, 1);
// calendar2.set(Calendar.DAY_OF_MONTH,1);
// calendar2.add(Calendar.DATE,-1);
calendar2.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
System.out.println(calendar2.get(Calendar.DAY_OF_MONTH));
#### 获取日历每月显示的数组
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, 1);//设置月份
calendar.set(Calendar.DAY_OF_MONTH, 1);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) < 1 ? 7 : calendar.get(Calendar.DAY_OF_WEEK);
System.out.println(dayOfWeek);
calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
int lastDayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.add(Calendar.DATE, -1);
int lastDayOfLastMonth = calendar.get(Calendar.DAY_OF_MONTH);
for (int raw = 0; raw < 6; raw++) {
for (int column = 0; column < 7; column++) {
int day = (raw * 7 + column + 1) - dayOfWeek + 1;
if (day < 1) {
day = lastDayOfLastMonth + day;
} else if (day > lastDayOfMonth) {
day = day - lastDayOfMonth;
}
System.out.printf("%2d" + " ", day);
}
System.out.println("");
}
int a = 1, b = 3; System.out.println("---->result: " + (a / b)); //获取小数 System.out.println("---->result: " + ((float) a / b)); System.out.println("---->result: " + (a / (float) b)); System.out.println("---->result: " + ((float) a / (float) b)); //限制小数位数 float result = (float) a / b; DecimalFormat df = new DecimalFormat("0.00");//表示两位小数 System.out.println("---->result: " + df.format(result));// format() 返回的是String DecimalFormat df1 = new DecimalFormat("#.000"); System.out.println("---->result: " + df1.format(result));
<!--more-->
#### Math 的 floor、round、ceil 函数
/** * Math.floor(num) : 返回小于 num 的最大整数 * Math.ceil(num) : 返回大于 num 的最小整数 * Math.round(num) :返回 num “四舍五入” 后的整数 * 经典题:Math.round(11.5) 的结果为 12 ,Math.round(-11.5) 的结果为 -11 */ float[] numList = {1.40f, 1.5f, 1.6f, -1.40f, -1.5f, -1.6f}; for (float num : numList) { System.out.println("---->result: " + new DecimalFormat("0").format(Math.floor(num))); System.out.println("---->result: " + Math.ceil(num)); System.out.println("---->result: " + Math.round(num)); }
#### 获取星期名字数组和月份名字数组
Locale locale = Locale.getDefault();//获取当前默认的区域 System.out.println(locale); //DateFormatSymbols dateFormatSymbols = new DateFormatSymbols(Locale.US); DateFormatSymbols dateFormatSymbols = new DateFormatSymbols(); //返回星期名字数组的长度为 8 ,其中 0 的时候为空 String[] weekShortName = dateFormatSymbols.getShortWeekdays(); String[] weekName = dateFormatSymbols.getWeekdays(); for(int i = 1;i<weekShortName.length;i++){ //System.out.println(weekShortName[i]); System.out.println(weekShortName[i].substring(2,3)); System.out.println(weekName[i]); } //返回月份名字数组的长度为 13 ,其中 12 的时候为空 String[] monthShortName = dateFormatSymbols.getShortMonths(); String[] monthName = dateFormatSymbols.getMonths(); for(int i = 0;i<monthName.length;i++){ System.out.println(monthShortName[i]); System.out.println(monthName[i]); }
#### Java 引用
   Java 引用分强引用、软引用、弱引用、虚引用。强引用 (SoftReference) 用来保存对象实例,除非 JVM 即将 OutOfMemory ,否则是不会被 GC 回收,这个特性使得它特别适合设计对象Cache。弱引用 (WeekReference) 用来保存的对象实例可以被GC回收掉。这个类通常用于在某处保存对象引用,而又不干扰该对象被GC回收,通常用于Debug、内存监视工具等程序中。
public static void main(String[] args){ A a = new A(); a.str = "Hello,reference"; //弱引用 WeakReference<A> weakReference = new WeakReference<A>(a); //强引用 SoftReference<A> softReference = new SoftReference<A>(a); a = null; int i = 0; // while(weakReference.get()!=null){ while(softReference.get()!=null){ // System.out.println(String.format("Get str from object of weakReference:%s,count:%d", // weakReference.get().str,++i)); System.out.println(String.format("--str-->: %s ,count: %d ", softReference.get().str,++i)); if(i%10==0){ System.gc(); System.out.println("System.gc() was invoked!"); } try{ Thread.sleep(500); }catch (InterruptedException e){ } } System.out.println("object A was cleared by JVM!"); } static class A{ public String str; }
#### 日历获取月份天数
//获取上个月的第一天
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
//获取上个月的最后一天
Calendar calendar1 = Calendar.getInstance();
calendar1.set(Calendar.DAY_OF_MONTH, 1);
calendar1.add(Calendar.DATE, -1);
System.out.println(calendar1.get(Calendar.DAY_OF_MONTH));
//获取这个月的最后一天
Calendar calendar2 = Calendar.getInstance();
// calendar2.add(Calendar.MONTH, 1);
// calendar2.set(Calendar.DAY_OF_MONTH,1);
// calendar2.add(Calendar.DATE,-1);
calendar2.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
System.out.println(calendar2.get(Calendar.DAY_OF_MONTH));
#### 获取日历每月显示的数组
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, 1);//设置月份
calendar.set(Calendar.DAY_OF_MONTH, 1);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) < 1 ? 7 : calendar.get(Calendar.DAY_OF_WEEK);
System.out.println(dayOfWeek);
calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
int lastDayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.add(Calendar.DATE, -1);
int lastDayOfLastMonth = calendar.get(Calendar.DAY_OF_MONTH);
for (int raw = 0; raw < 6; raw++) {
for (int column = 0; column < 7; column++) {
int day = (raw * 7 + column + 1) - dayOfWeek + 1;
if (day < 1) {
day = lastDayOfLastMonth + day;
} else if (day > lastDayOfMonth) {
day = day - lastDayOfMonth;
}
System.out.printf("%2d" + " ", day);
}
System.out.println("");
}
0 0
- Java基础.J.1
- 【Java学习-J.160328.0.2】笔记1-Linux基础
- J SE基础笔记1
- java中的j++/j--
- JAVA J
- java之J.U.C系列文章--概括与基础
- 【Java学习-J.160330.0.3】笔记2-Linux基础
- 【Java学习-J.160331.0.4】笔记3-Linux基础
- 【Java学习-J.160601.0.20】Servlet 基础二
- 【Java学习-J.160611.0.21】Servlet基础四 cookie部分
- 【Java学习-J.160611.0.21】Servlet基础四 session部分
- Java基础之j简析avax.swing.JOptionPane(一)
- Java基础之j简析avax.swing.JOptionPane(二)
- java j=j++有感
- java j=j++有感
- 基础dp9-- J
- java中j=J++综合理解
- J - Java Beans
- 《Drools6.4 中文文档》第18章18.2 Quick Start(快速开始)
- java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题
- 【java】多线程的两种实现
- 深入理解Java的接口和抽象类
- JavaWeb项目中加入memcached缓存
- Java基础.J.1
- 序列化和反序列化
- 51Nod-1449-砝码称重
- Could not load file or assembly 'ExtJS5Example.Bll' or one of its dependencies. An attempt was made
- 数据库多表查询之 where & INNER JOIN
- JSP servlet MVC简单部署说明
- java泛型(三)、通配符的使用
- Android getevent/sendevent用法详解
- 如何实现RESTful Web API的身份验证