目錄
- 一、類名規范
- 二、返回值
- 三、注釋
- 四、數據類型
- 1. 基本類型
- 2. 引用類型
- 3. 強制數據類型轉換
- 4. 進制
- 5. 進制的轉換
- 6. 超范圍運算
相關文章
- Java基礎學習(二):Java中的變量和常量、final(重點)、運算、字符串
了解一些關于Java的術語:
縮寫 術語名 作用 JDK Java Development Kit 編寫Java程序 JRE Java Runtime Environment 運行Java程序 SE Standard Edition Java的一些核心語法規則,用于桌面或簡單服務器應用的Java平臺 EE Enterprise Edition Java的web開發,用于復雜服務器應用的Java平臺 ME Micro Edition 手機開發 SDK Software Development Kit 用于描述1998~2006年間的JDK
一、類名規范
規范 | 示例 | 作用于 | |
---|---|---|---|
大駝峰 | FirstSample | 多個單詞,每個單詞首字母大寫 | 類名 |
小駝峰 | firstSample | 多個單詞,第一個單詞首字母小寫,剩下的單詞首字母大寫 | 變量名、方法名、文件名、文件夾名 |
全大寫 | FIRSTSAMPLE | 字母全大寫 | 一般用作常量,只能第一次賦值,后續不能在賦值,永遠不變,如Π:PI=3.14 |
二、返回值
void
:沒有返回值public static void sort(int[] arr) { }
int
:要有返回return的數據public static int g(int x) {return 3*x-8; }
三、注釋
//
:單行注釋/* */
:多行注釋,/*
開始,*/
結束/* * 這是一個多行注釋 * 可以跨越多行 */
/** */
:文檔注釋,/**
開始,*/
結束- 代碼作者
- 最后一次維護
- 聯系郵箱
- 此類作用
/*** 這是一個文檔注釋* 通常用于描述類、方法或字段的功能* * @param name 用戶名* @return 歡迎消息*/
四、數據類型
1. 基本類型
8種四類
類型 | 種類 | 占幾字節 | 占幾bit | 取值范圍 |
---|---|---|---|---|
整數 | byte | 1字節 | 8bit | 282^828-128~127 |
整數 | short | 2字節 | 16bit | 2162^16216-322768~32767 |
整數 | int | 4字節 | 32bit | -2147483648~2147483647(超過20億) |
整數 | long | 8字節 | 64bit | |
浮點數 | float | 4字節 | 32bit | |
浮點數 | double | 8字節 | 64bit | |
布爾型 | boolean | |||
字符串 | char |
注意:
- 1字節=8bit
- 取值范圍中0歸為正數
- int型不能存手機號
整數
- int默認值為0
- 第一位表示符號位,剩余的表示數值位。
- 符號位中:0代表正數,1代表負數。
- byte、short、int、long后續做運算,默認轉換為int類型,所以需要進行強制類型轉換
byte a = 125; byte b = (byte) (a+1); //long x = 1000L;
浮點數
- 浮點數默認值為0.0
float
:第一位表示符號位,8位表示階位,23表示數值位;- 表示小數:設階位為x(256),數值位為y,2(x-127) *y,階位的值小于127可表示小數
float a=0.25F
或float b=0.75f
double
:第一位表示符號位,11位表示階位,52表示數值位。- 表示小數:設階位為x(256),數值位為y,2(x-1023) *y,階位的值小于1023可表示小數
double c=1.56D
或double d=1.89d
- 浮點數中,數據默認轉換為double類型存儲。
問題1:float和int誰的精度更高?
數值越小float精度越高,數值越大int精度越高。
問題2:float和double誰的精度更高?
double表示的浮點數的數值精度是float的兩倍。絕大部分程序采用的是double類型。
char類型:字符
- char類型默認值為空字符
- 要用單引號括起來
布爾型
- 布爾類型默認值為false
- 有兩個值:true或false,用來判斷邏輯條件
- 整數值和布爾值之間不能進行轉換
2. 引用類型
- 引用類型默認值為空
- 除了基本類型的8中四類之外,剩下的都是引用類型,如:Byte、Long、String等。
3. 強制數據類型轉換
基本語法:
目標類型 變量名 = (目標類型) 要轉換的值或變量;
示例:
//將double類型數據轉換成int類型
double d = 3.1415926;
int i = (int) d;//截斷小數部分
System.out.println(i)//輸出結果:3
實心箭頭表示無信息丟失的轉換;虛箭頭表示可能有精度損失的轉換。
- 數值類型之間的強制轉換
- double - > int
- long - > int
- int - > byte
- 浮點數和整數之間的轉換
- float - > int
- double - > float
- int - > float(自動轉換)
- char類型的強制轉換
- int - > char
- char - > int(不需要強制轉換)
- 對象類型的強制轉換
- 自動裝箱和拆箱中的強制轉換
// 基本類型 -> 包裝類 (自動裝箱) Integer integer = 100;// 包裝類 -> 基本類型 (自動拆箱) int i = integer;// 強制轉換示例 Double d = 123.456; int i2 = (int) (double) d; // 先拆箱為double,再強制轉換為int System.out.println(i2); // 輸出: 123
注意:布爾類型不能于其他基本類型相互強制轉換。
4. 進制
計算機底層存儲的是二進制數據。
- 十進制:平常使用的是十進制數據,0~9,逢十進一;
- 二進制:數據前加
0b
,0~1,逢二進一; - 八進制:數據前加
0
,0~7,逢八進一; - 十六進制:數據前加
0x
,0~f(a=10,b=11,c=12,d=13,e=14,f=15),逢十六進一;
int x1 = 10;//十進制
int x2 = 0b11;//二進制
int x3 = 07654;//八進制
int x4 = 0x4ac;//十六進制
5. 進制的轉換
任意進制轉換為十進制: 數字乘進制的多少次方在相加
十進制拆解:2412=2?103+4?102+1?101+2?1002412 = 2*10^3 + 4*10^2 + 1*10^1 + 2*10^02412=2?103+4?102+1?101+2?100
二進制轉換為十進制:1011=1?23+0?22+1?21+1?20=111011 = 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 = 111011=1?23+0?22+1?21+1?20=11
十進制轉換任意進制: 數據除進制取余,直到商為0,倒序取余數
十進制轉換成二進制:10 = 1010
過程:
10 ÷ 2 = 5 余 0
5 ÷ 2 = 2 余 1
2 ÷ 2 = 1 余 0
1 ÷ 2 = 0 余 1
6. 超范圍運算
計算機底層存儲的是二進制數據。
反碼: 正數和源碼一樣,負數符號位不變,其余取反
補碼: 正數和源碼一樣,負數補碼是反碼+1
計算機底層使用的是補碼做運算。
byte x1 = 127;//01111111 + 00000001 = 10000000
byte x2 = (byte)(x1+1);
System.out.println(x2);//輸出結果:-128