java基礎篇-01-java語言的概述\變量\數(shù)據類型

背景

從事java開發(fā)已經三年由余了崔列,最近想好好的總結下java開發(fā)阴挣。所以打算寫一系列相關文章年栓,能夠系統(tǒng)的涵蓋java后端從入門到高階的開發(fā),所以開始寫java的博客糜烹。
這些博客不是簡單的進行流程的介紹违诗,而是我進行實踐和思考的結果,希望對自學的同學能有所幫組疮蹦。

java語言的概述

1.語言發(fā)展概
java語言的發(fā)展诸迟,經歷了三代的語言,才發(fā)展出了純面向對象的java語言。第一代語言是打孔機,純粹的機器語言阵苇。第二代語言是匯編語言壁公,第三代語言是高級語言,有面向過程思想的C绅项、Pascal紊册、Fortan等。有面向對象的C++快耿,有跨平臺又面向對象的java等囊陡。

95年 sun公司推出JAVA,前身oak
創(chuàng)始人: 詹姆斯 高斯林

3.java語言版本

  • 98年 內部版本1.2 java技術平臺命名為:j2se掀亥、j2me筐乳、j2ee
  • 04年 內部版本1.5 外部版本5.0 改動非常大
  • 06年 內部版本1.6 重命名java技術平臺潜沦,javaSE、javaME激涤、javaEE
  • 09年 Oracle收購sun公司
  • 11年 內部版本1.7
  • 14年 內部版本1.8 改動非常大
  • 17年 內部版本1.9 從該版本開始廷区,每6個月版本升級計劃
  • 18年3月 內部版本1.10

注意公司中使用的都是LTS版本

2.java技術體系平臺
java se(Java Standard Edition) Java標準版
主要應用于PC上的GUI程序開發(fā)渤刃。

java ee(Java Enterprise Edition) Java企業(yè)級版本
主要用于web應用程序開發(fā)泉手,為企業(yè)提供一套解決方案骆姐。

java me(Java Micro Edition)
主要用于嵌入式平臺的開發(fā)。現(xiàn)在幾乎沒用了幢踏。

3.java在各個領域中的應用

  • 企業(yè)級開發(fā)
  • android應用
  • 機器學習領域

java的運行機制和執(zhí)行過程

兩個機制线衫,一是JVM虛擬機機制,二是GC惑折,垃圾自動回收機制.

java語言環(huán)境的搭建

下載安裝JDK

到Oracle官網下載 , 下載對應的版本,我這使用的事JDK8

配置path環(huán)境變量

windows下安裝后的JDK會生成兩個目錄枯跑,一個jdk惨驶,一個jre,因為jdk中帶有jre

什么是環(huán)境變量如何實操配置?

環(huán)境變量是運行命令的時候, 操作系統(tǒng)會默認去搜索的路徑敛助。

windows下的環(huán)境變量配置

到Oracle官網下載對應的JDK版本.

  • 添加JAVA_HOME環(huán)境變量為JDK安裝的根目錄粗卜。
  • 將%JAVA_HOME%/bin添加到PATH環(huán)境變量下。
Unix下的環(huán)境變量配置

mac下安裝JDK很簡單纳击。
方法一: brew cast install java8即可安裝jdk8
方法二: 到Oracle官網下載對應的JDK版本, 按提示安裝即可
mac下安裝的會自動添加到對應的path環(huán)境變量中

JDK续扔、JRE、JVM是什么有什么關系?

JDK(Java Development Kit)指java開發(fā)工具包
JRE(Java Runtime Environment)指java運行環(huán)境
JVM指Java虛擬機, 其運行于對于操作系統(tǒng)層之上焕数。(具有指令集并使用不同的存儲區(qū)域纱昧。負責執(zhí)行指
令,管理數(shù)據、內存堡赔、寄存器识脆。)
JDK = JRE + 開發(fā)工具集合
JRE = JVM + Java SE標準類庫

Java中的注釋

java中的注釋和C、C++都一樣, 有單行和多行注釋。
其中java還有文檔注釋,所謂的文檔注釋就是該注釋可以生成對應的文檔灼捂,方便閱讀和維護离例。

文檔注釋

語法:

/**
* @author: sweetcs
*
*/

文檔注釋對應的生成文檔的命令javadoc,該命令是用來生成java api文檔的命令,而文檔注釋是為了在生成API文檔的時候悉稠,能夠生成對應接口的描述宫蛆。
javadoc -d 文件夾名稱 xxx.java

類的結構

類的簽名,修飾符是可選的
public class XXXX
類體

{

}

方法的簽名:
public int calcHeight(int a, int b)
方法體

{

}

變量

標識符

標識符就是給變量、類的猛、方法取名字就叫做標識符耀盗。
java中的標識符必須是字母(以a-z大小),數(shù)字衰絮、下劃線和$符號組成.

命名標識符需要注意的細節(jié)

  • 標識符不能以數(shù)字開頭取名
  • 標識符不能以空白符開頭
  • 標識符不能以保留字袍冷、關鍵字命名

按數(shù)據類型分類

image.png

基本數(shù)據類型

整型
  • byte 一個字節(jié) -128~127
  • short 兩個字節(jié) -2^15 ~ 2 ^15 -1
  • int 四個字節(jié) -2^31 ~ 2^31 -1
  • long 八個字節(jié) -2^63 ~ 2^63 - 1

java的整型常量默認為 int 型,聲明long型常量須后加‘l’或‘L’

浮點型

java中的浮點型有兩種猫牡,double和float胡诗,必須包含小數(shù)點。

  • 浮點型常量默認類型是double
  • 要創(chuàng)建float類型的浮點類型淌友,需要在小數(shù)后加f或者F
  • float四字節(jié)煌恢、double 8字節(jié)
  • 浮點型常量可以使用d或者D表示,比如9D, 9d
字符類型

字符類型是可以運算, 因為其本質就是數(shù)字震庭。java中的字符用Unicode編碼瑰抵,這些字符包含在ASCII碼范圍內沒有變。

字符常量的三種表示方式

  • 使用單引號括起來的單個字符
  • 轉移字符
  • 使用Unicode值來表示字符型常量
Unicode編碼與UTF-8的關系
  • Unicode是一種編碼器联,它只規(guī)定了符號的二進制代碼二汛,沒有規(guī)定該二進制代碼如何存儲。
  • 無法區(qū)別 Unicode 和 ASCII:計算機無法區(qū)分三個字節(jié)表示一個符號還是分別表示三個符號拨拓。另外肴颊,我們知道,英文字母只用一個字節(jié)表示就夠了渣磷,如果unicode統(tǒng)一規(guī)定婿着,每個符號用三個或四個字節(jié)表示,那么每個英文字母前都必然有二到三個字節(jié)是0醋界,這對于存儲空間來說是極大的浪費竟宋。
  • UTF-8是對Unicode編碼的一種實現(xiàn)方式
  • UTF-8是一種變長的編碼方式。它可以使用 1-6 個字節(jié)表示一個符號形纺,根據不同的符號而變化字節(jié)長度丘侠。

UTF-8的編碼規(guī)則:

  • 對于單字節(jié)的UTF-8編碼,該字節(jié)的最高位為0挡篓,其余7位用來對字符進行編碼(等同于ASCII碼)婉陷。
  • 對于多字節(jié)的UTF-8編碼帚称,如果編碼包含 n 個字節(jié),那么第一個字節(jié)的前 n 位為1秽澳,第一個字節(jié)的第 n+1 位為0闯睹,該字節(jié)的剩余各位用來對字符進行編碼。在第一個字節(jié)之后的所有的字節(jié)担神,都是最高兩位為"10"楼吃,其余6位用來對字符進行編碼。
Unicode和UTF-8的區(qū)別
  • Unicode是一種編碼規(guī)范, 其每個字符占用2個字節(jié)妄讯。而UTF-8是這種規(guī)范的一種實現(xiàn), 是一種變長編碼方案, 英文字母還是占用一個字節(jié)孩锡,但是漢字占用3個字節(jié)
布爾類型
  • boolean類型數(shù)據只允許取值true和false,無null亥贸。不可以0或非 0 的整數(shù)替代false和true躬窜,這點和C語言不同。
  • Java虛擬機中沒有任何供boolean值專用的字節(jié)碼指令炕置,java語言表達所操作的boolean值荣挨,在編譯之后都使用java虛擬機中的int數(shù)據類型來代替:true用1表示,false用0表示《java虛擬機規(guī)范 8版》

引用數(shù)據類型

  • class定義的類
  • interface定義的接口
  • 數(shù)組

數(shù)據類型轉換

基本數(shù)據類型轉換

自動數(shù)據類型轉換

基本規(guī)則: (小--->大)容量小的類型自動轉換為容量大的數(shù)據類型朴摊。數(shù)據類型按容量大小排序為

image.png
  • 有多種類型的數(shù)據混合運算時默垄,系統(tǒng)首先自動將所有數(shù)據轉換成容量最大的那種數(shù)據類型,然后再進行計算甚纲。 -
  • byte,short,char之間不會相互轉換口锭,他們三者在計算時首先轉換為int類型。
  • 當把任何基本類型的值和字符串(String)進行連接運算時(+)介杆,基本類型的值將自動轉化為字符串類型鹃操。

整型常量
所謂的整型常量,是屬于整數(shù)春哨,但沒有說明使用什么整數(shù)結構來進行存儲(byte\short\int).
所以byte b = 5并不是表示5是整型常量,所以并不是int類型存儲到byte類型组民,這里需要注意理解。

強制類型轉換

基本規(guī)則: 大轉小悲靴。大轉小的時候, 編譯器編譯期間默認是會報錯的,比如報類型不兼容等。這個時候就需要使用強制類型轉換莫其。

語法:數(shù)據類型 變量名 = (目標數(shù)據類型)值;

特點:
①表達式有個自動提升原則癞尚。表達式的結果的最終類型為 操作數(shù)中的最大類型
②強轉符號只針對于最近的有效
int a = (int)12.5+7.5;
③byte、short的底層存儲實際是以int形式乱陡。每次byte浇揩、short運算都當做int類型
④char類型只能存儲int的常量值,但不能直接存儲int的變量值

String類型和基本類型之前的轉換

基本類型 轉 String

語法:直接拼接空字符串.
String s = i + ""

String 轉 基本類型

語法:通過調用基本數(shù)據類型對應的包裝類里的parseXXX方法憨颠。
例如:

String s = "123455.5";
double d= Double.pareseDouble(s);

String轉char

String s = "a";
char c = s.charAt(0);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末胳徽,一起剝皮案震驚了整個濱河市积锅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌养盗,老刑警劉巖缚陷,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異往核,居然都是意外死亡箫爷,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門聂儒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來虎锚,“玉大人,你說我怎么就攤上這事衩婚〈芑ぃ” “怎么了?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵非春,是天一觀的道長柱徙。 經常有香客問我,道長税娜,這世上最難降的妖魔是什么坐搔? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮敬矩,結果婚禮上概行,老公的妹妹穿的比我還像新娘。我一直安慰自己弧岳,他們只是感情好凳忙,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著禽炬,像睡著了一般涧卵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上腹尖,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天柳恐,我揣著相機與錄音,去河邊找鬼热幔。 笑死乐设,一個胖子當著我的面吹牛,可吹牛的內容都是我干的绎巨。 我是一名探鬼主播近尚,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼场勤!你這毒婦竟也來了戈锻?” 一聲冷哼從身側響起歼跟,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎格遭,沒想到半個月后哈街,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡如庭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年叹卷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坪它。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡骤竹,死狀恐怖,靈堂內的尸體忽然破棺而出往毡,到底是詐尸還是另有隱情蒙揣,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布开瞭,位于F島的核電站懒震,受9級特大地震影響,放射性物質發(fā)生泄漏嗤详。R本人自食惡果不足惜个扰,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望葱色。 院中可真熱鬧递宅,春花似錦、人聲如沸苍狰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽淋昭。三九已至俐填,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間翔忽,已是汗流浹背英融。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留歇式,地道東北人矢赁。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像贬丛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子给涕,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353