1、變量
1.標識符
在編寫Java程序的過程當中,須要咱們本身命名的東西,這些東西就是標識符。
標識符的組成
1).0到9數字
2).26個英文大小寫字母
3).特殊符號:下劃線(_)、美圓符號($)、人民幣符號(¥)
定義合法的標識符
1).數字不能做爲開頭
2).嚴格區分大小寫
3).不可使用關鍵字
4).定義時,儘可能達到見名知其意
2.關鍵字
關鍵字是被Java語言賦予特殊含義,具備專門用途的單詞,能夠這樣理解,就如同咱們註冊商標是,關鍵字已經被人註冊過了,不能再繼續使用。
關鍵字官方網站:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
Java中全部關鍵字都是小寫
Java中共有50個關鍵字以及3個(true、false、null)不屬於關鍵字的標識符
3.Java中的命名規則html
針對Java當中的不一樣內容,在標識符的基礎上,爲這些內容命名還要符合如下規定,可是這些規定是不受語法約束的java
1).包名:全部字母都小寫,當有多個單詞鏈接時,使用「.」鏈接,例如:aaa.bbb.ccc編程
2).類名/接口名:全部單詞首字母大寫,例如AaaBbbCcc(知足駝峯命名規則,這種稱之爲大駝峯)數組
3).變量名/方法名:第一單詞首字母小寫,其餘單詞首字母大寫,例如aaaBbbCcc(知足駝峯命名規則,這種稱之爲小駝峯)oracle
4).常量名:全部字母都大寫,有多個單詞組成時,使用_鏈接,例如AAA_BBB_CCC工具
5).全部的命名在同一個做用範圍內不能重名學習
4.常量網站
常量,是指在程序運行過程當中值不會發生變化的標識符3d
定義常量的語法:htm
final 數據類型 常量名稱=值;或者
final 數據類型 常量名稱;
常量名稱=值
須要注意的是,常量的值只能賦一次值.。
常量分類
1).整數常量--全部整數
2).小數常量--全部的小數
3).布爾型常量--較爲特殊,只有兩個值true、false
4).字符常量--將一個數字字母或者符號用單引號( ' ' )標識
5).字符串常量--將一個或者多個字符用雙引號(「 」)標識
6).null常量--只有一個數組就是null
5.變量
變量,顧名思義,就是在程序運行過程當中值會發生變化的標識符,它至關於有名字的容器,這個容器用於裝載不一樣類型的數據。它的做用是用來記錄數值的變化,而後展現給用戶。
1).聲明變量
聲明變量也叫定義變量,聲明變量是爲了使用最簡潔的代碼實現功能
聲明變量的格式
第一種:先聲明後賦值
格式:數據類型 變量名;
變量名=值;
第二種:聲明賦值同步進行
格式:數據類型 變量名=值;
變量的聲明實質是是開闢一塊新的內存,而賦值就是對這塊新開闢的內存分配空間大小
例如,聲明一個整型變量a,它首先是開闢一塊名字爲a的空間,當爲a賦值時候,例如a=12;則是爲這塊爲a的內存分配大小爲12的空間
2).變量的做用域
變量只有在它的做用域內才能夠被使用,當超出這個做用範圍,若是還須要使用這個變量就必須從新聲明。
2、數據類型
Java語言是一門強類型語言,對於每一種數據都定義了明確的具體數據類型,根據內存存儲位置的不一樣,分爲兩種數據類型即基本數據類型和引用數據類型
1.基本數據類型
在Java中基本數據類型共有8種,在基本數據類型中又能夠分爲三大類:數值型、字符型、布爾型
1).數值型
(1).整數類型--存儲整數:字節類型(byte)、短整型(short)、整型(int)、長整型(long)
(2).浮點類型--存儲小數:float(單精度浮點型)、double(雙精度浮點型)
在數值型中須要注意的幾個地方
(1).整數類型默認的是int類型,定義長整型時,當賦的值超出int的取值範圍,必須在數值後面加上L或者l,若是沒有超出,則可加可不加
(2).浮點類型默認的是double類型,在定義單精度浮點數時,必須在數值後面加F或者f
(3).能夠爲一個浮點數賦值一個整數的值
2).字符類型
(1).字符類型用於存儲單一字符,使用char表示
(2).每一個chai類型的字符變量佔2個字節
(3).在賦值時必定要用英文半角的單引號(‘’)括起來,例如‘a’
(4).能夠賦值爲一個0到65535之間的整數,計算機會根據ASCII錶轉換爲對應的字符,例如97對應的字符是‘a’
(5).一些特殊的字符
--\r:表示回車
--\n:表示換行
--\t:表示製表符
--\b:表示退格
3).布爾類型
布爾類型變量用來存儲布爾(真假)值,在Java中用boolean表示,該類型的變量只有兩個值,即true和false。其只佔用一個字節。
4).各數據類型的詳解
2.數值類型的轉換
在Java編程中,經常涉及到數據類型的轉換,目前主要講基本數據類型中數值類型轉換,包括自動類型(隱式)轉換,另外一種是強制類型(顯式)轉換。
在前面講數據類型的時候,咱們提到了各數據類型的取值範圍從小到大依次:
(byte、short、byte)-->int-->long-->float-->double
在基本數據類型中,boolean類型佔一個字節,因爲其自己所表明的特殊含義,它不與其餘類型進行轉換
1).自動類型轉換
從取值範圍小向取值範圍大轉換,這種轉換方式叫作自動類型轉換,也叫隱式轉換,它不須要作任何的說明。
例如:byte b=14;int a=b;運行不會報錯
注意:
(1).byte類型能夠自動轉換爲short,int,long,float,double,可是不能直接轉換爲char,這是由於byte的取值範圍是(-128,127),char的取值範圍是[0,65535],這兩個範圍比較大小沒法做比較。
(2).short類型能夠自動轉換爲int,long,float,double,可是不能直接轉換爲char。
2).強制類型轉換
從取值範圍較大想取值範圍較小的轉換,這種轉換方式叫作強制類型轉換,也叫顯式轉換,轉換過程當中須要作說明
例如:int a=13;byte b=a;若是是這樣會報錯,須要修改成byte b=(byte)a;在a前面說明轉換後的數據類型是byte
注意:在byte或short與char做轉換時,都須要作強制聲明
即:short s=12;char c=(char)s;byte b=11;char x=(char)b;
char c=97;short s=(short)c;char cc=96;byte b=(byte)cc;
3).表達式類型自動提高
表達式提高是指由變量和運算符組成的一個算式,變量在進行運算時,會發生自動類型轉換,自動提高到它默認的類型
例如:byte b1=3;byte b2=4;byte b3=b1+b2;運行時會報錯,這是由於在這裏byte b3=b1+b2在運算時會自動把b1+b2的結果轉換爲int類型,會變成有int類型轉換爲byte類型,是屬於強制類型轉換
所以修改成byte b3=(byte)b1+b2;
3.引用數據類型的簡單介紹
引用數據類型主要包括類、接口、數組,這裏主要講String這個類簡單的聲明和使用
String是聲明字符串的數據類型,它是引用數據類型,當在聲明時,與基本數據類型一致,在賦值是須要使用「」把值括起來,或者直接賦值爲null
其餘數據類型能夠轉換我字符串,轉換的方式:直接在其餘數據類型後面加上「」;
例如:int a=11;String s=a+「」;它會把int類型a轉換爲String類型
3、進制數之間的轉換
1.十進制數與二進制數之間的轉換
1).十進制轉二進制
將這個十進制數一直除以2獲得餘數,直到商爲0時,將所獲得的餘數倒序從左往右排列
將十進制數6轉換爲二進制數爲110
原碼: ·就是二進制定點表示法,即最高位爲符號位,「0」表示正,「1」表示負,其他位表示數值的大小。
反碼:正數的反碼與其原碼相同;負數的反碼是對其原碼除符號位外逐位取反。
補碼:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。 ·計算機的全部數據運算是經過補碼來實現的。
2).二進制轉十進制
將這個二進制數上的數從右往左乘以2的次方(從0次方開始)
將二進制數0110 0100轉換成十進制數獲得的結果爲100
2.十進制數與八進制數之間的轉換
1).十進制轉八進制
與十進制轉二進制同樣,就是將十進制數一直除以8取餘數,直到商爲0時,將餘數倒序從左往右排列,獲得轉換結果
2).八進制轉十進制
與二進制轉十進制同樣,就是將八進制數上的每一位,從有往左乘以8的次方(次方從0開始)
例如:將八進制數0226轉換成十進制數
==>6*8^0+2*8^1+2*8^2=6+16+128=150
3.其餘進制數之間的轉換
1).十六進制與十進制之間的轉換--與二進制與十進制之間的轉換同樣
2).二進制與八進制之間的轉換
--1.二進制轉八進制:首先將二進制數從右往左每三個看作一個總體(取三合一),不足三個的在前添0;其次是對每三個一組的總體轉換成十進制數;將每一組所獲得的結果合在一塊兒就是二進制轉成八進制的結果
例如:將二進制數10010110轉成八進制數
首先:取三合一: 10 010 110 ;不足三個的左邊添0 --> 010 010 110
其次:對每三個一組轉成十進制數:第一組結果是1*2^1=2;第二組結果是:1*2^1=2;第三組結果是:1*2^1+1*2^2=2+4=6
所以這個二進制轉成八進制的結果爲226。爲了與十進制數區分,在左邊添0,結果爲0226。
驗證一下:
從前面知道,八進制數0226轉成十進制數結果爲150,咱們看一下這個二進制數轉換成十進制數的結果:1*2^1+1*2^2+1*2^4+1*2^7=2+4+16+128=150。結果也是150
--2.八進制轉二進制:八進制數經過除2取餘法,獲得二進制數,對每一個八進制爲3個二進制,不足時在最左邊補零。
例如:將八進制數0226轉換成二進制數
首先:對八進制數上的每個數字看作是十進制數,將其轉換成二進制數,二進制數不足三個在左邊添0,
所以最後的結果:10010110(最左邊的0能夠省略的)
更多進制數之間的轉換,請參考:https://jingyan.baidu.com/article/495ba84109665338b30ede98.html
4、鍵盤輸入Scanner
在進行Java編程時,常常會遇到須要鍵盤輸入,這個時候就須要用到Scanner。
Scanner是專門用於鍵盤輸入的,是已經別人已經寫好了,咱們直接使用它就能夠。咱們在使用的時候,總結起來四步:
第一步:導包,導包的目的是爲了告訴程序,須要使用到Scanner這個鍵盤輸入工具類,在代碼首行輸入:import java.util.Scanner;或者import java.util.*;前者表示導入java.util包中的Scanner這個類,後者表示導入這個包中的全部類
第二步:聲明Scanner類型的變量(學習完面向對象以後這裏實際上是建立對象),即:Scanner Scanner的變量名=new Scanner(System.in);這裏的Scanner變量名是任意命名的,只要 知足Java命名規則
第三步:提示輸入:System.out.println(」請輸入「);
第四步:聲明變量接收輸入的內容。這裏須要注意的是,目前咱們爲已經學習了8種基本數據類型,外加一種引用數據類型,並且每一種數據類型接收的方式都不同
1.當接收的內容爲byte類型時:首先聲明一個byte類型的變量,而後把鍵盤輸入的內容賦值給到這個變量
即:byte 變量名=Scanner變量名.nextByte();
2.當接收的內容爲short類型時。首先聲明一個short類型的變量,而後把鍵盤輸入的內容賦值給到這個變量
即:short 變量名=Scanner變量名.nextShort();
3.int、long、float、double、boolean同樣的原理,只是在接收的時候,使用Scanner變量名.nextXX時,這裏的XX是指接收數據類型的名字,首字母大寫便可
4.當接收的內容爲String時,一樣聲明一個String類型的變量接收,而後把鍵盤輸入的內容賦值給這個變量
即:String 變量名=Scanner變量名.next();
5.當接收的內容是char時,首先也是聲明一個char類型的變量,而後吧鍵盤輸入的內容賦值給這個變量
在此以前咱們先來觀察字符串與字符之間的關係,能夠這樣理解,字符串是由字符組成,字符串能夠一個一個的分割成字符,例如字符串」abcd「,它是由‘a’、‘b’、‘c’、‘d’四個字符組成,在這個字符串abcd中,a是第一個字符,下標爲0,b是第二個字符,下標爲1......
所以,在接收char類型時,是接收鍵盤輸入的字符串,而後取的是輸入字符串的第一個字符,所以它對應的下標應該是0。
即:char 變量名=Scanner變量名.next().charAt(0);