摘要:基本數(shù)據(jù)類型布爾類型或,占用位。強制類型轉換強制類型轉換的語法格式是,強制類型轉換的運算符是圓括號。無符號右移運算符。對于低于類型如和的操作數(shù)總是先自動類型轉換為類型后再移位。
注釋
單行注釋//......
多行注釋/ .../
文檔注釋/*.../ 文檔注釋位于注釋內容上一行
分號:作為語句的分隔,每個Java語句必須使用分號作為結尾。
花括號:定義一個代碼塊,一個代碼塊指的就是{}中所包含的一段代碼,代碼塊在邏輯上是一個整體。
方括號:用于訪問數(shù)組元素,通常緊跟數(shù)組變量名,方括號里指定希望訪問的數(shù)組元素的索引。
圓括號:定義方法時必須使用圓括號來包含所有的形參聲明;調用方法時也必須使用圓括號來傳入實參值;將表達式中某個部分括成一個整體,保證這個部分優(yōu)先計算;強制類型轉換的運算符
空格
圓點:類/對象和它的成員(包括成員變量、方法和內部類)之間的分隔符,表明調用某個類或某個實例的指定成員。
以字母、下劃線_、美元符$開頭,后面可以跟任意數(shù)目的字母、數(shù)字、下劃線、美元符,字母也可以包含中文字符、日文字符等。區(qū)分大小寫。
關鍵字Java的所有關鍵字都是小寫的
abstract continue for new switch assert default if package synchronized boolean do goto private this break double implements protected throw byte else import public throws case enum instanceof return transient catch extends int short try char final interface static void class finally long strictfp volatile const float native super while數(shù)據(jù)類型分類
Java語言是強類型語言:①所有的變量必須先聲明,后使用;②指定類型的變量只能接受類型與之匹配的值。
基本數(shù)據(jù)類型布爾類型
true或false,占用8位。(最小內存單元是字節(jié))布爾類型的變量或值主要用作旗標來進行流程控制。 if條件控制語句 while循環(huán)控制語句 do while循環(huán)控制語句 for循環(huán)控制語句 三目運算符(?:)
數(shù)值類型:整數(shù)類型、字符類型、浮點類型
整型:byte(8)、short(16)、int(32)、long(64) 直接給出一個整數(shù)值默認就是int類型。 如果直接將一個較小的整數(shù)值賦予一個byte或short變量,系統(tǒng)會自動把這個整數(shù)值當成byte或short類型來處理。 如果使用一個巨大的整數(shù)值(超出int類型范圍),Java不會自動把這個整數(shù)值當成long類型來處理。應在這個整數(shù)值后增加L作為后綴。 二進制0B或0b開頭;八進制以0開頭;十六進制以0X或0x開頭; 二進制數(shù)默認占32位,其中第32位是符號位 所有數(shù)字在計算機底層都是以二進制形式存在的,原碼是直接將一個數(shù)值換算成二進制數(shù)。但計算機以補碼的形式保存所有的整數(shù)。補碼的計算規(guī)則:正數(shù)的補碼和原碼完全相同,負數(shù)的補碼是其反碼加1;反碼是對原碼按位取反,只是最高位(符號位)保持不變。 字符型:16位,Unicode字符集,使用用單引號括起來 單個字符來指定字符型值"A";轉義字符來表示特殊字符型值" ";直接使用Unicode值來表示字符型值,"uXXXX",其中XXXX代表一個十六進制的整數(shù) Java語言中常用的轉義字符 退格符 換行符 回車符 制表符 " 雙引號 " 單引號 反斜線 char類型的值也可直接作為char類型來處理,相當于一個16位的無符號整數(shù)。char類型的變量、值完全可以參與加、減、乘、除等數(shù)學運算,也可以比較大小——用該字符對應的編碼參與運算。 String類表示字符串,使用雙引號括起來。 浮點型:float(32)、double(64) float:第1位符號位,接下來8位表示指數(shù),再接下來23位表示尾數(shù)。 double:第1位符號位,接下來11位表示指數(shù),再接下來的52位表示尾數(shù)。 Java語言的浮點數(shù)有兩種表示形式 十進制數(shù)形式,浮點數(shù)必須包含一個小數(shù)點。 科學計數(shù)法形式 默認類型是double類型,如果希望Java把一個浮點類型值當成float類型處理,應該在這個浮點類型值后緊跟f或F。 三個特殊的浮點數(shù)值: 正無窮大:Double或Float類的POSITIVE_INFINITY。 負無窮大:Double或Float類的NEGATIVE_INFINITY。 非數(shù):Double或Float類的NaN;NaN不與任何數(shù)值相等,甚至和NaN都不相等。
數(shù)值中使用下劃線分割
通過使用下劃線分割,可以更直觀地分辨數(shù)值中到底包含多少位。基本類型的類型轉換 自動類型轉換
當把一個表數(shù)范圍小的數(shù)值或變量直接賦給另一個表數(shù)范圍大的變量時,系統(tǒng)將可以進行自動類型轉換。
char → int → long → float → double
byte → short → long → float → double
+不僅可以作為加法運算符使用,還可作為字符串連接運算符使用。
強制類型轉換的語法格式是(targetType)value,強制類型轉換的運算符是圓括號。
8個包裝類:Boolean、Byte、Short、Integer、Long、Character、Float、Double。parseXxx(String str)靜態(tài)方法用于將字符串轉換成基本類型。
表達式類型的自動提升
當一個算術表達式中包含多個基本類型的值時,整個算術表達式的數(shù)據(jù)類型將發(fā)生自動提升。
所有的byte類型、short類型和char類型將被提升到int類型。
整個算術表達式的數(shù)據(jù)類型自動提升到與表達式中最高等級操作數(shù)同樣的類型。
直接量直接量是指在程序中通過源代碼直接給出的值。
直接量的類型能指定直接量的通常只有:基本類型、字符串類型和null類型。int、long、float、double、boolean、char、String、null。
null可以賦給任何引用類型的變量,用以表示這個引用類型變量中保存的地址為空,即還未指向任何有效對象。
直接量的賦值允許把一個數(shù)字直接量直接賦給另一種類型的變量,這種賦值必須是系統(tǒng)所支持的自動類型轉換;String類型的直接量不能賦給其他類型的變量;null類型的直接量可以直接賦給任何引用類型的變量,包括String類型;boolean類型的直接量只能賦給boolean類型的變量,不能賦給其他任何類型的變量
當程序第一次使用某個字符串直接量時,Java會使用常量池(constant pool)來緩存該字符串直接量,如果程序后面的部分需要用到該字符串直接量時,Java會直接使用常量池(constant pool)中的字符串直接量
由于String類是一個典型的不可變類,因此String對象創(chuàng)建出來就不可能被改變
常量池(constant pool)指的是編譯期被確定,并被保存在已編譯的.class文件中的一些數(shù)據(jù)。包括關于類、方法、接口中的常量,也包括字符串直接量
String s0 = "hello"; String s1 = "hello"; String s2 = "he" +"llo"; System.out.println( s0 == s1 ); // true System.out.println( s0 == s2 ); // true
Java會確保每個字符串常量只有一個,不會產(chǎn)生多個副本,例子中的s0和s1中的"hello"都是字符串常量,它們在編譯期就被確定了,所以s0 == s1返回true;而"he"和"llo"也都是字符串常量,當一個字符串由多個字符串常量連接而成時,它本身也是字符串常量,s2同樣在編譯期就被解析為一個字符串常量,所以時s2也是常量池中"hello"的引用
運算符 算術運算符+:加法運算符、字符串的連接運算符 -:減法運算符 *:乘法運算符 /:除法運算符。如果兩個操作數(shù)都是整數(shù)類型,則計算結果也是整數(shù),將自然除法的結果截斷取整;除數(shù)不可以是0,否則將引發(fā)除以零異常。 %:求余運算符。如果兩個操作數(shù)都是整數(shù)類型,則求余運算的第二個操作數(shù)不能是0,否則將引發(fā)除以零異常;如果兩個操作數(shù)中有一個或者兩個都是浮點數(shù),則允許第二個操作數(shù)是0或0.0,結果是非數(shù);0或0.0對零以外的任何數(shù)求余都將得到0或0.0。 ++:自加。①自加是單目運算符,只能操作一個操作數(shù);②自加運算符只能操作單個數(shù)值型(整型、浮點型都行)的變量,不能操作常量或者表達式; ++放在左邊,先把操作數(shù)加1,然后才把操作數(shù)放入表達式中運算;++放右邊,先把操作數(shù)放入表達式中運算,然后才把操作數(shù)加1。 --:自減。 java.lang.Math類:Math.pow(a,5) 求a的5次方;Math.sqrt(a) 求a的平方根;Math.random()返回0~1之間的偽隨機數(shù); Math.sin(1.57) 求1.57的sin函數(shù)值 -:求負運算符位運算符
&:按位與。當兩位同時為1時才返回1。 |:按位或。只要有一位為1即可返回1。 ~:按位非。單目運算符,將操作數(shù)的每個位(包括符號位)全部取反。 ^:按位異或。當兩位相同時返回0,不同時返回1。 <<:左移運算符。將操作數(shù)的二進制碼整體左移指定位數(shù),左移后右邊空出來的位以0填充。5<<2,5左移2位。 >>:右移運算符。把第一個操作數(shù)的二進制碼右移指定位數(shù)后,左邊空出來的位以原來的符號位填充,即如果第一個操作數(shù)原來是正數(shù),則左邊補0;如果第一個操作數(shù)是負數(shù),則左邊補1。 >>>:無符號右移運算符。把第一個操作數(shù)的二進制碼右移指定位數(shù)后,左邊空出來的位總是以0填充。 1.對于低于int類型(如byte、short和char)的操作數(shù)總是先自動類型轉換為int類型后再移位。 2.對于int類型的整數(shù)移位a>>b,當b>32時,系統(tǒng)先用b對32求余,得到的結果才是真正移位的位數(shù)。 3.對于long類型的整數(shù)移位a>>b,當b>64時,總是先用b對61求余,得到的結果才是真正移位的位數(shù)。賦值運算符
用于為變量指定變量值
擴展后的賦值運算符具有更好的性能,而且程序更加健壯,推薦使用。 += -= *= /= &= |= ^= <<= >>= >>>=比較運算符
> >= < <= == !=
==:如果進行比較的兩個操作數(shù)都是數(shù)值類型,即使他們的數(shù)據(jù)類型不相同,只要它們的值相等,也都將返回true。如91="a"返回true,5.0==5也返回true。如果兩個操作數(shù)都是引用類型,那么只有當兩個引用變量的類型具有父子關系時才可以比較,而且這兩個引用必須指向同一個對象才會返回true。
邏輯運算符用于操作兩個布爾型的變量或常量。
&總會計算前后兩個操作數(shù),而&&先計算左邊的操作數(shù),如果左邊的操作數(shù)為false,則直接返回false,根本不會計算右邊的操作數(shù)。
&&:與,前后兩個操作數(shù)必須都是true才返回true,否則返回false。
&:不短路與,作用與&&相同,但不會短路
||如果第一個操作數(shù)返回true,||將不再對第二個操作數(shù)求值,直接返回true。|總是執(zhí)行前后兩個操作數(shù)。
||:或,只要兩個操作數(shù)中有一個是true,則返回false;如果操作數(shù)為false,則返回true。
|:不短路或,作用與||相同,但不會短路。
!:非,只需要一個操作數(shù),如果操作數(shù)為true,則返回false;如果操作數(shù)為false,則返回true。
^:異或,當兩個操作數(shù)不同時才返回true,如果兩個操作數(shù)相同則返回false
(expression)?if-true-statement:if-false-statement
先對邏輯表達式expression求值,如果邏輯表達式返回true,則返回第二個操作數(shù)的值,如果邏輯表達式返回false,則返回第三個操作數(shù)的值。三目運算符都是作為if else的精簡寫法。
三目運算符不支持多個語句,但可以嵌套。
分隔符 . [] () {} , ; 單目運算符 ++ -- ~ ! 強制類型轉換運算符 (type) 乘法/除法/求余 * / % 加法/減法 + - 移位運算符 << >> >>> 關系運算符 < <= > >= instanceof 等價運算符 == != 按位與 & 按位異或 ^ 按位或 | 條件與 && 條件或 || 三目運算符 ?: 賦值運算符 = += -= *= /= &= |= ^= %= <<= >>= >>>=
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/65241.html
摘要:是一種強類型語言,因此,定義了基本數(shù)據(jù)類型。運算符先從運算符談起?;緮?shù)據(jù)類的基本數(shù)據(jù)類型同其它高級程序語言比較類似。常用類類型除了一些基本數(shù)據(jù)類型,提供的一些類類型,使用頻率也很高。 Java 是一種強類型語言,因此,Java 定義了基本數(shù)據(jù)類型。同時, Java 和其它高級計算機語言一樣,有多種運算符,這在我們編程過程中極為有用。 運算符 先從運算符談起。 顧名思義,運算符解決的是...
摘要:剛開始學習的時候,可能是一頭霧水,不知道從何學起。這個教程總體來說就像列文虎克教學,細到極致,妙到毫巔。適合絕對零基礎的,每個知識點掰開了揉碎了講解。 剛開始學習java的時候,可能是一頭霧水,不知道從何學起。還有很多Java小白,在剛自學Java的時候玩命的學習,玩命的記住Java原理,天天早上五點起床背Java的一些英...
摘要:前言的基礎語法與有很多相似之處,但是也有一些特定的關鍵詞是獨有的。以開頭八進制由,,組成。整數(shù)默認是十進制十六進制由,,,,,,,,組成。初始化值必須初始化值,否則不能使用變量。 前言 java的基礎語法與php有很多相似之處,但是也有一些特定的關鍵詞是java獨有的。 java的基礎語法大體就包括:關鍵字,標識符,注釋,常量,進制和進制轉換,變量,數(shù)據(jù)類型和類型轉換,運算符,語句 ...
摘要:所以就想把一大串縮短點,將二進制中的三位用一位表示。以可以大寫也可以小寫開頭版本可以表示二進制了八進制的數(shù)據(jù)表現(xiàn)形式由組成。結果把系數(shù)基數(shù)的權次冪相加即可。因為語言采用的是碼來編碼的。 1_(常量的概述和使用)* A:什么是常量(constant) 在程序執(zhí)行的過程中其值不可以發(fā)生改變 B:Java中常量的分類 字面值常量 自定義常量(面向對象部分講) C:字面值常量的...
閱讀 2910·2021-10-14 09:42
閱讀 1256·2021-09-24 10:32
閱讀 2973·2021-09-23 11:21
閱讀 2852·2021-08-27 13:10
閱讀 3343·2019-08-29 18:41
閱讀 2206·2019-08-29 15:16
閱讀 1217·2019-08-29 13:17
閱讀 900·2019-08-29 11:22