亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

JAVA基礎學習day18--常用工具類

2019-11-14 15:33:12
字體:
來源:轉載
供稿:網友

一、System

1.1、概述

 

System 類包含一些有用的類字段和方法。它不能被實例化。

 

System 類提供的設施中,有標準輸入、標準輸出和錯誤輸出流;對外部定義的屬性和環境變量的訪問;加載文件和庫的方法;還有快速復制數組的一部分的實用方法。

 

字段摘要
static PRintStreamerr
“標準”錯誤輸出流。
static InputStreamin
“標準”輸入流。
static PrintStreamout
“標準”輸出流。

 

1.2、getPropertis()獲取system加載時都加載了哪些對象

 Properties是HashTable的子類,也就是Map集合的子類對象

可以通過Map的方法取出該集合中的元素。

該集合中存儲的都是字符串,沒有泛型定義

package com.pb.system.demo1;import java.util.Iterator;import java.util.Properties;import java.util.Set;public class SystemDemo1 {    public static void main(String[] args) {        //獲取System啟動是初始化的對象,返回是一個Properties,這個是HashTable的子類對象也是個Map集合        Properties prop=System.getProperties();        Set set=prop.keySet(); //獲取所胡鍵        Iterator it=set.iterator();        while(it.hasNext()){            String key=(String)it.next();            String value=(String)prop.get(key);            System.out.println(key+": "+value);        }            }}

結果:

java.runtime.name: Java(TM) SE Runtime Environmentsun.boot.library.path: C:/Java/jre1.8.0_60/binjava.vm.version: 25.60-b23java.vm.vendor: Oracle Corporationjava.vendor.url: http://java.oracle.com/path.separator: ;java.vm.name: Java HotSpot(TM) 64-Bit Server VMfile.encoding.pkg: sun.iouser.country: CNuser.script: sun.java.launcher: SUN_STANDARDsun.os.patch.level: java.vm.specification.name: Java Virtual Machine Specificationuser.dir: F:/work/ListDemojava.runtime.version: 1.8.0_60-b27java.awt.graphicsenv: sun.awt.Win32GraphicsEnvironmentjava.endorsed.dirs: C:/Java/jre1.8.0_60/lib/endorsedos.arch: amd64java.io.tmpdir: C:/Users/ADMINI~1/AppData/Local/Temp/line.separator: java.vm.specification.vendor: Oracle Corporationuser.variant: os.name: Windows 7sun.jnu.encoding: GBKjava.library.path: C:/Java/jre1.8.0_60/bin;C:/Windows/Sun/Java/bin;C:/Windows/system32;C:/Windows;C:/Java/jre1.8.0_60/bin/server;C:/Java/jre1.8.0_60/bin;C:/Java/jre1.8.0_60/lib/amd64;C:/ProgramData/Oracle/Java/javapath;C:/Program Files/Broadcom/Broadcom 802.11 Network Adapter/Driver;;C:/Windows/system32;C:/Windows;C:/Windows/System32/Wbem;C:/Windows/System32/WindowsPowerShell/v1.0/;C:/Program Files/Lenovo/Bluetooth Software/;C:/Program Files/Lenovo/Bluetooth Software/syswow64;C:/Program Files (x86)/ATI Technologies/ATI.ACE/Core-Static;C:/Java/jdk1.8.0_60/bin;C:/Java/jdk1.8.0_60/jre/bin;F:/eclipse-jee-mars-R-win32-x86_64/eclipse;;.java.specification.name: Java Platform API Specificationjava.class.version: 52.0sun.management.compiler: HotSpot 64-Bit Tiered Compilersos.version: 6.1user.home: C:/Users/Administratoruser.timezone: java.awt.printerjob: sun.awt.windows.WPrinterJobfile.encoding: UTF-8java.specification.version: 1.8java.class.path: F:/work/ListDemo/binuser.name: Administratorjava.vm.specification.version: 1.8sun.java.command: com.pb.system.demo1.SystemDemo1java.home: C:/Java/jre1.8.0_60sun.arch.data.model: 64user.language: zhjava.specification.vendor: Oracle Corporationawt.toolkit: sun.awt.windows.WToolkitjava.vm.info: mixed modejava.version: 1.8.0_60java.ext.dirs: C:/Java/jre1.8.0_60/lib/ext;C:/Windows/Sun/Java/lib/extsun.boot.class.path: C:/Java/jre1.8.0_60/lib/resources.jar;C:/Java/jre1.8.0_60/lib/rt.jar;C:/Java/jre1.8.0_60/lib/sunrsasign.jar;C:/Java/jre1.8.0_60/lib/jsse.jar;C:/Java/jre1.8.0_60/lib/jce.jar;C:/Java/jre1.8.0_60/lib/charsets.jar;C:/Java/jre1.8.0_60/lib/jfr.jar;C:/Java/jre1.8.0_60/classesjava.vendor: Oracle Corporationfile.separator: /java.vendor.url.bug: http://bugreport.sun.com/bugreport/sun.io.unicode.encoding: UnicodeLittlesun.cpu.endian: littlesun.desktop: windowssun.cpu.isalist: amd64

 

 

 

二、Runtime

2.1、Runtime概述

 

每個 Java 應用程序都有一個 Runtime 類實例,使應用程序能夠與其運行的環境相連接。可以通過 getRuntime 方法獲取當前運行時。

 

應用程序不能創建自己的 Runtime 類實例。

 java.lang.Runtime

static RuntimegetRuntime()
返回與當前 Java 應用程序相關的運行時對象。

 單例模式

2.2、示例

 

package com.pb.system.demo1;import java.io.IOException;public class RuntimeDemo {    public static void main(String[] args) {        Runtime rt=Runtime.getRuntime();        Process p = null; //進程        try {            //打開啟事本             p=rt.exec("notepad  e://a.txt");//或者路徑加命令 返回一個進程            Thread.sleep(5000); //等待5秒        } catch (IOException e) {            e.printStackTrace();        } catch (InterruptedException e) {            e.printStackTrace();        }finally{            p.destroy(); //關閉進程        }    }}

 

 

 

三、Date

3.1、Date

Date 表示特定的瞬間,精確到毫秒

方法摘要
booleanafter(Date when)
測試此日期是否在指定日期之后。
booleanbefore(Date when)
測試此日期是否在指定日期之前。
Objectclone()
返回此對象的副本。
intcompareTo(Date anotherDate)
比較兩個日期的順序。
booleanequals(Object obj)
比較兩個日期的相等性。
intgetDate()
已過時。 從 JDK 1.1 開始,由 Calendar.get(Calendar.DAY_OF_MONTH) 取代。
intgetDay()
已過時。 從 JDK 1.1 開始,由 Calendar.get(Calendar.DAY_OF_WEEK) 取代。
intgetHours()
已過時。 從 JDK 1.1 開始,由 Calendar.get(Calendar.HOUR_OF_DAY) 取代。
intgetMinutes()
已過時。 從 JDK 1.1 開始,由 Calendar.get(Calendar.MINUTE) 取代。
intgetMonth()
已過時。 從 JDK 1.1 開始,由 Calendar.get(Calendar.MONTH) 取代。
intgetSeconds()
已過時。 從 JDK 1.1 開始,由 Calendar.get(Calendar.SECOND) 取代。
longgetTime()
返回自 1970 年 1 月 1 日 00:00:00 GMT 以來此 Date 對象表示的毫秒數。
intgetTimezoneOffset()
已過時。 從 JDK 1.1 開始,由 -(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000) 取代。
intgetYear()
已過時。 從 JDK 1.1 開始,由 Calendar.get(Calendar.YEAR) - 1900 取代。
inthashCode()
返回此對象的哈希碼值。
static longparse(String s)
已過時。 從 JDK 1.1 開始,由 DateFormat.parse(String s) 取代。
voidsetDate(int date)
已過時。 從 JDK 1.1 開始,由 Calendar.set(Calendar.DAY_OF_MONTH, int date) 取代。
voidsetHours(int hours)
已過時。 從 JDK 1.1 開始,由 Calendar.set(Calendar.HOUR_OF_DAY, int hours) 取代。
voidsetMinutes(int minutes)
已過時。 從 JDK 1.1 開始,由 Calendar.set(Calendar.MINUTE, int minutes) 取代。
voidsetMonth(int month)
已過時。 從 JDK 1.1 開始,由 Calendar.set(Calendar.MONTH, int month) 取代。
voidsetSeconds(int seconds)
已過時。 從 JDK 1.1 開始,由 Calendar.set(Calendar.SECOND, int seconds) 取代。
voidsetTime(long time)
設置此 Date 對象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的時間點。
voidsetYear(int year)
已過時。 從 JDK 1.1 開始,由 Calendar.set(Calendar.YEAR, year + 1900) 取代。
StringtoGMTString()
已過時。 從 JDK 1.1 開始,由 DateFormat.format(Date date) 取代,使用 GMT TimeZone。
StringtoLocaleString()
已過時。 從 JDK 1.1 開始,由 DateFormat.format(Date date) 取代。
StringtoString()
把此 Date 對象轉換為以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。
static longUTC(int year, int month, int date, int hrs, int min, int sec)
已過時。 從 JDK 1.1 開始,由 Calendar.set(year + 1900, month, date, hrs, min, sec)GregorianCalendar(year + 1900, month, date, hrs, min, sec) 取代,使用 UTC TimeZone,后跟 Calendar.getTime().getTime()。

3.2、SimpleDateFormat

 

日期和時間模式

 

日期和時間格式由日期和時間模式 字符串指定。在日期和時間模式字符串中,未加引號的字母 'A''Z''a''z' 被解釋為模式字母,用來表示日期或時間字符串元素。文本可以使用單引號 (') 引起來,以免進行解釋。"''" 表示單引號。所有其他字符均不解釋;只是在格式化時將它們簡單復制到輸出字符串,或者在解析時與輸入字符串進行匹配。

 

定義了以下模式字母(所有其他字符 'A''Z''a''z' 都被保留):

 

字母日期或時間元素表示示例
GEra 標志符TextAD
yYear1996; 96
M年中的月份MonthJuly; Jul; 07
w年中的周數Number27
W月份中的周數Number2
D年中的天數Number189
d月份中的天數Number10
F月份中的星期Number2
E星期中的天數TextTuesday; Tue
aAm/pm 標記TextPM
H一天中的小時數(0-23)Number0
k一天中的小時數(1-24)Number24
Kam/pm 中的小時數(0-11)Number0
ham/pm 中的小時數(1-12)Number12
m小時中的分鐘數Number30
s分鐘中的秒數Number55
S毫秒數Number978
z時區General time zonePacific Standard Time; PST; GMT-08:00
Z時區RFC 822 time zone-0800

 

 

SimpleDateFormat 是一個以與語言環境有關的方式來格式化和解析日期的具體類。它允許進行格式化(日期 -> 文本)、解析(文本 -> 日期)和規范化。 

 

示例:

 

package com.pb.date.demo1;import java.text.SimpleDateFormat;import java.util.Date;public class DateDemo1 {    public static void main(String[] args) {        Date d=new Date();        System.out.println(d); //返回值為Sun Sep 27 15:35:10 CST 2015        //格式轉換        SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        String str=sdf1.format(d);        System.out.println(str); //2015-09-27 15:36:37        }}

 

 

四、Calendar

4.1、Calendar

 

Calendar 類是一個抽象類,它為特定瞬間與一組諸如 YEARMONTH、DAY_OF_MONTH、HOUR日歷字段之間的轉換提供了一些方法,并為操作日歷字段(例如獲得下星期的日期)提供了一些方法。瞬間可用毫秒值來表示,它是距歷元(即格林威治標準時間 1970 年 1 月 1 日的 00:00:00.000,格里高利歷)的偏移量。

 

該類還為實現包范圍外的具體日歷系統提供了其他字段和方法。這些字段和方法被定義為 protected

 

與其他語言環境敏感類一樣,Calendar 提供了一個類方法 getInstance,以獲得此類型的一個通用的對象。CalendargetInstance 方法返回一個 Calendar 對象,其日歷字段已由當前日期和時間初始化:

 

     Calendar rightNow = Calendar.getInstance(); 

 

 

4.2、示例

 

package com.pb.date.demo1;import java.util.Calendar;import java.util.GregorianCalendar;public class CalendarDemo {    public static void main(String[] args) {        Calendar c=Calendar.getInstance();        System.out.println(c);        int year=c.get(Calendar.YEAR);//        int month=c.get(Calendar.MONTH)+1;//月0-11之間+1為當前月份        int day=c.get(Calendar.DAY_OF_MONTH);//月中的日期        int hour=c.get(Calendar.HOUR_OF_DAY);//天中的小時        int minuts=c.get(Calendar.MINUTE);        int second=c.get(Calendar.SECOND);        System.out.println(year+"年"+month+"月"+day+"日"+hour+"時"+minuts+"分"+second+"秒");                //獲取2年之前的日期        //getYear(c,-2);        //獲取2年之后的日期        //getYear(c,2);        //獲取2個月之前的日期        //getMonth(c,-2);                //獲取2個月之后的日期        //getMonth(c,2);        //當前日期-20天的日期        //getDay(c,-20);        //當前日期+83天的日期        //getDay(c,83);        //求當年是不是閏年        //isLearYear(c);        /*         * Calendar的子類提供了,判斷是不是閏年的方法         */        GregorianCalendar gc=new GregorianCalendar();        //boolean flag=gc.isLeapYear(2015);        boolean flag=gc.isLeapYear(gc.YEAR);        if(flag){            System.out.println("閏年!");        }else{            System.out.println("不是閏年!");        }            }    //對年進行+和-操作    public static void getYear(Calendar c,int num){        c.add(Calendar.YEAR, num);        int year=c.get(Calendar.YEAR);        System.out.println(year);    }    //對月進行+和-操作    public static void getMonth(Calendar c,int num){        c.add(Calendar.MONTH, num);        int month=c.get(Calendar.MONTH)+1;        int year=c.get(Calendar.YEAR);        System.out.println(year+"年"+month+"月");    }    //對日進行+和-操作        public static void getDay(Calendar c,int num){            c.add(Calendar.DAY_OF_MONTH, num);            int day=c.get(Calendar.DAY_OF_MONTH);            int year=c.get(Calendar.YEAR);            int month=c.get(Calendar.MONTH)+1;            System.out.println(year+"年"+month+"月"+day);        }        public static void isLearYear(Calendar c){            int year=c.get(Calendar.YEAR);            //閏年的條件可以被4整除但不能被100整除,或者可以被400整除            if(year%4==0&&year%100!=0 ||year%400==0){                System.out.println(year+"年閏年!");            }else{                System.out.println(year+"年不是閏年!");            }        }}

 

 

五、Math

5.1、Math

Math 類包含用于執行基本數學運算的方法,如初等指數、對數、平方根和三角函數。 

字段摘要
static doubleE
比任何其他值都更接近 e(即自然對數的底數)的 double 值。
static doublePI
比任何其他值都更接近 pi(即圓的周長與直徑之比)的 double 值。

方法摘要
static doubleabs(double a)
返回 double 值的絕對值。
static floatabs(float a)
返回 float 值的絕對值。
static intabs(int a)
返回 int 值的絕對值。
static longabs(long a)
返回 long 值的絕對值。
static doubleacos(double a)
返回一個值的反余弦;返回的角度范圍在 0.0 到 pi 之間。
static doubleasin(double a)
返回一個值的反正弦;返回的角度范圍在 -pi/2 到 pi/2 之間。
static doubleatan(double a)
返回一個值的反正切;返回的角度范圍在 -pi/2 到 pi/2 之間。
static doubleatan2(double y, double x)
將矩形坐標 (x, y) 轉換成極坐標 (r, theta),返回所得角 theta
static doublecbrt(double a)
返回 double 值的立方根。
static doubleceil(double a)
返回最小的(最接近負無窮大)double 值,該值大于等于參數,并等于某個整數。
static doublecopySign(double magnitude, double sign)
返回帶有第二個浮點參數符號的第一個浮點參數。
static floatcopySign(float magnitude, float sign)
返回帶有第二個浮點參數符號的第一個浮點參數。
static doublecos(double a)
返回角的三角余弦。
static doublecosh(double x)
返回 double 值的雙曲線余弦。
static doubleexp(double a)
返回歐拉數 edouble 次冪的值。
static doubleexpm1(double x)
返回 ex -1。
static doublefloor(double a)
返回最大的(最接近正無窮大)double 值,該值小于等于參數,并等于某個整數。
static intgetExponent(double d)
返回 double 表示形式中使用的無偏指數。
static intgetExponent(float f)
返回 float 表示形式中使用的無偏指數。
static doublehypot(double x, double y)
返回 sqrt(x2 +y2),沒有中間溢出或下溢。
static doubleIEEEremainder(double f1, double f2)
按照 IEEE 754 標準的規定,對兩個參數進行余數運算。
static doublelog(double a)
返回 double 值的自然對數(底數是 e)。
static doublelog10(double a)
返回 double 值的底數為 10 的對數。
static doublelog1p(double x)
返回參數與 1 之和的自然對數。
static doublemax(double a, double b)
返回兩個 double 值中較大的一個。
static floatmax(float a, float b)
返回兩個 float 值中較大的一個。
static intmax(int a, int b)
返回兩個 int 值中較大的一個。
static longmax(long a, long b)
返回兩個 long 值中較大的一個。
static doublemin(double a, double b)
返回兩個 double 值中較小的一個。
static floatmin(float a, float b)
返回兩個 float 值中較小的一個。
static intmin(int a, int b)
返回兩個 int 值中較小的一個。
static longmin(long a, long b)
返回兩個 long 值中較小的一個。
static doublenextAfter(double start, double direction)
返回第一個參數和第二個參數之間與第一個參數相鄰的浮點數。
static floatnextAfter(float start, double direction)
返回第一個參數和第二個參數之間與第一個參數相鄰的浮點數。
static doublenextUp(double d)
返回 d 和正無窮大之間與 d 相鄰的浮點值。
static floatnextUp(float f)
返回 f 和正無窮大之間與 f 相鄰的浮點值。
static doublepow(double a, double b)
返回第一個參數的第二個參數次冪的值。
static doublerandom()
返回帶正號的 double 值,該值大于等于 0.0 且小于 1.0
static doublerint(double a)
返回最接近參數并等于某一整數的 double 值。
static longround(double a)
返回最接近參數的 long。
static intround(float a)
返回最接近參數的 int
static doublescalb(double d, int scaleFactor)
返回 d × 2scaleFactor,其舍入方式如同將一個正確舍入的浮點值乘以 double 值集合中的一個值。
static floatscalb(float f, int scaleFactor)
返回 f × 2scaleFactor,其舍入方式如同將一個正確舍入的浮點值乘以 float 值集合中的一個值。
static doublesignum(double d)
返回參數的符號函數;如果參數為 0,則返回 0;如果參數大于 0,則返回 1.0;如果參數小于 0,則返回 -1.0。
static floatsignum(float f)
返回參數的符號函數;如果參數為 0,則返回 0;如果參數大于 0,則返回 1.0;如果參數小于 0,則返回 -1.0。
static doublesin(double a)
返回角的三角正弦。
static doublesinh(double x)
返回 double 值的雙曲線正弦。
static doublesqrt(double a)
返回正確舍入的 double 值的正平方根。
static doubletan(double a)
返回角的三角正切。
static doubletanh(double x)
返回 double 值的雙曲線余弦。
static doubletoDegrees(double angrad)
將用弧度表示的角轉換為近似相等的用角度表示的角。
static doubletoRadians(double angdeg)
將用角度表示的角轉換為近似相等的用弧度表示的角。
static doubleulp(double d)
返回參數的 ulp 大小。
static floatulp(float f)
返回參數的 ulp 大小。

5.2、示例

 

package com.pb.math.demo1;public class MathDemo1 {    public static void main(String[] args) {        double d = Math.ceil(16.3); // 返回大于指定數據的最小整數17        System.out.println("d=" + d);        double d1 = Math.ceil(-16.3); // 返回大于指定數據的最小整數-16        System.out.println("d1=" + d1);        double d2 = Math.floor(16.3);// 16,返回小于指定數據最大整數        System.out.println("d2=" + d2);        double d3 = Math.floor(-16.3);// 16,返回小于指定數據最大整數-17        System.out.println("d3=" + d3);        double d4 = Math.round(12.3);// 12;        System.out.println("d4=" + d4);        double d5 = Math.round(12.54);// 13;        System.out.println("d5=" + d5);        double d6 = Math.round(-12.54);// -12;        System.out.println("d6=" + d6);        double d7 = Math.round(-12.34);// -12;        System.out.println("d7=" + d7);                System.out.println(Math.round(11.5));//12        System.out.println(Math.round(-11.5));//-11    }}

5.3、Random類

Random 類實現的算法使用一個 protected 實用工具方法,每次調用它最多可提供 32 個偽隨機生成的位。 

構造方法摘要
Random()
創建一個新的隨機數生成器。
Random(long seed)
使用單個 long 種子創建一個新的隨機數生成器。

方法摘要
protected intnext(int bits)
生成下一個偽隨機數。
booleannextBoolean()
返回下一個偽隨機數,它是取自此隨機數生成器序列的均勻分布的 boolean 值。
voidnextBytes(byte[] bytes)
生成隨機字節并將其置于用戶提供的 byte 數組中。
doublenextDouble()
返回下一個偽隨機數,它是取自此隨機數生成器序列的、在 0.01.0 之間均勻分布的 double 值。
floatnextFloat()
返回下一個偽隨機數,它是取自此隨機數生成器序列的、在 0.01.0 之間均勻分布的 float 值。
doublenextGaussian()
返回下一個偽隨機數,它是取自此隨機數生成器序列的、呈高斯(“正態”)分布的 double 值,其平均值是 0.0,標準差是 1.0。
intnextInt()
返回下一個偽隨機數,它是此隨機數生成器的序列中均勻分布的 int 值。
intnextInt(int n)
返回一個偽隨機數,它是取自此隨機數生成器序列的、在 0(包括)和指定值(不包括)之間均勻分布的 int 值。
longnextLong()
返回下一個偽隨機數,它是取自此隨機數生成器序列的均勻分布的 long 值。
voidsetSeed(long seed)
使用單個 long 種子設置此隨機數生成器的種子。

示例:

 

package com.pb.math.demo1;import java.util.Random;/** * 返回帶正號的 double 值,該值大于等于 0.0 且小于 1.0。 * 返回值是一個偽隨機選擇的數,在該范圍內(近似)均勻分布。  * 大于等于 0.0 且小于 1.0 的偽隨機 double 值 * */public class MathDemo2 {    public static void main(String[] args) {        Random r=new Random();        for(int x=0;x<10;x++){            int  i=r.nextInt(10); //1-10包含1不包含10            float f=r.nextFloat()*10; //0-1之間*10            double d=r.nextDouble()*10;//0-1之間*10            sop(i);            sop(f);            sop(d);        }            }    public static void sop(Object obj){        System.out.println(obj);    }}

 

 

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲风情亚aⅴ在线发布| 久热在线中文字幕色999舞| 91在线精品播放| 91高清免费在线观看| 一道本无吗dⅴd在线播放一区| 最近2019年手机中文字幕| 亚洲va国产va天堂va久久| 性欧美xxxx| 另类专区欧美制服同性| 亚洲一区二区三区香蕉| 欧美成人在线免费视频| 欧美福利在线观看| 精品美女国产在线| 亚洲国产97在线精品一区| 欧美性xxxxx| 日韩资源在线观看| 国产精品伦子伦免费视频| 国产精品亚洲аv天堂网| 亚洲日本成人女熟在线观看| 亚洲自拍欧美另类| 成人av在线亚洲| 亚洲精品国产精品国产自| 中文字幕在线视频日韩| 亚洲第一av网| 欧美在线观看日本一区| 欧美激情中文字幕在线| 亚洲精品av在线播放| 欧美日韩在线视频首页| 欧美极品在线播放| 国产噜噜噜噜久久久久久久久| www.日韩视频| 综合久久五月天| 国产欧美日韩中文字幕| 国产美女精品免费电影| 日韩av电影免费观看高清| 欧美激情亚洲自拍| 国产精品444| 久久久国产一区二区| 成人免费网站在线看| 久久久久久久久网站| 亚洲视频在线看| 国产精品福利久久久| 亚洲电影免费观看| 青青久久aⅴ北条麻妃| 日韩亚洲一区二区| 欧美精品在线极品| 亚洲第一天堂无码专区| 69久久夜色精品国产69| 成人xxxx视频| 欧美最猛黑人xxxx黑人猛叫黄| 精品国产一区二区三区四区在线观看| 在线电影中文日韩| 中文字幕国产精品| 精品国产成人av| 欧美国产日韩一区二区三区| y97精品国产97久久久久久| 在线观看91久久久久久| 啪一啪鲁一鲁2019在线视频| 91精品视频免费观看| 一级做a爰片久久毛片美女图片| 久久久亚洲成人| 国产精品美女av| 成人444kkkk在线观看| 成人xxxxx| 日韩在线一区二区三区免费视频| 国产精品久久久久久久久久久久久久| 51精品在线观看| 国产成人精品在线视频| 亚洲91av视频| 一区二区三区视频观看| 亚洲国产精品字幕| 欧美黑人巨大精品一区二区| 97色在线视频观看| 国产精品久久久久久超碰| 亚洲一区999| 成人精品一区二区三区| 欧美视频国产精品| 亚洲精品v欧美精品v日韩精品| 亚洲激情在线观看| 色播久久人人爽人人爽人人片视av| 亚洲成人国产精品| 亚洲电影成人av99爱色| 国产精品久久久久久久久免费| 国产精品极品美女在线观看免费| 国产精品ⅴa在线观看h| 欧美精品免费播放| 欧美日韩福利电影| 欧美一区二区大胆人体摄影专业网站| 亚洲成人网av| 久久精品久久久久久国产 免费| 欧美黑人性生活视频| 亚洲va欧美va国产综合剧情| 91麻豆国产语对白在线观看| 国产精品揄拍一区二区| 国产精品免费一区二区三区都可以| 中文字幕在线成人| 亚洲精品一区在线观看香蕉| 中文字幕亚洲二区| 国产精品十八以下禁看| 日韩av日韩在线观看| 亚洲性猛交xxxxwww| 国产ts人妖一区二区三区| 久久久91精品国产一区不卡| 亚洲一区美女视频在线观看免费| 久久99精品视频一区97| 国产午夜精品美女视频明星a级| 欧美日韩国产精品一区二区三区四区| 国产精品成人播放| 91久久久久久久久久久| 国产+成+人+亚洲欧洲| 欧美日韩在线视频首页| 国产精品国产三级国产aⅴ9色| 久久久久久亚洲精品中文字幕| 久久久久久中文字幕| 国产视频精品久久久| 国产成人精品久久二区二区91| 91成人在线播放| 亚洲精品久久久久| 久久久人成影片一区二区三区| 亚洲人成电影网站色xx| 亚洲人成在线电影| 欧美极品xxxx| 日韩av免费在线看| 亚洲一区二区三区乱码aⅴ| 午夜美女久久久久爽久久| 国产一区红桃视频| 亚洲天堂av在线免费| 国产精品吴梦梦| 亚洲精品黄网在线观看| 久久久黄色av| 亚洲国产精品成人一区二区| 青青久久av北条麻妃海外网| 亚洲自拍偷拍色图| 日韩av网址在线| 久久99视频免费| 日韩一区在线视频| 亚洲欧美激情一区| 国产成人福利夜色影视| 欧美成人激情视频免费观看| 欧美成人免费在线视频| 欧洲中文字幕国产精品| 国产有码在线一区二区视频| 成人自拍性视频| 精品久久久久久久久久久久| 精品人伦一区二区三区蜜桃网站| 国产精品久久久久久亚洲影视| 日韩免费精品视频| 8x海外华人永久免费日韩内陆视频| 亚洲成av人乱码色午夜| 欧美激情亚洲另类| 欧美大码xxxx| 久久这里有精品| 欧美激情视频一区二区三区不卡| 久久婷婷国产麻豆91天堂| 亚洲欧美日本精品| 国模gogo一区二区大胆私拍| 亚洲国产精品字幕| 国产精品久久久久久影视| 亚洲男人的天堂在线| 欧美另类高清videos| 国产啪精品视频网站| 性色av一区二区三区红粉影视| 欧美www视频在线观看| 日韩av在线免费观看一区|