成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Java003-語法基礎(chǔ)

gityuan / 1461人閱讀

摘要:定義格式修飾符返回值類型函數(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)存中消失了;

二. 數(shù)據(jù)類型:
級別從低到高為:byte,char,short(這三個平級)-->int-->float-->long-->double
自動類型轉(zhuǎn)換:從低級別到高級別,系統(tǒng)自動轉(zhuǎn)的;
強制類型轉(zhuǎn)換:什么情況下使用?把一個高級別的數(shù)賦給一個別該數(shù)的級別低的變量;
01. 基本數(shù)據(jù)類型

byte、short、int、long、float、double、char、boolean

02. 引用數(shù)據(jù)類型

數(shù)組、類、接口。

三. 運算符號: 01. 算術(shù)運算符

+ - * / % %:任何整數(shù)模2不是0就是1,所以只要改變被模數(shù)就可以實現(xiàn)開關(guān)運算。
+:連接符
++,--

02. 賦值運算符

= += -= *= /= %=

03. 比較運算符

特點:該運算符的特點是:運算完的結(jié)果,要么是true,要么是false。

04. 邏輯運算符 (01).& | ^ ! && ||

邏輯運算符除了 ! 外都是用于連接兩個boolean類型表達式。
&: 只有兩邊都為true結(jié)果是true。否則就是false。
|:只要兩邊都為false結(jié)果是false,否則就是true
^:異或:和或有點不一樣。
兩邊結(jié)果一樣,就為false。
兩邊結(jié)果不一樣,就為true.

(02). &&&區(qū)別:

& :無論左邊結(jié)果是什么,右邊都參與運算。
&&:短路與,如果左邊為false,那么右邊不參數(shù)與運算。

(03). ||| 區(qū)別:

|:兩邊都運算。
||:短路或,如果左邊為true,那么右邊不參與運算。

05. 位運算符

用于操作二進制位的運算符。
& | ^
<< >> >>>(無符號右移)

06. 練習(xí)

對兩個變量的數(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  for
這些語句什么時候用?
01. If switch

當判斷固定個數(shù)的值的時候,可以使用if,也可以使用switch。
但是建議使用switch,效率相對較高。

switch(變量){
    case 值:要執(zhí)行的語句;break;
     …
    default:要執(zhí)行的語句;
}
(01). 工作原理

用小括號中的變量的值依次和case后面的值進行對比
和哪個case后面的值相同了就執(zhí)行哪個case后面的語句
如果沒有相同的則執(zhí)行default后面的語句

(02). 細節(jié)

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。

02. do while while for
當某些語句需要執(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)起名字即可,這個名字稱之為標號。

(03). continue

只作用于循環(huán)結(jié)構(gòu),繼續(xù)循環(huán)用的。
作用:結(jié)束本次循環(huán),繼續(xù)下次循環(huán)。該語句多帶帶存在時,下面不可以定義語句,執(zhí)行不到。

四. 函數(shù)
為了提高代碼的復(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ù)組

用于存儲同一類型數(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>1;
    }
    return mid;
}
六. 內(nèi)存劃分

寄存器

本地方法區(qū)

方法區(qū)

01. 棧

存儲的都是局部變量 ( 函數(shù)中定義的變量,函數(shù)上的參數(shù),語句中的變量 );
只要數(shù)據(jù)運算完成所在的區(qū)域結(jié)束,該數(shù)據(jù)就會被釋放。

02. 堆

用于存儲數(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

相關(guān)文章

  • es6基礎(chǔ)0x003:默認參數(shù)

    摘要:語法使用使用翻譯一下傳值檢測從翻譯的結(jié)果可以看出,默認參數(shù)只檢查兩種情況不傳參數(shù)傳入前參后用前面的參數(shù)可以作為后面參數(shù)的默認值,甚至可以對前面的參數(shù)做一些特別的操作,比如簡單的加減乘除默認參數(shù)調(diào)用函數(shù)賦值默認參數(shù)甚至可以調(diào)用函數(shù),可以調(diào)用函 0x000 語法 function [name]([param1[ = defaultValue1 ][, ..., paramN[ = defa...

    james 評論0 收藏0
  • 【圖片抓取】003-JAVA WEB(上)

    摘要:圖片抓取上本項目主要講述項目的搭建和啟動過程,為以后繼續(xù)圖片抓取的業(yè)務(wù)展示做基礎(chǔ)。用于處理請求和響應(yīng)的攔截處理。這樣相比容器直接發(fā)到處理,大大減少了代碼重復(fù)工作而且方便統(tǒng)一管理。上下文關(guān)系從上圖可以看出主要在和兩部分做工作。 【圖片抓取】003-JAVA WEB(上) 本項目主要講述java web項目的搭建和啟動過程,為以后繼續(xù)圖片抓取的業(yè)務(wù)展示做基礎(chǔ)。項目中采用tomcat+spr...

    jiekechoo 評論0 收藏0
  • PHP 性能分析與實驗(二)——PHP 性能的微觀分析

    摘要:性能分析與實驗性能的宏觀分析在上一篇文章中,我們從是解釋性語言動態(tài)語言和底層實現(xiàn)等三個方面,探討了性能的問題。在開始分析之前,我們得掌握一些與性能分析相關(guān)的函數(shù)。二性能分析則下面我們根據(jù)小程序來驗證一些常見的性能差別。 【編者按】此前,閱讀過了很多關(guān)于 PHP 性能分析的文章,不過寫的都是一條一條的規(guī)則,而且,這些規(guī)則并沒有上下文,也沒有明確的實驗來體現(xiàn)出這些規(guī)則的優(yōu)勢,同時討論的也側(cè)...

    Airy 評論0 收藏0
  • Java初始化規(guī)則都不懂,搞什么開發(fā)!

    摘要:靜態(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)代碼塊,以及繼...

    qc1iu 評論0 收藏0
  • Java 用自定義類型作為HashMap的鍵

    摘要:檢查對應(yīng)位置中的對象和當前對象是否相等。重載是為了向表明當前對象和上所保存的對象是相等的,這樣我們才真正地獲得了這個所對應(yīng)的這個鍵值對。以下例子可以作為上述說明的佐證以上即是全部。 這是Java中很經(jīng)典的問題,在面試中也經(jīng)常被問起。其實很多書或者文章都提到過要重載hashCode()和equals()兩個方法才能實現(xiàn)自定義鍵在HashMap中的查找,但是為什么要這樣以及如果不這樣做會產(chǎn)...

    張率功 評論0 收藏0

發(fā)表評論

0條評論

gityuan

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<