標籤:強制 溢出 命令 代碼 1.0 列印 過渡 oid doc
PS:此文章為小白提供,大佬請繞道!!!!
首先特別感謝大才哥給我提供這個平台,未來我希望把java這個版塊的內容補全。
今天要講的是資料類型,最最最基礎的內容~
java標識符、資料類型、關鍵字
開始我們先看下如何注釋java代碼。
標識符:類名,方法名,變數。
有三種方式分別為
//表示注釋一行代碼
/*
表示注釋一行或者多行代碼
(從上面到下面都是注釋的代碼)
*/
下面還有一種注釋方式叫做文檔注釋。
/**
通常這樣表示
*/
文檔注釋一般寫在代碼開頭用來簡述你所做程式的具體內容,在這之前我們首先看一下javadoc命令,我先編寫一個簡答的代碼:
package com.briup.chap02;/**@author Twinkle@version 1.0 It’s a text file */public class PrimitiveType{public static void main(String[] args){byte b = 123;byte b1 = 300;} }
我們javadoc -d 組建目錄 編譯檔案
編譯成功後,我們開啟剛剛產生doc裡開啟index.html看一下,大概是這樣的:
類概要
類:
Student
說明:
It’s a text file
這樣我們就可以看出文檔注釋的意義了,他可以顯示在你編譯出來文檔的說明裡,但有人會發現為啥我們編寫出來的author沒有出來呀?
因為他的最前面有一個@,我們需要編寫的時候把它加上去才能顯示出來,現在我們來試一下:
–javadoc -d bin/doc-author -version src/PrimitiveType.java
這樣作者和版本資訊就出來了。
一.類名
這邊我們要記住一些代碼的基本格式:
類名的寫法:Student(前面首字母要大寫)
方法和變數的寫法:genderItem(前面單詞小寫,後面單詞開頭要大寫)
常量寫法:MAX_PAGE(常量大寫,中間一般加底線)
二.關鍵字
關鍵字其實就是電腦裡面已經定義好的有特殊意義的標識符,像int,for,double什麼的都是關鍵字。具體意思請百度一下~
三.資料類型
資料類型是這篇文章的重點,我們來看下這些基本的資料類型
類型 二進位位 例 範圍
byte 8位 11111111~01111111 -2^7~2^7-1
short 16位 16個二進位代碼 -2^15~2^15-1
int 32位 32個二進位代碼 -2^31~2^31-1
long 64位 64個二進位代碼 -2^63~2^63-1
浮點型:
float 32位 32個二進位代碼
double 64位 64個二進位代碼
布爾型:
boolean 只有false和true兩種類型。
具體解釋一下為什麼會有這麼多類型呢?而且二進位位為什麼還不一樣?
類型多的原因是因為有些數值本身就很小,傳遞給大的資料類型的話,雖然可以進去,但是有些二進位位就空閑了,佔用了多餘的記憶體卻沒有什麼作用,所以才會有這麼多的類型。
我們知道編程最終的目的是我們把代碼傳遞給硬體,通過硬體來工作,但是呢,硬體只識別二進位代碼,所以java會有一個把它的代碼轉化為二進位代碼的過渡,上面的二進位位就是二進位碼的數目,我們要想看他的範圍有多大,可以這樣算,二進位的第一位為標誌符,通俗一點講就是加號或減號,後面還有n位的話它的範圍就是-|2^n|~|2^n-1|
如果我們定義的類型超出這個範圍的話(也就是盆子裡已經裝滿了東西如果再加),java就會報錯,超出指定的範圍,所以當我們定義資料類型的時候要搞清楚各資料類型的範圍。
還有一個特殊的資料類型:char (‘字元’)
char的具體位元要結合unicode編碼。問題又來了,unicode編碼又是什麼鬼!unicode編碼是一個字元集,裡麵包含了中,日,韓,三種文字,我們可以通過char的方法來列印出字元:char(‘u\unicode編碼’),unicode表具體百度一下哈~
資料類型轉換:
顯式轉換:也就是強制轉換
隱式轉換:由JVM虛擬機器自行轉換
資料類型的強制轉換:int a = (強制轉換類型)b
轉換規則:從儲存範圍大的類型到儲存範圍小的類型。
具體規則為:double→float→long→int→short(char)→byte
byte b =10;
byte a = (int) b;
如果我們把int類型的b轉換給byte類型的a的話,會出現溢出現象,所以會報錯。
所以正確強制轉換的方式為~~:
byte b = 10;
int(或者更大的類型) a =(int) b;
java基本的資料類型就講到這裡啦~
小白——java基礎之資料類型