成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java教程 Java語言中的數(shù)據(jù)類型及String類

開發(fā) 后端
Java類中的主要組成部分就是數(shù)據(jù)成員和方法成員。而數(shù)據(jù)成員的聲明必須指定其數(shù)據(jù)類型,方法成員的聲明也必須指定其返回值類型,如果方法有形式參數(shù),也必須指定其參數(shù)類型。本文講述了Java語言中的數(shù)據(jù)類型及String類。

本文是Java教程之Java語言中的數(shù)據(jù)類型及String類部分。
Java類中的主要組成部分就是數(shù)據(jù)成員和方法成員。而數(shù)據(jù)成員的聲明必須指定其數(shù)據(jù)類型,方法成員的聲明也必須指定其返回值類型,如果方法有形式參數(shù),也必須指定其參數(shù)類型。因此,對于初學(xué)者來說,了解Java語言的數(shù)據(jù)類型是非常必要的。

Java語言中的數(shù)據(jù)類型可以分為兩大類,即基本數(shù)據(jù)類型(也有人稱為原始類型)和引用類型(也有人稱類類型,對象類型等)。Java語言是面向?qū)ο蟮恼Z言,大多數(shù)數(shù)據(jù)都是引用類型,基本類型主要為了進(jìn)行數(shù)學(xué)運(yùn)算。下面對這兩種類型分別進(jìn)行介紹。

1.基本數(shù)據(jù)類型:

Java中的基本數(shù)據(jù)類型分4大類

整型:byte,short,int,long

浮點(diǎn)型:float,double

字符型:char

邏輯型(也稱布爾型):boolean(true、false)

值得一題的是,Java中的基本數(shù)據(jù)類型的數(shù)據(jù)長度是跨平臺的,不會因?yàn)檫\(yùn)行的平臺不同而不同。

另外需要注意的是,整型默認(rèn)以32位的int存儲,浮點(diǎn)型默認(rèn)以64位的double存儲。如下面例子:

  1. package com.csst.test;  
  2. public class TestType {  
  3.  
  4.    
  5.     /**  
  6.  
  7.      * @param args  
  8.  
  9.      */ 
  10.  
  11.     public static void main(String[] args) {  
  12.  
  13.        float f=1.0;//會有編譯錯誤  
  14.  
  15.     }  
  16.  


出現(xiàn)錯誤的一行,主要就是因?yàn)閿?shù)據(jù)類型轉(zhuǎn)換引起。1.0是浮點(diǎn)型,默認(rèn)以64位的double存儲,而程序中將1.0聲明位32位的float,就會出現(xiàn)編譯錯誤。基本原則是高精度的數(shù)不能直接賦值給低精度的數(shù)。修改如下:

       float f=(float) 1.0;

稱為強(qiáng)制類型轉(zhuǎn)換。

 

2.引用類型:

可以說,除了基本數(shù)據(jù)類型以外的數(shù)據(jù),都是引用類型。也可以說,引用類型就是對象,或者對象都是引用類型。很多人會有一個疑問,字符串算什么類型?讓我們看看,在基本類型的8個類別中,沒有字符串,那么可以肯定的說,字符串是引用類型。但是接下來的疑問就是,引用類型都是對象,對象不都是用new創(chuàng)建出來的么?為什么我們常常看到如下語句:

       String s=”Hello World”;

其實(shí),在所有的類中,包括我們自己創(chuàng)建的類,以及API中已有的類,只有String這個類比較特殊,可以直接使用=進(jìn)行賦值,不用使用new關(guān)鍵字。但是String既然是對象,也可使用new創(chuàng)建,如:

       String s=new String(“Hello World”);

那么這兩種聲明方式,有何不同?如果使用new關(guān)鍵字創(chuàng)建,那么每次創(chuàng)建,都是在內(nèi)存空間初始化一個新的字符串對象,而如果使用=創(chuàng)建,并不會每次都初始化一個新的。而是會看一下實(shí)例池中是否有字符序列相同的字符串,如果有,就將引用指向該空間,如果沒有,才初始化,如下:

  1. String s1=”abc”;  
  2.  
  3. String s2=”abc”;  
  4.  
  5. String s3=new String(“abc”);  
  6.  
  7. String s4=new String(“abc”); 

其中假設(shè)s1賦值時,在實(shí)例池中沒有找到abc字符串,那么s1就被初始化到內(nèi)存中。但是創(chuàng)建s2時,由于已經(jīng)有了一個用=號創(chuàng)建的abc了,將不會創(chuàng)建新的對象,而是將s2也指向跟s1相同的空間,共享s1的abc。而s3,s4由于是使用new創(chuàng)建的,所以都會新創(chuàng)建對象,在內(nèi)存中初始化新的abc字符串。

String類有這樣的特性,源于String類另一個特征:String對象是不可變的。也就是說,不管通過哪個方式初始化到內(nèi)存中的字符串,都是不能被修改的。如:

       String s=”abc”;

       s=”def”;

當(dāng)s被重新賦值時,并不是修改了abc,而是會新開辟內(nèi)存空間,初始化新的字符串def。

【編輯推薦】

  1. Java語言入門教程之Java類中的包
  2. Java語言入門教程之Java類的組成
  3. Java語言入門教程之Java類中的各種數(shù)據(jù)
  4. Java語言入門教程之Java語言的訪問權(quán)限修飾符
  5. 2008最值得學(xué)習(xí)的五種JAVA技術(shù)
責(zé)任編輯:仲衡 來源: taomoon719的專欄
相關(guān)推薦

2009-06-12 15:01:48

Java數(shù)組Java教程

2009-06-12 14:18:20

構(gòu)造方法Java語言Java教程

2009-06-12 14:46:05

static修飾符Java教程

2024-09-29 16:09:23

2023-11-23 08:25:40

開發(fā)人員SmaliAndroid

2009-08-27 15:47:00

C#數(shù)據(jù)類型string

2022-10-27 20:42:04

JavaScripJava編程語言

2009-04-30 15:15:01

Java抽象類接口

2010-09-17 14:49:04

Java數(shù)據(jù)類型

2010-10-15 13:28:34

MySql數(shù)據(jù)類型

2023-03-27 10:04:27

數(shù)據(jù)類型浮點(diǎn)型布爾型

2020-10-29 10:28:31

Java數(shù)據(jù)類型

2020-10-26 13:46:07

Java基礎(chǔ)入門篇

2009-09-01 16:35:55

C#操作String數(shù)

2009-06-12 12:56:29

Java類Java教程

2019-08-12 11:40:48

數(shù)據(jù)庫SQLite3數(shù)據(jù)類型

2010-09-17 14:57:34

JAVA數(shù)據(jù)類型

2024-11-12 13:01:46

2023-05-26 00:02:31

SDS數(shù)據(jù)編碼

2011-07-21 14:45:13

java
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 岛国视频 | 成人免费在线播放视频 | 亚洲区中文字幕 | 国产精品久久久久久中文字 | 日韩欧美三区 | 国产蜜臀97一区二区三区 | 久久久成人动漫 | 中国人pornoxxx麻豆 | 中文字幕免费在线 | 精品一区二区观看 | 国产蜜臀| 亚洲二区视频 | 久久成人免费 | 国产免费xxx| 超黄视频网站 | www.亚洲国产精品 | 最新日韩在线 | 亚洲国产激情 | 99精品久久 | 精品中文字幕一区二区 | 超级碰在线 | 久久久久国产一区二区三区四区 | 精品av| 一区二区三区四区在线视频 | 亚洲欧美国产视频 | 亚洲欧洲综合av | 狠狠综合久久av一区二区老牛 | 亚洲欧洲在线观看视频 | av免费成人 | 午夜午夜精品一区二区三区文 | 久久精品国产免费一区二区三区 | 美女精品一区 | 亚洲一区在线日韩在线深爱 | 伊人超碰在线 | 久草网站 | 色婷婷综合网 | 成年人在线观看 | 日韩在线一区视频 | 国产区精品 | 在线精品一区二区三区 | 玖玖在线精品 |