注釋
Java中的注釋有3種:
- 單行注釋 //
- 多行注釋 /**/
- 檔案注釋 /***/
注釋不會被執行,是給我們寫代碼的人看的
書寫注釋是一個非常好的習慣
識別符號
Java所有的組成部分都需要名字,類名 變數名以及方法名都被稱為識別符號
識別符號的命名規范
- 所有識別符號(首字母)都是以字母(A-Z或者a-z) 美元符號($) 或者下劃線( _ )開始
- 首字母之后可以是字母(A-Z或者a-z) 美元符號($) 下劃線( _ ) 數字的任何字符組成
- 不能使用關鍵字
- 識別符號是大小寫敏感
- 識別符號不能相同
- 合法識別符號:age $money _value _123456
- 非法識別符號:123abc -abc #abc
- 可以使用中文命名,但不建議使用,也不建議使用拼音,很low 要做到見名知意
關鍵字
關鍵字是Java事先就定義好了的識別符號,對Java編譯器有特殊含義

資料型別
Java是一個強型別語言(要求變數的使用嚴格符號規定,所有變數必須寫定義完才能使用)
強型別語言的好處就是安全,壞處就是效率慢
Java的資料型別分為兩大類
- 基本型別
- 整數型別 (byte short int long)
- byte占1個位元組 (-128—127)
- short占2個位元組(-32768—32767)
- int占4個位元組(-2147483648—2147473647)
- long占8個位元組(-9223372036854775808—9223372036854775807)
- 浮點型別(float double)
- float占4個位元組
- double占8個位元組
- 字符型別(char)
- char占2個位元組
- 布爾型別(boolean)
- boolean占1位
- 整數型別 (byte short int long)
- 參考型別
- 類
- 介面
- 陣列
位元組
計算機單位
- 位(bit)計算機內部資料存盤最小單位
- 位元組(byte)計算機資料處理的基本單位,一般用大寫的B來表示
- 字符:計算機中使用的字母,陣列和字,還有符號
大小換算
- 1bit表示1位
- 1byte表示1個位元組 1B=8b (1byte=8bit)
- 1024B=1KB
- 1024KB=1M
- 1024M=1G
- 1024G=1T
計算機進制
計算機中進制有二進制、八進制、十進制、十六進制
- 二進制由兩個基本數字組成,分別為0、1,運算規則為”逢二進一”
- 八進制有8個基本數字,分別為0、1、2、3、4、5、6、7,運算規則為”逢八進一”
- 十進制有10個基本數字,分別為 0、1、2、3、4、5、6、7、8、9,十進制的基數為10,運算規則為”逢十進一”
- 十六進制有16個基本數字,分別為0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,運算規則為”逢十六進一”
在計算機的世界里,計算機語言就是二進制,計算機能直接識別二進制資料,其它資料都不能直接
在日常生活中,比如我們的雙手總共有十根手指,所以在人類自發采用的進位制中,就很自然的使用了十進制作為主流的計數方法
//整數拓展
int i1=0b101010;//二進制
int i2=11;//十機制
int i3=010;//八進制
int i4=0x20;//十六機制
System.out.println(i1+" "+i2+" "+i3+" "+i4);
Java的浮點數會發生精度丟失,尤其在算術運算時更易發生這種情況,所以,不要使用浮點數進行運算和比較
//浮動數拓展
float f=0.1F;
double d=0.1;
float d1 = 423432423f;
float d2 = d1+1;
System.out.println(d1==d2);//true
System.out.println(f);
System.out.println(d);
System.out.println(f==d);//false
//Java的浮點數會發生精度丟失,尤其在算術運算時更易發生這種情況,所以,不要使用浮點數進行運算和比較
//字符拓展
char c='A';//使用ASCII
System.out.println((int)c);//65
char c1='\u0061';//使用Unicode
System.out.println(c1);
所有的字符本質都是數字
[Unicode](統一碼_百度百科 (baidu.com))實作了統一編碼,不再會有編碼沖突
[ASCII](ASCII_百度百科 (baidu.com))ASCII碼一共規定128個字符的編碼
型別轉換
因為Java是強型別語言,所以要進行有些運算時,需要用到型別轉換
低——高
byte,short,int,long,float,double(小數的優先級比較高)
低型別轉高型別(強制型別轉換)
高型別轉低型別 (自動型別轉換)
運算中,不同型別的資料先轉換成同一型別,然后進行運算
強制型別轉換
int i=128;
byte b=(byte) i;//強制轉換
System.out.println(i);//128
System.out.println(b);//-128 (記憶體溢位,盡量避免這種情況)(因為byte的最大值是127)
//字符根據ASCII碼值進行轉換
char c='a';
int d=c+1;
System.out.println(d);//98
System.out.println((char)d);//b
自動型別轉換
int i=128;
double d=i;//自動轉換
System.out.println(i);//128
System.out.println(d);//128.0
精度問題
//精度丟失
System.out.println((int)23.7);//23
System.out.println((int)-45.89F);//45
記憶體溢位
//操作比較大的時候,注意記憶體溢位
//JDK7新特性,數字之間可以用下劃線分割
int money=10_0000_0000;
int year=20;
int sum=money*year;
System.out.println(sum);//-1474836480 記憶體溢位
long sum1=money*year;
System.out.println(sum1);//-1474836480 默認是int型別,在轉換之前就已經存在問題
long sum3=(long)money*year;
System.out.println(sum3);//20000000000 先把一個資料轉換成long就解決了int型別記憶體溢位的問題
注意點
- 不能對boolean進行轉換
- 不能把型別轉換成不相干的型別
- 在高容量轉換成低容量的時候,強制轉換
- 轉換的時候可能存在記憶體溢位或者精度問題
變數
變數:就是可以變化的量,變數是程式中最基本的存盤單位
變數的三大要素:變數名 變數型別和作用域
注意點:
- 每個變數都有型別,型別可以是基本型別,也可以是參考型別
- 變數名必須是合法的識別符號
- 變數宣告是一條完整的陳述句,因此每個宣告都必須以分號結束
int a=1;
double d=1.0;
char c='a';
String name="小孟";
Java中的變數
Java中有兩種變數:成員變數和區域變數
成員變數包括實體變數、類變數(靜態變數)、常量
區域變數
- 區域變數宣告在方法、構造方法或者代碼塊中;
- 區域變數在方法、構造方法、或者陳述句塊被執行的時候創建,當它們執行完成后,變數將會被銷毀;
- 訪問修飾符不能用于區域變數;
- 區域變數只在宣告它的方法、構造方法或者陳述句塊中可見;(作用域)
- 區域變數是在堆疊上分配的
- 區域變數沒有默認值,所以區域變數被宣告后,必須經過初始化值,才可以使用
成員變數
成員變數是定義在類中 方法體之外的變數 這種變數在創建物件的時候實體化 成員變數可以被類中方法、構造方法和特定類的代碼塊訪問
-
類變數(靜態變數)
-
類變數也稱為靜態變數,被 static 修飾,必須在方法之外,
-
類變數除了被宣告為常量外很少使用 常量是指宣告為public/private,final和static型別的變數
? 常量
- 常量初始化后不可改變
- 被 final 修飾的變數
- 常量的命名是全部大寫,單詞之間用下劃線隔開
-
類變數生命周期最長,隨著類的消失而消失
-
類變數隨著類的加載而存盤在方法區中
-
當前類可以直接被類名呼叫(作用域)
-
類變數是有默認值的,數值型變數默認值是0,布爾型默認值是false,參考型別默認值是null,
-
-
實體變數
- 實體變數宣告在一個類中,但在方法、構造方法和陳述句塊之外;
- 實體變數生命周期隨著物件的消失而消失
- 實體變數隨著物件的建立而存方法堆記憶體中
- 訪問修飾符可以修飾實體變數;
- 實體變數具有默認值,數值型變數默認值是0,布爾型默認值是false,參考型別默認值是nul
String id; //實體變數
private String colorType; //實體變數
private int size; //實體變數
private static String depart; //類變數
final String NAME="xiaomeng"; //常量
public void a(int num){ } //區域變數
Java命名規范
[駝峰命名法](駝峰命名法_百度百科 (baidu.com))
- 所有變數 方法 類名:見名知意
- 類成員變數:首字母小寫和駝峰命名法:userName
- 區域變數:首字母小寫和駝峰命名法
- 常量:大寫字符加下劃線:MAX_VALUE
- 類名:首字母大寫和駝峰命名法:Man Demo
- 方法名:首字母小寫和駝峰命名法 run() play()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/509402.html
標籤:Java
上一篇:java設計模式之七大原則
下一篇:佇列的模擬及環形佇列思路
