創(chuàng)新互聯(lián)服務(wù)項目包括呼圖壁網(wǎng)站建設(shè)、呼圖壁網(wǎng)站制作、呼圖壁網(wǎng)頁制作以及呼圖壁網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,呼圖壁網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到呼圖壁省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
我們從零開始學(xué)習(xí)大數(shù)據(jù)技術(shù),從java基礎(chǔ),到Linux技術(shù)涉獵,再深入到大數(shù)據(jù)技術(shù)的Hadoop、Spark、Storm技術(shù),最后到大數(shù)據(jù)企業(yè)平臺的搭建,層層遞進(jìn),由點到面!希望技術(shù)大牛能過來指導(dǎo)學(xué)習(xí)。
上一節(jié)了解Java的發(fā)展史和基本操作,本節(jié)我們開始學(xué)習(xí)Java語言的基礎(chǔ)語法,將會圍繞以下幾個知識點進(jìn)行展開學(xué)習(xí):
關(guān)鍵字
標(biāo)識符
注釋
常量和變量
運算符
語句
函數(shù)
數(shù)組
PS:本節(jié)先學(xué)習(xí)前面4個知識點。
1、關(guān)鍵字
關(guān)鍵字的概述
·被Java語言賦予特定含義的單詞
關(guān)鍵字的特點
·組成關(guān)鍵字的字母全部小寫
關(guān)鍵字注意事項
goto和const作為保留字存在,目前并不使用
類似Notepad++這樣的高級記事本,針對關(guān)鍵字有特殊的顏色標(biāo)記,非常直觀。
class,public,static,void都是關(guān)鍵字,【更多關(guān)鍵字】https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
https://baike.baidu.com/item/java%E5%85%B3%E9%94%AE%E5%AD%97/5808816?fr=aladdin
2、標(biāo)識符
(1)標(biāo)識符概述:
就是給類,接口,方法,變量等取名字時使用的字符序列。
(2)主要組成規(guī)則:
英文大小寫字母
數(shù)字字符
$和_
(3)注意事項:
不能以數(shù)字開頭
不能使用Java中的關(guān)鍵字
Java語言嚴(yán)格區(qū)分大小寫
(4)常見的命名規(guī)則(建議遵循見名知意原則):
如:要定義一個學(xué)生類
class student{}
命名規(guī)則主要如下:
a.包:
其實就是文件夾,用于把相同的類名進(jìn)行區(qū)分,全部小寫
單級:apple
多級:abc.apple
b.類或接口:
一個單詞:單詞的首字母必須大寫
舉例:Student, Dog
多個單詞:每個單詞首字母必須大寫
舉例:HelloWorld,StudentName
c.方法或者變量:
一個單詞:單詞首字母小寫
舉例:main,age
多個單詞:從第二個單詞開始,每個單詞的首字母大寫
舉例:studentAge,showAllNames()
d.常量:
一個單詞:全部大寫
舉例:PI
多個單詞:每個字母都大寫,用_隔開
舉例:PERSON_NAME
3、注釋
在Java開發(fā)中,我們需要為代碼寫相關(guān)注釋.
(1)注釋概述:
用于解釋說明程序的文字
(2)Java中注釋分類格式:
a.單行注釋
格式: // 注釋文字
b.多行注釋:
格式:/* 注釋文字 */
c.文檔注釋:
格式:/** 注釋文字 */
(3)編寫帶注釋版本的HelloWorld案例
【注意】注釋是一個程序員必須要具有的良好編程習(xí)慣。建議初學(xué)者編寫程序養(yǎng)成以下習(xí)慣:
先寫注釋再寫代碼,將自己的思想通過注釋先整理出來,再用代碼去體現(xiàn)。
因為代碼僅僅是思想的一種體現(xiàn)形式而已
規(guī)范如下圖: ①需求 ②分析 ③實現(xiàn) ④代碼體現(xiàn)
(4)注釋的作用
A:解釋說明程序,提高了代碼的閱讀性
B:可以幫助我們調(diào)試程序,后面我們會講解一個更高端的一個調(diào)試工具
4、常量
(1) 常量概述
·常量是指程序在運行過程中其值不能改變的量
(2)Java中常量的分類
a.字面值常量
b.自定義常量(后面內(nèi)容做進(jìn)一步說明)
字符串常量:用雙引號括起來的內(nèi)容
eg:"Hello","world","HelloWorld"
整數(shù)常量:所有的整數(shù)
eg:12,23
小數(shù)常量:所有小數(shù)
eg:1234.5678
字符常量: 用單引號括起來的內(nèi)容
eg:'a','A','0'
布爾常量:比較特殊,只有true和false
空常量: null,(后面會細(xì)講)
(3)在Java中針對整數(shù)常量提供了四種表現(xiàn)形式:
a.二進(jìn)制 由0,1組成。以0b開頭
b.八進(jìn)制 由0,1,...7組成。以0開頭
c.十進(jìn)制 由0,1,2, ....9組成。整數(shù)默認(rèn)是十進(jìn)制
d.十六進(jìn)制 由0,1,2, ...9,a,b,c,d,e,f(大小寫均可)組成。以0x開頭
(4)下面我們來創(chuàng)建一個案例ConstantDemo:
程序執(zhí)行結(jié)果如下:
5、進(jìn)制轉(zhuǎn)換
進(jìn)制概述:就是進(jìn)位制,是人們規(guī)定的一種進(jìn)位方法,對于任何一種進(jìn)制---X進(jìn)制,就表示某一位置上的運算時是逢X進(jìn)一位。二進(jìn)制就是逢二進(jìn)一,八進(jìn)制就是逢八進(jìn)一,十進(jìn)制就是逢十進(jìn)一,十六進(jìn)制就是逢十六進(jìn)一。
(1)其他進(jìn)制到十進(jìn)制
系數(shù):就是每一個位上的數(shù)值
基數(shù):X進(jìn)制的基數(shù)就是X
權(quán):對每一個位上的數(shù)據(jù),從右開始,并且從0開始編號,對應(yīng)的編號就是該數(shù)據(jù)的權(quán)
結(jié)果:系數(shù)*基數(shù)^權(quán)次冪之和
(2)十進(jìn)制到其他進(jìn)制
除基數(shù)取余,直到商為0,余數(shù)反轉(zhuǎn)
(3)進(jìn)制轉(zhuǎn)換的快速轉(zhuǎn)換法
a.十進(jìn)制和二進(jìn)制間的轉(zhuǎn)換
128 64 32 16 8 4 2 1碼
b.二進(jìn)制到八進(jìn)制,十六進(jìn)制的轉(zhuǎn)換
(4)有符號數(shù)據(jù)表示法
在計算機(jī)內(nèi),有符號數(shù)有3種表示法:原碼,反碼和補(bǔ)碼。
為什么要講解該知識點?因為計算機(jī)在操作的時候,所有數(shù)據(jù)的運算都是采用補(bǔ)碼進(jìn)行計算的。
原碼:
就是二進(jìn)制定點表示法,即最高位為符號位,“0表示正,”1表示負(fù),其余位表示數(shù)值的大小
反碼:
正數(shù)的反碼與其原碼相同:負(fù)數(shù)的反碼是對其原碼逐位取反,但符號位除外。
補(bǔ)碼:
正數(shù)的補(bǔ)碼與其原碼相同,負(fù)數(shù)的補(bǔ)碼是在其反碼的末位加1.
舉例:
用原碼,反碼,補(bǔ)碼來分別表示+7,和-7.
首先:我們先得到7的二進(jìn)制:111
?原碼:
正數(shù)的原碼最高位(符號位)是0
負(fù)數(shù)的原碼最高位(符號位)是1
其他的是數(shù)值位
符號位 數(shù)值位
+7 0 0000111
-7 1 0000111?
??反碼:
正數(shù)的反碼與原碼相同
負(fù)數(shù)的反碼與原碼符號位相同,數(shù)值位取反,就是1變0,0變1
符號位 數(shù)值位
+7 0 0000111
-7 1 1111000?
??補(bǔ)碼:
正數(shù)的補(bǔ)碼與原碼相同
負(fù)數(shù)的補(bǔ)碼時在反碼的基礎(chǔ)上加1
符號位 數(shù)值位
+7 0 0000111
-7 1 1111001?
?6、變量
(1)概述:在程序的執(zhí)行過程中,其值在某個范圍內(nèi)可以發(fā)生改變的量,用于存儲可變數(shù)據(jù)的容器
(2)變量的特點:
a.必須要有大小
b.存儲一定格式的可變數(shù)據(jù)
c.必須要有名字
(3)變量的組成規(guī)則:
a.必須用數(shù)據(jù)類型對其進(jìn)行限定
b.在運算的時候,不可能時拿著這個空間去運算,我們真正運算時使用的是該空間中的值,所以就要給該空間取一個名字(即變量名)
c.即使有數(shù)據(jù)類型了,有變量名了,但是如果沒有值,這個空間也就是一個垃圾空間,沒有任何意義,所以我們給變量取名了,還需要進(jìn)一步做初始化值
(4)變量的定義格式:
a.數(shù)據(jù)類型 變量名 = 初始化值;
b.數(shù)據(jù)類型 變量名;
變量名 = 初始化值;
7、數(shù)據(jù)類型
(1)Java語言是一種強(qiáng)類型語言,針對每種數(shù)據(jù)都提供了對應(yīng)的數(shù)據(jù)類型,在內(nèi)存中分配了不同大小的內(nèi)存空間。
(2)分類:
A:基本數(shù)據(jù)類型:4類8種
B:引用數(shù)據(jù)類型:類,接口,數(shù)組。
(3)基本數(shù)據(jù)類型
a、整數(shù) 占用字節(jié)數(shù)
byte 1
short 2
int 4
long 8
b、浮點型
float 4
double 8
c、字符型
char 2
d、布爾型
Boolean 1
注意事項:
整數(shù)默認(rèn)是int類型
浮點數(shù)默認(rèn)是double
長整數(shù)要加L或者l
單精度的浮點數(shù)要加F或者f
布爾型默認(rèn)值是false
案例:
程序執(zhí)行結(jié)果如下:
使用變量時注意事項:
作用域:
變量定義在哪一級大括號中,哪個大括號的范圍就是這個變量的作用域。相同的作用域中不能定義兩個同名變量。
初始化值
變量沒有初始化值不能直接使用
在一行上建議只定義一個變量(可讀性會更好)
案例(1)
同名程序案例:
執(zhí)行結(jié)果:
取消同名,正確執(zhí)行結(jié)果如下:
案例(2)
變量沒有初始化值
執(zhí)行結(jié)果
變量初始化值:
8、數(shù)據(jù)類型轉(zhuǎn)換
(1)boolean類型不參與類型轉(zhuǎn)換
(2)默認(rèn)轉(zhuǎn)換
a、從小到大
b、byte,short,char----int ----long ---float ---double
c、byte,short,char之間不相互轉(zhuǎn)換,直接轉(zhuǎn)成int類型參與運算
(3)強(qiáng)制轉(zhuǎn)換
a、從大到小
b、可能會有精度的損失,一般不建議這樣使用
c、格式:
目標(biāo)數(shù)據(jù)類型 變量名 = (目標(biāo)數(shù)據(jù)類型) (被轉(zhuǎn)換的數(shù)據(jù));
(4)接下來出兩個思考題,留給大家思考:
a、下面兩種方式有區(qū)別嗎?
float f1 = 12.345;
float f2 = (float)12.345;
b、下面的程序有問題嗎,如果有,在哪里呢?
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;
byte b4 = 3 + 4;
c、下面的操作結(jié)果是什么呢?
byte b = (byte) 130;
d、字符參與運算
是查找ASCII里面的值(http://www.asciima.com/ ASCII碼查看工具)
'a' 97
'A' 65
'0' 48
System.out.println('a');
System.out.println('A');
System.out.println('0');
e:字符串參與運算
這里其實是字符串的連接。
線下敲一下代碼,看下面的打印出來的結(jié)果是怎么樣的。
System.out.println("hello"+'a'+1);
System.out.println('a'+1+"hello");
System.out.println("5+5="+5+5);
System.out.println(5+5"=5+5");
以下是對應(yīng)的ASCII表
本人能力有限,如有不足,還望指正
感謝大家一如既往的支持
希望一起分享給更多的人
讓大家一起學(xué)習(xí)大數(shù)據(jù)技術(shù)
歡迎交流