摘要:定義格式修飾符返回值類型函數(shù)名參數(shù)類型形式參數(shù)參數(shù)類型形式參數(shù)執(zhí)行語句返回值當函數(shù)沒有具體的返回值時,返回的返回值類型用關(guān)鍵字表示。如果函數(shù)的返回值類型是時,語句可以省略不寫的,系統(tǒng)會幫你自動加上。
語法基礎(chǔ) 一. 專業(yè)術(shù)語 01. 關(guān)鍵字
某種語言賦予了特殊含義的單詞。
02. 保留字還沒有賦予特殊含義,但是準備日后要使用過的單詞。
03. 標示符在程序中自定義的名詞。比如類名,變量名,函數(shù)名。包含 0-9、a-z、$、_ ;
注意:
數(shù)字不可以開頭。
不可以使用關(guān)鍵字。
04.常量是在程序中的不會變化的數(shù)據(jù)。
05.變量其實就是內(nèi)存中的一個存儲空間,用于存儲常量數(shù)據(jù)。
作用:方便于運算。因為有些數(shù)據(jù)不確定。所以確定該數(shù)據(jù)的名詞和存儲空間。
特點:變量空間可以重復(fù)使用。
什么時候定義變量?只要是數(shù)據(jù)不確定的時候,就定義變量。(01). 變量空間的開辟需要什么要素呢?
這個空間要存儲什么數(shù)據(jù)?數(shù)據(jù)類型。
這個空間叫什么名字???變量名稱。
這個空間的第一次的數(shù)據(jù)是什么? 變量的初始化值。
(02). 作用域:作用域從變量定義的位置開始,到該變量所在的那對大括號結(jié)束;
(03). 生命周期:變量從定義的位置開始就在內(nèi)存中活了;
變量到達它所在的作用域的時候就在內(nèi)存中消失了;
級別從低到高為:byte,char,short(這三個平級)-->int-->float-->long-->double01. 基本數(shù)據(jù)類型
自動類型轉(zhuǎn)換:從低級別到高級別,系統(tǒng)自動轉(zhuǎn)的;
強制類型轉(zhuǎn)換:什么情況下使用?把一個高級別的數(shù)賦給一個別該數(shù)的級別低的變量;
byte、short、int、long、float、double、char、boolean
02. 引用數(shù)據(jù)類型數(shù)組、類、接口。
三. 運算符號: 01. 算術(shù)運算符+ - * / % %:任何整數(shù)模2不是0就是1,所以只要改變被模數(shù)就可以實現(xiàn)開關(guān)運算。
+:連接符
++,--
= += -= *= /= %=
03. 比較運算符特點:該運算符的特點是:運算完的結(jié)果,要么是true,要么是false。
04. 邏輯運算符 (01).& | ^ ! && ||邏輯運算符除了 ! 外都是用于連接兩個boolean類型表達式。
&: 只有兩邊都為true結(jié)果是true。否則就是false。
|:只要兩邊都為false結(jié)果是false,否則就是true
^:異或:和或有點不一樣。
兩邊結(jié)果一樣,就為false。
兩邊結(jié)果不一樣,就為true.
& :無論左邊結(jié)果是什么,右邊都參與運算。
&&:短路與,如果左邊為false,那么右邊不參數(shù)與運算。
|:兩邊都運算。
||:短路或,如果左邊為true,那么右邊不參與運算。
用于操作二進制位的運算符。
& | ^
<< >> >>>(無符號右移)
對兩個變量的數(shù)據(jù)進行互換。不需要第三方變量。
int a = 3,b = 5;-->b = 3,a = 5;
a = a + b; a = 8;
b = a - b; b = 3;
a = a - b; a = 5;
a = a ^ b;//
b = a ^ b;//b = a ^ b ^ b = a
a = a ^ b;//a = a ^ b ^ a = b;
練習(xí):高效的算出 2*8 = 2<<3;
If switch do while while for01. If switch
這些語句什么時候用?
當判斷固定個數(shù)的值的時候,可以使用if,也可以使用switch。
但是建議使用switch,效率相對較高。
switch(變量){ case 值:要執(zhí)行的語句;break; … default:要執(zhí)行的語句; }(01). 工作原理
用小括號中的變量的值依次和case后面的值進行對比
和哪個case后面的值相同了就執(zhí)行哪個case后面的語句
如果沒有相同的則執(zhí)行default后面的語句
break是可以省略的,如果省略了就一直執(zhí)行到遇到break為止
switch 后面的小括號中的變量應(yīng)該是byte,char,short,int四種類型中的一種
default可以寫在switch結(jié)構(gòu)中的任意位置;如果將default語句放在了第一行,則不管expression與case中的value是否匹配,程序會從default開始執(zhí)行直到第一個break出現(xiàn)
當判斷數(shù)據(jù)范圍,獲取判斷運算結(jié)果boolean類型時,需要使用if。
當某些語句需要執(zhí)行很多次時,就用循環(huán)結(jié)構(gòu),while和for可以進行互換。(01). 區(qū)別
如果需要定義變量控制循環(huán)次數(shù)。建議使用for。因為for循環(huán)完畢,變量在內(nèi)存中釋放。
(02). break作用于switch ,和循環(huán)語句,用于跳出,或者稱為結(jié)束。
break語句多帶帶存在時,下面不要定義其他語句,因為執(zhí)行不到,編譯會失敗。當循環(huán)嵌套時,break只跳出當前所在循環(huán)。要跳出嵌套中的外部循環(huán),只要給循環(huán)起名字即可,這個名字稱之為標號。
只作用于循環(huán)結(jié)構(gòu),繼續(xù)循環(huán)用的。
作用:結(jié)束本次循環(huán),繼續(xù)下次循環(huán)。該語句多帶帶存在時,下面不可以定義語句,執(zhí)行不到。
為了提高代碼的復(fù)用性,可以將其定義成一個多帶帶的功能,該功能的體現(xiàn)就是java中的函數(shù)。函數(shù)就是體現(xiàn)之一。01. 定義格式:
修飾符 返回值類型 函數(shù)名(參數(shù)類型 形式參數(shù)1,參數(shù)類型 形式參數(shù)1,…){ 執(zhí)行語句; return 返回值; }
當函數(shù)沒有具體的返回值時,返回的返回值類型用void關(guān)鍵字表示。
如果函數(shù)的返回值類型是void時,return語句可以省略不寫的,系統(tǒng)會幫你自動加上。
return的作用:結(jié)束函數(shù)。結(jié)束功能。
如何定義一個函數(shù)?
函數(shù)其實就是一個功能,定義函數(shù)就是實現(xiàn)功能,通過兩個明確來完成:
明確該功能的運算完的結(jié)果,其實是在明確這個函數(shù)的返回值類型。
在實現(xiàn)該功能的過程中是否有未知內(nèi)容參與了運算,其實就是在明確這個函數(shù)的參數(shù)列表(參數(shù)類型&參數(shù)個數(shù))。
02. 函數(shù)的作用:用于定義功能。
用于封裝代碼提高代碼的復(fù)用性。
注意:函數(shù)中只能調(diào)用函數(shù),不能定義函數(shù)。03. 主函數(shù):
保證該類的獨立運行。
因為它是程序的入口。
因為它在被jvm調(diào)用。
函數(shù)定義名稱是為什么呢?
為了對該功能進行標示,方便于調(diào)用。
為了通過名稱就可以明確函數(shù)的功能,為了增加代碼的閱讀性。
04. 重載在一個類中,如果出現(xiàn)了兩個或者兩個以上的同名函數(shù),只要它們的參數(shù)的個數(shù),或者參數(shù)的類型不同,即可稱之為該函數(shù)重載了。
如何區(qū)分重載:當函數(shù)同名時,只看參數(shù)列表。和返回值類型沒關(guān)系。
用于存儲同一類型數(shù)據(jù)的一個容器。好處:可以對該容器中的數(shù)據(jù)進行編號,從0開始。數(shù)組用于封裝數(shù)據(jù),就是一個具體的實體。
如何在java中表現(xiàn)一個數(shù)組呢?兩種表現(xiàn)形式。
元素類型[] 變量名 = new 元素類型[元素的個數(shù)]; 元素類型[] 變量名 = {元素1,元素2...}; 元素類型[] 變量名 = new 元素類型[]{元素1,元素2...};
二分查找法。必須有前提:數(shù)組中的元素要有序。
public static int halfSeach_2(int[] arr,int key){ int min,max,mid; min = 0; max = arr.length-1; mid = (max+min)>>1; //(max+min)/2; while(arr[mid]!=key){ if(key>arr[mid]){ min = mid + 1; }else if(key六. 內(nèi)存劃分>1; } return mid; }
寄存器
本地方法區(qū)
方法區(qū)
棧
堆
01. 棧存儲的都是局部變量 ( 函數(shù)中定義的變量,函數(shù)上的參數(shù),語句中的變量 );
只要數(shù)據(jù)運算完成所在的區(qū)域結(jié)束,該數(shù)據(jù)就會被釋放。
用于存儲數(shù)組和對象,也就是實體。啥是實體???就是用于封裝多個數(shù)據(jù)的。
1.每一個實體都有內(nèi)存首地址值
2.堆內(nèi)存中的變量都有默認初始化值。因為數(shù)據(jù)類型不同,值也不一樣。
3.垃圾回收機制
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/73193.html
摘要:語法使用使用翻譯一下傳值檢測從翻譯的結(jié)果可以看出,默認參數(shù)只檢查兩種情況不傳參數(shù)傳入前參后用前面的參數(shù)可以作為后面參數(shù)的默認值,甚至可以對前面的參數(shù)做一些特別的操作,比如簡單的加減乘除默認參數(shù)調(diào)用函數(shù)賦值默認參數(shù)甚至可以調(diào)用函數(shù),可以調(diào)用函 0x000 語法 function [name]([param1[ = defaultValue1 ][, ..., paramN[ = defa...
摘要:圖片抓取上本項目主要講述項目的搭建和啟動過程,為以后繼續(xù)圖片抓取的業(yè)務(wù)展示做基礎(chǔ)。用于處理請求和響應(yīng)的攔截處理。這樣相比容器直接發(fā)到處理,大大減少了代碼重復(fù)工作而且方便統(tǒng)一管理。上下文關(guān)系從上圖可以看出主要在和兩部分做工作。 【圖片抓取】003-JAVA WEB(上) 本項目主要講述java web項目的搭建和啟動過程,為以后繼續(xù)圖片抓取的業(yè)務(wù)展示做基礎(chǔ)。項目中采用tomcat+spr...
摘要:性能分析與實驗性能的宏觀分析在上一篇文章中,我們從是解釋性語言動態(tài)語言和底層實現(xiàn)等三個方面,探討了性能的問題。在開始分析之前,我們得掌握一些與性能分析相關(guān)的函數(shù)。二性能分析則下面我們根據(jù)小程序來驗證一些常見的性能差別。 【編者按】此前,閱讀過了很多關(guān)于 PHP 性能分析的文章,不過寫的都是一條一條的規(guī)則,而且,這些規(guī)則并沒有上下文,也沒有明確的實驗來體現(xiàn)出這些規(guī)則的優(yōu)勢,同時討論的也側(cè)...
摘要:靜態(tài)塊代碼初始化其實,整個靜態(tài)代碼塊可以看作是一個靜態(tài)成員。和普通的非靜態(tài)成員初始化一樣,它的執(zhí)行也發(fā)生在構(gòu)造器調(diào)用之前,并且每當創(chuàng)建對象之前都會調(diào)用。口繼承中涉及的初始化大的原則是沒有父類,就沒子類。 這個教程,咱們來對Java中設(shè)計到的初始化規(guī)則,或者說初始化順序,來做一下匯總,這里我基本上把Java中,默認初始化,靜態(tài)成員初始化,非靜態(tài)成員初始化,靜態(tài)代碼塊,非靜態(tài)代碼塊,以及繼...
摘要:檢查對應(yīng)位置中的對象和當前對象是否相等。重載是為了向表明當前對象和上所保存的對象是相等的,這樣我們才真正地獲得了這個所對應(yīng)的這個鍵值對。以下例子可以作為上述說明的佐證以上即是全部。 這是Java中很經(jīng)典的問題,在面試中也經(jīng)常被問起。其實很多書或者文章都提到過要重載hashCode()和equals()兩個方法才能實現(xiàn)自定義鍵在HashMap中的查找,但是為什么要這樣以及如果不這樣做會產(chǎn)...
閱讀 3467·2023-04-25 23:25
閱讀 2110·2021-11-12 10:36
閱讀 2825·2019-08-30 12:47
閱讀 2049·2019-08-29 18:45
閱讀 447·2019-08-29 17:28
閱讀 1792·2019-08-29 17:15
閱讀 1717·2019-08-29 16:05
閱讀 1419·2019-08-29 14:17