国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JAVA學(xué)習(xí)之路 (九)包裝類

MockingBird / 1106人閱讀

摘要:包裝類基本數(shù)據(jù)類型如等。它們并不具備對(duì)象的特性,比如不能調(diào)用方法。為了讓基本數(shù)據(jù)類型也能具有對(duì)象的特性,為每個(gè)基本數(shù)據(jù)類型提供了包裝類。

包裝類
基本數(shù)據(jù)類型:如 int、float、double、boolean、char 等。它們并不具備對(duì)象的特性,比如不能調(diào)用方法。為了讓基本數(shù)據(jù)類型也能具有對(duì)象的特性,java為每個(gè)基本數(shù)據(jù)類型提供了包裝類。

基本類型和包裝類之間的對(duì)應(yīng)關(guān)系:

Integer

Integer 包裝類的構(gòu)造方法:

int a = 10;
Integer m = new Integer(22);
Integer n = new Integer("100");

Integer包裝類的方法

        // 定義int類型變量,值為86
        int score1 = 86; 

        // 創(chuàng)建Integer包裝類對(duì)象,表示變量score1的值
        Integer score2=new Integer(score1);

        // 將Integer包裝類轉(zhuǎn)換為double類型
        double score3=score2.doubleValue();

        // 將Integer包裝類轉(zhuǎn)換為float類型
        float score4=score2.floatValue();

        // 將Integer包裝類轉(zhuǎn)換為int類型
        int score5 =score2.intValue();

        System.out.println("Integer包裝類:" + score2);
        System.out.println("double類型:" + score3);
        System.out.println("float類型:" + score4);
        System.out.println("int類型:" + score5);
Java 中基本類型和包裝類之間的轉(zhuǎn)換
基本類型和包裝類之間經(jīng)常需要互相轉(zhuǎn)換

在 JDK1.5 引入自動(dòng)裝箱和拆箱的機(jī)制后,包裝類和基本類型之間的轉(zhuǎn)換就更加輕松便利了

裝箱

把【基本類型】轉(zhuǎn)換成【包裝類】,使其具有對(duì)象的性質(zhì),又可分為【手動(dòng)裝箱】和【自動(dòng)裝箱】。

int i = 10;
Integer x = new Integer(i); // 手動(dòng)包裝
Integer y = i; // 自動(dòng)包裝

拆箱

和裝箱相反,把包裝類對(duì)象轉(zhuǎn)換成基本類型的值,又可分為手動(dòng)拆箱和自動(dòng)拆箱.

Integer j = new Integer(9);
int m = j.intValue();  // 手動(dòng)拆箱
int n = j; // 自動(dòng)拆箱
        // 定義double類型變量
        double a = 91.5;
        
         // 手動(dòng)裝箱
        Double b =  new Double(a);      
        
        // 自動(dòng)裝箱
        Double c = a;

        System.out.println("裝箱后的結(jié)果為:" + b + "和" + c);
        
        // 定義一個(gè)Double包裝類對(duì)象,值為8
        Double d = new Double(87.0);
        
        // 手動(dòng)拆箱
        double e =  d.doubleValue();
        
        // 自動(dòng)拆箱
        double f = d;
        
        System.out.println("拆箱后的結(jié)果為:" + e + "和" + f);
Java 中基本類型和字符串之間的轉(zhuǎn)換

基本數(shù)據(jù) => 字符串

使用包裝類的toString()方法

使用String類的valueOf()

用一個(gè)空字符串加上基本類型,得到的就是基本類型數(shù)據(jù)對(duì)應(yīng)的字符串

int c = 10;
String str1 = Integer.toString(c);
String str2 = String.valueOf(c);
String str3 = c + "";

字符串 => 基本數(shù)據(jù)

調(diào)用包裝類的 parseXxx 靜態(tài)方法

調(diào)用包裝類的 valueOf() 方法轉(zhuǎn)換為基本類型的包裝類,會(huì)自動(dòng)拆箱

String str = "8";
int d = Integer.parseInt(str);
int e = Integer.valueOf(str);
double m = 78.5;
        //將基本類型轉(zhuǎn)換為字符串
        String str1 = String.valueOf(m);                             ;
       //String str1 = String.toString(m); 
        System.out.println("m 轉(zhuǎn)換為String型后與整數(shù)20的求和結(jié)果為: "+(str1+20));
        
        String str = "180.20";
        // 將字符串轉(zhuǎn)換為基本類型
        Double a =  Double.valueOf(str)                      ;
        //Double a = Double.parseDouble(str);
    
        System.out.println("str 轉(zhuǎn)換為double型后與整數(shù)20的求和結(jié)果為: "+(a+20));
ps: 其他基本類型與字符串的相互轉(zhuǎn)化這里不再一一列出,方法都類似
Date
在程序開(kāi)發(fā)中,經(jīng)常需要處理日期和時(shí)間的相關(guān)數(shù)據(jù),此時(shí)我們可以使用 java.util 包中的 Date 類。

使用 Date 類的默認(rèn)無(wú)參構(gòu)造方法創(chuàng)建出的對(duì)象就代表當(dāng)前時(shí)間,我們可以直接輸出 Date 對(duì)象顯示當(dāng)前的時(shí)間,顯示的結(jié)果如下:

按指定的格式進(jìn)行顯示,如 2014-06-11 09:22:30 ,那該怎么做呢

        Date d5 = new Date();
        System.out.println(d5); // Fri Aug 17 22:03:51 CST 2018
        
        SimpleDateFormat d1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String today = d1.format(d5); // 2018-08-18 07:29:38
        System.out.println(today);
        
        
        // 使用format()方法將日期轉(zhuǎn)換為指定格式的文本
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH時(shí)mm分ss秒");
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
        SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        
        // 創(chuàng)建Date對(duì)象,表示當(dāng)前時(shí)間
        Date now =new Date();
        
        // 調(diào)用format()方法,將日期轉(zhuǎn)換為字符串并輸出
        System.out.println(sdf1.format(now));  //2018年08月18日 07時(shí)29分38秒
        System.out.println(sdf2.format(now));  //2018/08/18 07:29
        System.out.println(sdf3.format(now));  //2018-08-18 07:29:38

使用 parse() 方法將文本轉(zhuǎn)換為日期

        // 使用parse()方法將文本轉(zhuǎn)換為日期
        String d = "2018年08月10日 10:29:38";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        
         // 調(diào)用parse()方法,將字符串轉(zhuǎn)換為日期
        Date date = sdf.parse(d);
        
        System.out.println(date);

完整代碼

package myDate;
import java.text.SimpleDateFormat;  //  使用 Date 類時(shí)需要導(dǎo)入 java.util 包,使用 SimpleDateFormat 時(shí)需要導(dǎo)入 java.text 包
import java.text.ParseException;  // 調(diào)用 SimpleDateFormat 對(duì)象的 parse() 方法時(shí)可能會(huì)出現(xiàn)轉(zhuǎn)換異常,即 ParseException ,因此需要進(jìn)行異常處理
import java.util.Date;

public class test {

    public static void main(String[] args) throws ParseException{
        // TODO Auto-generated method stub
        Date d5 = new Date();
        System.out.println(d5); // Fri Aug 17 22:03:51 CST 2018
        
        SimpleDateFormat d1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String today = d1.format(d5); // 2018-08-18 07:29:38
        System.out.println(today);
        
        
        // 使用format()方法將日期轉(zhuǎn)換為指定格式的文本
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH時(shí)mm分ss秒");
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
        SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        
        // 創(chuàng)建Date對(duì)象,表示當(dāng)前時(shí)間
        Date now =new Date();
        
        // 調(diào)用format()方法,將日期轉(zhuǎn)換為字符串并輸出
        System.out.println(sdf1.format(now));  //2018年08月18日 07時(shí)29分38秒
        System.out.println(sdf2.format(now));  //2018/08/18 07:29
        System.out.println(sdf3.format(now));  //2018-08-18 07:29:38

        // 使用parse()方法將文本轉(zhuǎn)換為日期
        String d = "2018年08月10日 10:29:38";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        
         // 調(diào)用parse()方法,將字符串轉(zhuǎn)換為日期
        Date date = sdf.parse(d);
        
        System.out.println(date);
    }

}
Calendar類
Date 類最主要的作用就是獲得當(dāng)前時(shí)間,同時(shí)這個(gè)類里面也具有設(shè)置時(shí)間以及一些其他的功能,但是由于本身設(shè)計(jì)的問(wèn)題,這些方法卻遭到眾多批評(píng),不建議使用,更推薦使用 Calendar 類進(jìn)行時(shí)間和日期的處理。
package com;
import java.util.Calendar;

public class test {
    
    
    public static void main(String [] args) {
        Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH)+1;
        int day = c.get(Calendar.DAY_OF_MONTH);
        int hour = c.get(Calendar.HOUR_OF_DAY);
        int minute = c.get(Calendar.MINUTE);
        int second = c.get(Calendar.SECOND);
        
        System.out.println("當(dāng)前時(shí)間:"+ year +"年"+month+"月"+day+"日 "+hour+": "+ minute+": "+second+"");
    }
    
}
package com;
import java.util.Date;
import java.util.Calendar;

public class test {
    
    
    public static void main(String [] args) {
        Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH)+1;
        int day = c.get(Calendar.DAY_OF_MONTH);
        int hour = c.get(Calendar.HOUR_OF_DAY);
        int minute = c.get(Calendar.MINUTE);
        int second = c.get(Calendar.SECOND);
        
        System.out.println("當(dāng)前時(shí)間:"+ year +"年"+month+"月"+day+"日 "+hour+": "+ minute+": "+second+"");
        
        Date date = c.getTime(); // 將calendar對(duì)象轉(zhuǎn)換為date對(duì)象
        System.out.println(date);
        Long time = c.getTimeInMillis(); //獲得當(dāng)前毫秒數(shù)
        System.out.println(time);// 1534553739595
    }
    
}
Math類

使用 Math 類操作數(shù)據(jù)

Math 類位于 java.lang 包中,包含用于執(zhí)行基本數(shù)學(xué)運(yùn)算的方法, Math 類的所有方法都是靜態(tài)方法,所以使用該類中的方法時(shí),可以直接使用類名.方法名,如: Math.round();

package com.math;

public class test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        double a = 12.81;
        int b = (int)a;  // 強(qiáng)制類型轉(zhuǎn)換
        System.out.println("強(qiáng)制類型轉(zhuǎn)換"+b);
        long c = Math.round(a);
        System.out.println("四舍五入"+c);
        double d = Math.floor(a);
        System.out.println("向下取整floor"+d);
        double e = Math.ceil(a);
        System.out.println("向上取整ceil"+e);
        double    x = Math.random();
        System.out.println("隨機(jī)數(shù)[0,1)"+x);
        int f = (int) (Math.random() * 99);
        System.out.println("隨機(jī)數(shù)[0,99)"+f);
        
        
        
        // 定義一個(gè)整型數(shù)組,長(zhǎng)度為10
        int[] nums = new int [10];
        
        //通過(guò)循環(huán)給數(shù)組賦值
        for (int i = 0; i < nums.length; i++) {
            // 產(chǎn)生10以內(nèi)的隨機(jī)數(shù)
            int n = (int) (Math.random() * 10);
            
            nums[i] = n;// 為元素賦值
        }
        
        // 使用foreach循環(huán)輸出數(shù)組中的元素
        for ( int num : nums     ) {
            System.out.print(num + " ");
        }
    }

}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/76780.html

相關(guān)文章

  • 開(kāi)發(fā)之路(設(shè)計(jì)模式:模板方法模式)

    摘要:讓一切變得更簡(jiǎn)單抽象化深入封裝算法塊,這便是設(shè)計(jì)模式當(dāng)中的一種模式模板方法模式。定義模板方法模式在一個(gè)方法中定義一個(gè)算法的框架,而將一些步驟延遲到子類中。 讓一切變得更簡(jiǎn)單抽象化 深入封裝算法塊,這便是設(shè)計(jì)模式當(dāng)中的一種模式:模板方法模式。 我們先來(lái)看看下面兩個(gè)茶和咖啡配方showImg(https://segmentfault.com/img/bVV4kS?w=1248&h=...

    kgbook 評(píng)論0 收藏0
  • java學(xué)習(xí)(四) —— 內(nèi)存分配淺析

    摘要:內(nèi)存分配解析四方法執(zhí)行完畢,立即釋放局部變量所占用的棧空間。內(nèi)存分配解析五調(diào)用對(duì)象的方法,以實(shí)例為參數(shù)。堆和棧的小結(jié)以上就是程序運(yùn)行時(shí)內(nèi)存分配的大致情況。 前言 java中有很多類型的變量、靜態(tài)變量、全局變量及對(duì)象等,這些變量在java運(yùn)行的時(shí)候到底是如何分配內(nèi)存的呢?接下來(lái)有必要對(duì)此進(jìn)行一些探究。 基本知識(shí)概念: (1)寄存器:最快的存儲(chǔ)區(qū), 由編譯器根據(jù)需求進(jìn)行分配,我們?cè)诔绦?..

    henry14 評(píng)論0 收藏0
  • 我的阿里之路+Java面經(jīng)考點(diǎn)

    摘要:我的是忙碌的一年,從年初備戰(zhàn)實(shí)習(xí)春招,年三十都在死磕源碼,三月份經(jīng)歷了阿里五次面試,四月順利收到實(shí)習(xí)。因?yàn)槲倚睦砗芮宄业哪繕?biāo)是阿里。所以在收到阿里之后的那晚,我重新規(guī)劃了接下來(lái)的學(xué)習(xí)計(jì)劃,將我的短期目標(biāo)更新成拿下阿里轉(zhuǎn)正。 我的2017是忙碌的一年,從年初備戰(zhàn)實(shí)習(xí)春招,年三十都在死磕JDK源碼,三月份經(jīng)歷了阿里五次面試,四月順利收到實(shí)習(xí)offer。然后五月懷著忐忑的心情開(kāi)始了螞蟻金...

    姘擱『 評(píng)論0 收藏0
  • 【推薦】最新200篇:技術(shù)文章整理

    摘要:作為面試官,我是如何甄別應(yīng)聘者的包裝程度語(yǔ)言和等其他語(yǔ)言的對(duì)比分析和主從復(fù)制的原理詳解和持久化的原理是什么面試中經(jīng)常被問(wèn)到的持久化與恢復(fù)實(shí)現(xiàn)故障恢復(fù)自動(dòng)化詳解哨兵技術(shù)查漏補(bǔ)缺最易錯(cuò)過(guò)的技術(shù)要點(diǎn)大掃盲意外宕機(jī)不難解決,但你真的懂?dāng)?shù)據(jù)恢復(fù)嗎每秒 作為面試官,我是如何甄別應(yīng)聘者的包裝程度Go語(yǔ)言和Java、python等其他語(yǔ)言的對(duì)比分析 Redis和MySQL Redis:主從復(fù)制的原理詳...

    BicycleWarrior 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<