2.1-全棧Java筆記:編程的基本概念

本章介紹一些編程中的基本概念放前,比如:變量、常量郑兴、運算符犀斋、標識符等。這些是編程中的“磚塊”情连,是編程的基礎叽粹。 要想開始正式編程,還需要再學“控制語句”却舀,控制語句就像“水泥”虫几,可以把“磚塊”粘到一起,最終形成“一座大廈”挽拔。

老鳥建議:學習本章辆脸,一定不要糾結于概念,不要停留螃诅,大致了解就快速開始下一章啡氢。永遠記住“快速入門状囱、快速實戰(zhàn);實戰(zhàn)中提高倘是,發(fā)展中解決問題”亭枷。

注釋

為了方便程序的閱讀,Java語言允許程序員在程序中寫上一些說明性的文字搀崭,用來提高程序的可讀性叨粘,這些文字性的說明就稱為注釋。

注釋不會出現(xiàn)在字節(jié)碼文件中瘤睹,即Java編譯器編譯時會跳過注釋語句升敲。

在Java中根據(jù)注釋的功能不同,主要分為單行注釋轰传、多行注釋和文檔注釋

1)單行注釋

單行注釋使用“//”開頭驴党,“//”后面的內容均為注釋。

2)多行注釋

多行注釋以“/*”開頭以“*/”結尾绸吸,在“/*”和“*/”之間的內容為注釋鼻弧,在使用多行注釋時注意设江,注釋不能嵌套锦茁。

3) 文檔注釋

文檔注釋以“/**”開頭以“*/”結尾,注釋中包含一些說明性的文字及一些JavaDoc標簽(后期再寫項目時叉存,可以生成項目的API)

【示例 1】注釋

/**

* Welcome類(我是文檔注釋)

* @author高淇

* @version?1.0

*/

public?class?Welcome {

//我是單行注釋

public?static?void?main(String[] args/*我是行內注釋*/) {

System.out.println("Hello World!");

}

/*

我是多行注釋码俩!

我是多行注釋!

*/

}

標識符

標識符是用來來給變量歼捏、類和方法進行命名的稿存,如age、name瞳秽、gender等瓣履。標識符需要遵守一定的規(guī)則:

1)標識符必須以字母、下劃線_练俐、美元符號$開頭袖迎。

2) 標識符其它部分可以是字母、下劃線“_”腺晾、美元符“$”和數(shù)字的任意組合燕锥。

3)Java 標識符大小寫敏感,且長度無限制悯蝉。

4)標識符不可以是Java的關鍵字归形。

標識符的使用規(guī)范表示類名的標識符用大寫字母開始。如:Man, GoodMan

表示方法和變量的標識符用小寫字母開始鼻由,后面的描述性詞以大寫開始暇榴。我們稱之為“駝峰原則”厚棵,比如:eat(),eatFood()

Java不采用通常語言使用的ASCII字符集,而是采用unicode這樣的標準的國際字符集蔼紧。因此窟感,這里的字母的含義不僅僅是英文,還包括漢字等等歉井。但是不建議大家使用漢字來定義標識符柿祈!

【示例 2】合法的標識符

inta = 3;

int_123 = 3;

int$12aa = 3;

int變量1 = 55;

【示例 3】不合法的標識符

int1a= 3;//不能用數(shù)字開頭

inta# = 3;//不能包含#這樣的特殊字符

intint= 3;//不能使用關鍵字

Java中關鍵字/保留字

Java關鍵字是Java語言保留供內部使用的,如class用于定義類哩至。?關鍵字也可以稱為保留字躏嚎,它們的意思是一樣的,我們不能使用關鍵字作為變量名或方法名菩貌。

表-Java中的關鍵字/保留字

Abstract

assert

boolean

break

byte

Case

Catch

char

class

const

continue

default

Do

double

else

extends

final

finally

float

for

goto

if

implements

import

instanceof

int

interface

long

native

New

Null

package

private

protected

public

return

Short

static

strictfp

super

switch

synchronized

This

throw

throws

transient

try

Void

Volatile

while

菜鳥雷區(qū):

出于應試教育的慣性思維卢佣,很多新手會可以去背上面的單詞,從實戰(zhàn)思維出發(fā)箭阶,我們不需要刻意去記虚茶!隨著學習的深入,自然就非常熟悉了仇参。

變量(variable)

變量的本質

變量的本質嘹叫,就是代表一個”可操作的存儲空間”,空間位置是確定的诈乒,但是里面放置什么值不確定罩扇。 我們可以通過變量名來訪問“對應的存儲空間”,從而操縱這個“存儲空間”存儲的值怕磨。

Java是一種強類型語言喂饥,每個變量都必須聲明其數(shù)據(jù)類型。變量的數(shù)據(jù)類型決定了變量占據(jù)存儲空間的大小肠鲫。 比如员帮,int a=3;?表示a變量的空間大小為4個字節(jié)。

變量作為程序中最基本的存儲單元导饲,其要素包括變量名捞高,變量類型和作用域。變量在使用前必須對其聲明, 只有在變量聲明以后帜消,才能為其分配相應長度的存儲空間棠枉。

·變量的聲明

格式為:

數(shù)據(jù)類型 ? ? ? ? ? ? ? ? ? ? ? ? ? 變量名 ? ? ? ? ? ? ? ? ? ? ? [=初始值];

【示例 4】 聲明變量

double salary ;

long earthPopulation ;

int age ;

下圖為聲明變量的內存示意


注意事項每個變量都有類型泡挺,類型可以是基本類型辈讶,也可以是引用類型。

變量名必須是合法的標識符

變量聲明是一條完整的語句娄猫,因此每一個聲明都必須以分號結束

【示例 5】在一行中聲明多個變量

int i ,j; //兩個變量的數(shù)據(jù)類型都是int

老鳥建議

不提倡這種風格贱除,逐一聲明每一個變量可以提高程序可讀性生闲。

【示例 6】可以將變量的聲明和初始化放在同一行中

int age = 18;

doublee = 2.718281828;

變量的分類

從整體上可將變量劃分為局部變量、成員變量(也稱為實例變量)和靜態(tài)變量月幌。

【表1】局部變量碍讯、成員變量、靜態(tài)變量的區(qū)別

類型

聲明位置

從屬于

生命周期

局部變量

方法或語句塊內部

方法/語句塊

聲明位置開始扯躺,直到方法或語句塊執(zhí)行完畢捉兴,局部變量消失

成員變量

(實例變量)類內部,方法外部

對象

對象創(chuàng)建录语,成員變量也跟著創(chuàng)建倍啥。對象消失,成員變量也跟著消失澎埠;

靜態(tài)變量

(類變量)類內部虽缕,static修飾

類被加載,靜態(tài)變量就有效蒲稳;類被卸載氮趋,靜態(tài)變量消失。

老鳥建議:

成員變量和靜態(tài)變量不是目前重點江耀,不要過多糾結理解與否剩胁。我們學習面向對象時,再重點講解成員變量和靜態(tài)變量决记。

1)局部變量(lacal ?variable)方法或語句塊內部定義的變量摧冀。生命周期是從聲明位置開始到”}”為止。局部變量在使用前必須先聲明系宫、初始化(賦初值)再使用。

示例 7】局部變量

public void test() {

int i;

i=10;

int j = i+5 ; //編譯出錯建车,變量i還未被初始化

}

2)成員變量(也叫實例變量member variable)

方法外部扩借、類的內部定義的變量。從屬于對象缤至,生命周期伴隨對象始終潮罪。如果不自行初始化,他會自動初始化成該類型的默認初始值领斥。

表2?實例變量的默認初始值

數(shù)據(jù)類型實始值

int0

double0.0

char‘\u0000’

booleanfalse

【示例 8】實例變量的聲明

public?class?Test {

int?i;

}

3)靜態(tài)變量(類變量static variable)使用static定義嫉到。 從屬于類,生命周期伴隨類始終月洛,從類加載到卸載何恶。(注:講完內存分析后我們再深入!先放一放這個概念嚼黔!)如果不自行初始化细层,他與成員變量相同會自動初始化成該類型的默認初始值惜辑,如表2所示。

練習1:變量的聲明并賦值

publicclassLocalVariableTest {

public?static?void?main(String[ ] arg) {

boolean?flag = true; ?//聲明boolean型變量并賦值

char?c1, c2; ??//聲明char型變量

c1 = '\u0041'; ??//為char型變量賦值

c2 = 'B'; ??//為char型變量賦值

int?x; ??//聲明int型變量

x = 9; ?//為int型變量賦值

int?y = x; ?//聲明并初始化int型變量

float?f = 3.15f; ??//聲明float型變量并賦值

double?d = 3.1415926; ?//聲明double型變量并賦值

}

}

常量(Constant)

常量通常指的是一個固定的值疫赎,例如:1盛撑、2、3捧搞、’a’抵卫、’b’、’c’胎撇,true陌僵,false,”helloWorld”等等创坞。

在Java語言中碗短,主要是利用關鍵字final來定義一個常量。 常量一旦被初始化后不能再更改其值题涨。

聲明格式為:

final ? ? ? ? ? ? ? ?type ? ? ? ? ? ? ?varName ? ? ? ? ? ?=value ;

【示例 9】常量的聲明及使用

public class TestConstants {

public static void main(String[] args) {

final double PI = 3.14;

// PI = 3.15; ???//會報錯偎谁,不能再被賦值!

double r = 4;

double area = PI * r * r;

double circle = 2 * PI * r;

System.out.println("area = " + area);

System.out.println("circle = " + circle);

}

}

老鳥建議

變量和常量命名規(guī)范

所有變量纲堵、方法巡雨、類名:見名知意

類成員變量:首字母小寫和駝峰原則: ?monthSalary

局部變量:首字母小寫和駝峰原則

常量:大寫字母和下劃線:MAX_VALUE

類名:首字母大寫和駝峰原則: ?Man, GoodMan

方法名:首字母小寫和駝峰原則: run(), runRun()

「全棧Java筆記」是一部能幫大家從零到一成長為全棧Java工程師系列筆記。筆者江湖人稱 Mr. G席函,10年Java研發(fā)經(jīng)驗铐望,曾在神州數(shù)碼、航天院某所研發(fā)中心從事軟件設計及研發(fā)工作茂附,從小白逐漸做到工程師正蛙、高級工程師、架構師营曼。精通Java平臺軟件開發(fā)乒验,精通JAVAEE,熟悉各種流行開發(fā)框架蒂阱。

筆記包含從淺入深的六大部分:

A-Java入門階段

B-數(shù)據(jù)庫從入門到精通

C-手刃移動前端和Web前端

D-J2EE從了解到實戰(zhàn)

E-Java高級框架精解

F-Linux和Hadoop

F-Linux和Hadoop

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末锻全,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子录煤,更是在濱河造成了極大的恐慌鳄厌,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件妈踊,死亡現(xiàn)場離奇詭異了嚎,居然都是意外死亡,警方通過查閱死者的電腦和手機响委,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進店門新思,熙熙樓的掌柜王于貴愁眉苦臉地迎上來窖梁,“玉大人,你說我怎么就攤上這事夹囚∽萘酰” “怎么了?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵荸哟,是天一觀的道長假哎。 經(jīng)常有香客問我,道長鞍历,這世上最難降的妖魔是什么舵抹? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮劣砍,結果婚禮上惧蛹,老公的妹妹穿的比我還像新娘。我一直安慰自己刑枝,他們只是感情好香嗓,可當我...
    茶點故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著装畅,像睡著了一般靠娱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上掠兄,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天像云,我揣著相機與錄音,去河邊找鬼蚂夕。 笑死迅诬,一個胖子當著我的面吹牛,可吹牛的內容都是我干的双抽。 我是一名探鬼主播百框,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼牍汹!你這毒婦竟也來了?” 一聲冷哼從身側響起柬泽,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤慎菲,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后锨并,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體露该,經(jīng)...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年第煮,在試婚紗的時候發(fā)現(xiàn)自己被綠了解幼。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抑党。...
    茶點故事閱讀 40,769評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖撵摆,靈堂內的尸體忽然破棺而出底靠,到底是詐尸還是另有隱情,我是刑警寧澤特铝,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布暑中,位于F島的核電站,受9級特大地震影響鲫剿,放射性物質發(fā)生泄漏鳄逾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一灵莲、第九天 我趴在偏房一處隱蔽的房頂上張望雕凹。 院中可真熱鬧,春花似錦政冻、人聲如沸枚抵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽俄精。三九已至,卻和暖如春榕堰,著一層夾襖步出監(jiān)牢的瞬間竖慧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工逆屡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留圾旨,地道東北人。 一個月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓魏蔗,卻偏偏與公主長得像砍的,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子莺治,可洞房花燭夜當晚...
    茶點故事閱讀 45,781評論 2 361

推薦閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理廓鞠,服務發(fā)現(xiàn),斷路器谣旁,智...
    卡卡羅2017閱讀 134,714評論 18 139
  • 1. Java基礎部分 基礎部分的順序:基本語法床佳,類相關的語法,內部類的語法榄审,繼承相關的語法砌们,異常的語法,線程的語...
    子非魚_t_閱讀 31,664評論 18 399
  • 一昔头、基本數(shù)據(jù)類型 注釋 單行注釋:// 區(qū)域注釋:/* */ 文檔注釋:/** */ 數(shù)值 對于byte類型而言...
    龍貓小爺閱讀 4,268評論 0 16
  • 1.下載tomcat cd 到tomcat文件目錄下,sudo sh startup.sh啟動影兽, sudo sh ...
    王_凱閱讀 468評論 0 0
  • 不知不覺揭斧,恍惚之間,假期的第二天已結束赢笨。 室友昨天回來未蝌,晚上一起去吃了烤肉,好久沒吃了茧妒,覺得還行萧吠。 早上一覺醒來,...
    簡書小小屋閱讀 65評論 0 1