主頁 > 移動端開發 > javaSE探賾索隱之二<第二篇博客,磕磕絆絆,識訓滿滿!加油>

javaSE探賾索隱之二<第二篇博客,磕磕絆絆,識訓滿滿!加油>

2020-10-20 04:40:53 移動端開發

文章目錄

  • IDE的使用
  • 注釋
  • 關鍵字
  • 保留字
  • 識別符號
  • 變數
      • 變數的分類:
        • 按資料型別
        • 按位置
  • Java資料型別
      • 基本資料型別
        • 數值型
          • 整數型別
          • 浮點型別
        • 字符型
        • 布爾型
      • 參考資料型別
        • 介面
        • 陣列
  • 資料型別轉換
      • 默認轉換
      • 強制型別轉換
  • 運算子
      • 算術運算子
    • 關系(比較)運算子
      • 邏輯運算子
      • 賦值運算子
      • 條件運算子(三目運算子)
      • 位運算子
      • 運算式的運算順序
  • 控制陳述句
      • 控制臺輸入
      • 條件陳述句
      • 回圈
  • 方法

IDE的使用

  • IDE(Integrated Development Environment )集成開發環境包含編輯器、編譯器、除錯圖形界面
  • IntelliJ IDEA是捷克的一家公司收費的產品
  • Eclipse是IBM公司開發的 現在捐獻eclipse基金會

注釋

  • 注釋是對程式功能的說明,注釋以某種特定符號作為標記,注釋不會程式在運行程序中執行.
  1. //單行注釋

  2. /*

    多行注釋

    */

  3. /**

    檔案注釋,用于為類、方法、屬性的功能進行說明,呼叫時可以提示其功能介紹.

    */

關鍵字

  • 關鍵字是被語言中賦予特定含義的單詞,用來修飾例如類,屬性,方法,

  • 關鍵字中所有的字母都為小寫,

保留字

  • 在java語言中未被使用的關鍵字,預留的,命名時不能使用,例如goto 、const

識別符號

  • 識別符號是java中對變數、類、方法等命名時使用的字符序列,(自己可以命名的名稱

  • 命名規則:由大小寫字母、數字 、下劃線、$構成,但是數字不能開頭,命名不能是關鍵字,保留字且不能有空格 區分大小寫,

//約定俗成   見名知意  駝峰   類名首字母大小  
user_nameint age  = 10;String userName = "jim";
  • 命名規范
    包名:多單詞組成所有的字母為小寫
    類名、介面名:多單詞組成時,所有的單詞首字母大寫,
    變數名、方法名:駝峰規則
    常量名:所有字母大寫

變數

  1. 變數本質上是程式中最基本的存盤單元,程式執行中數值可變,通過變數名訪問,
  2. 先宣告,后賦值,才能使用,

變數的分類:

按資料型別

  1. 基本資料型別
  2. 參考資料型別

按位置

1.成員變數(定義在類中,方法區之外,僅作用于該類中,)

在定義成員變數時可以對其初始化,如果不對其初始化,Java使用默認的值對其初始化,

參考型別初始值:null;
基本型別初始值:byte=0;int=0;long=0;short=0;double=0.0;float=0.0;char=' '(空														字串); 
布爾型別初始值boolean=" false"

? 2.類變數(定義在類中,方法區之外,用static修飾,僅作用于該類中,且不用創建物件)

? 3.區域變數(定義在方法區、陳述句塊之內,僅作用于該方法區,)
?

Java資料型別

  • 不同的資料型別,在記憶體中分配的存盤空間也不盡相同,
  • 在賦值時,要注意 “資料的值“ 與 “資料的型別” 要匹配,

基本資料型別

數值型

整數型別
  • byte占一個位元組
  • short占兩個位元組
  • int占四個位元組
  • long占八個位元組,宣告long型常量時可在值后面加L/l,
浮點型別
  • float占4個位元組(如要宣告一個常量為 float 型,則需在數字后面加 f 或 F)

  • double占8個位元組(默認)

  • 于在計算機中的計算方式不同,4位元組的浮點大于4位元組、8位元組的整數

  • 計算機中小數是以近似值方式存盤的

  • 進制表示

    ? 二進制:0b/0Bb開頭

    ? 十進制:默認

    ? 八進制:0開頭

    ? 十六進制:0x/0X開頭

字符型

  • char表示字符,占兩個位元組,用單引號括起來,
  • char型別的資料可以參加運算,

計算機底層都是二進制,計算機要表示字符,只有根據人為定義設計的編碼表,字符在不同的編碼表中對 應不同的十進制數字最終在計算機中存盤,不同的國家就定義自己國家的編碼,中國的GBK

ASCII碼:ASCII碼一共規定了128個字符的編碼,比如空格“SPACE”是32(二進制00100000),大寫的字母 A是65(二進制01000001),這128個符號(包括32個不能列印出來的控制符號),只占用了一 個位元組的后面7位,最前面的1位統一規定為0,

Unicode碼:一種編碼,將世界上所有的符號都納入其中,每一個符號都給予一個獨一無二的編碼,使用 Unicode
沒有亂碼的問題

utf-8:是一種可變長度的編碼表,

布爾型

  • boolean 型別適于邏輯運算,一般用于程式流程控制,
  • boolean 型別資料只允許取值 true 或 false ,
  • 注意:不可以0或非 0 的整數替代false和true,這點和C語言不同

參考資料型別

? String str = “abc”;

介面

陣列

資料型別轉換

默認轉換

  • 整形,字符型,浮點型的資料在混合運算中相互轉換,轉換時遵循以下原則:
    容量小的型別默認轉換為容量大的資料型別;

  • 資料型別按容量大小排序為:
    byte,short,char->int->long->float->double

強制型別轉換

  • 容量大的資料型別轉換為容量小的資料型別時,要加上強制轉換符,但可能造成精度降低或溢位;

  • 有多種型別的資料混合運算時,系統首先自動的將所有資料轉換成容量最大的那一種資料型別,然后再進行計算,

運算子

算術運算子

? +可用作:字串連接 加號 正號

? -可用作: 減號 負號

? + - * / % 運算的引數是:數值與數值(char),

? 在這里插入圖片描述

關系(比較)運算子

? >, <, >=, <= 數值與數值(char),

? ==, !=用于 基本型別數值之間的比較、參考型別與參考型別比較,
在這里插入圖片描述

邏輯運算子

在這里插入圖片描述
注: !(非),& (與), |(或) , &&(短路與),||(短路或),^(異或)

  • 用兩個數異或后的結果 與其中一個值進行異或操作 其值等于另一個值.

賦值運算子

  • 注意 ” = “ 兩邊型別與值相匹配

  • 當“=”兩側資料型別不一致時,可以使用自動型別轉換或使用強制型別轉換原則進行處理,支持連續賦值,

  • 擴展賦值運算子: +=, -=, *=, /=, %=

  • 虛擬機支持直接將int型別的數,賦值給byte和short,

    s+=2

    相當于 資料型別 s=(資料型別)s+2.

在這里插入圖片描述

條件運算子(三目運算子)

  • (條件運算式)? 運算式1:運算式2;
    為true,運算后的結果是運算式1;
    為false,運算后的結果是運算式2;

位運算子

在這里插入圖片描述

? 用途:主要用來大量減少運行開銷,優化演算法,

運算式的運算順序

在這里插入圖片描述

控制陳述句

控制臺輸入

? 在新增一個Scanner物件時需要一個System.in物件,因為實際上還是System.in在取得用戶輸入,

? Scanner的next()方法用以 取得用戶輸入的字串;

? nextInt()將取得的輸入字串轉換為整數型別;

? nextFloat()轉換成浮點型;nextBoolean()轉 換成布爾型

? *Scanner sc = new Scanner(System.in);0fsfsdf放暑假開始

條件陳述句

1.if(條件運算式){ 陳述句塊 }

2.if(條件運算式){ 陳述句塊 } else { 陳述句塊 }

3.if(條件運算式){ 陳述句塊 }else if(){ 陳述句塊 }…else{ 陳述句塊 }

4.switch(運算式){
case value1: 陳述句序列1;[break];

…………

? case valueN: 陳述句序列N; [break];

[default : 預設陳述句;]

? }

  • 運算式可以是byte、short、int、char、string、列舉型別,

  • value 不能重復,

  • 某個case分支如果沒有提供break陳述句,則繼續執行下一個case后的陳述句;

  • 當運算式的值與任一value都不匹配時,將執行default后面的陳述句;若無default子句,則直接跳出switch陳述句,

  • 如果判斷的具體數值不多,而且符合byte、 short 、int、 char這四種型別,雖然兩個陳述句都可 以使用,建議 使用swtich陳述句,因為效率稍高,

回圈

  • 組成:回圈變數的初始化、回圈條件部分 、回圈體部分 、回圈變數的更新

  • break 陳述句用于終止某個陳述句塊的執行,用在回圈陳述句體中,可以強行退出回圈;

    可以設定回圈名標簽(回圈名:)可以直接(break+標簽名)跳出回圈,

  • continue 陳述句用在回圈陳述句體中,用于終止某次回圈程序,跳過回圈體中 continue 陳述句下面未執行的回圈,開始下一次回圈程序

1.while(條件運算式){ 陳述句塊 }

  • while()主要用于回圈次數明確的情況下,
    ? 先判斷邏輯運算式的值,若=true.則執行其后面的陳述句,然后再次判斷條件并反復執行,直到條件不成立為止

2.do{ 陳述句塊 }while(條件運算式)

? 先執行陳述句,再判斷邏輯運算式的值,若為true,再執行陳述句,否則結束回圈,shengming

3.for(運算式1; 運算式2; 運算式3){ 陳述句; … ; }

  • for()主要用于回圈次數明確的情況下,
    ? 首先計算運算式1,接著執行運算式2,若運算式2的值 = true,則執行回圈陳述句, 接著計算運算式3,再判斷 運算式2的值;依此重復下去,直到運算式2的值=false.

方法

1.Java的方法類似于其它語言的函式,方法是解決一類問題的步驟的有序組合,方法包含于類或物件中.

2.宣告方法的格式:

? [訪問權限修飾符 修飾符…] [回傳值型別] 方法名 (形式引數型別 引數名) {

? Java陳述句;… … …

? [return 回傳值;]

? }

  • **修飾符:**這是可選的,告訴編譯器如何呼叫該方法,定義了該方法的訪問型別,

  • 形數: 在方法被呼叫時用于接收外界輸入的資料,

  • 實參:呼叫方法時實際傳給方法的資料,

  • 回傳值:方法在執行完畢后返還給呼叫它的環境的資料,

  • 回傳值型別:事先約定的回傳值的資料型別,如無回傳值,必須給出回傳值型別void,

3.方法的呼叫

  • Java語言中使用下述形式呼叫方法:物件名.方法名(實參串列)

  • 實參的數目、資料型別和次序必須和所呼叫方法宣告的形參串列匹配,
    ? Java陳述句;… … …

? [return 回傳值;]

? }

  • **修飾符:**這是可選的,告訴編譯器如何呼叫該方法,定義了該方法的訪問型別,

  • 形數: 在方法被呼叫時用于接收外界輸入的資料,

  • 實參:呼叫方法時實際傳給方法的資料,

  • 回傳值:方法在執行完畢后返還給呼叫它的環境的資料,

  • 回傳值型別:事先約定的回傳值的資料型別,如無回傳值,必須給出回傳值型別void,

3.方法的呼叫

  • Java語言中使用下述形式呼叫方法:物件名.方法名(實參串列)

  • 實參的數目、資料型別和次序必須和所呼叫方法宣告的形參串列匹配,

  • return 陳述句會終止方法的運行,并指定要回傳的資料

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/181460.html

標籤:其他

上一篇:Java復習(八)----泛型詳解

下一篇:Java中的構造方法(建構式)與普通方法區別

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【從零開始擼一個App】Dagger2

    Dagger2是一個IOC框架,一般用于Android平臺,第一次接觸的朋友,一定會被搞得暈頭轉向。它延續了Java平臺Spring框架代碼碎片化,注解滿天飛的傳統。嘗試將各處代碼片段串聯起來,理清思緒,真不是件容易的事。更不用說還有各版本細微的差別。 與Spring不同的是,Spring是通過反射 ......

    uj5u.com 2020-09-10 06:57:59 more
  • Flutter Weekly Issue 66

    新聞 Flutter 季度調研結果分享 教程 Flutter+FaaS一體化任務編排的思考與設計 詳解Dart中如何通過注解生成代碼 GitHub 用對了嗎?Flutter 團隊分享如何管理大型開源專案 插件 flutter-bubble-tab-indicator A Flutter librar ......

    uj5u.com 2020-09-10 06:58:52 more
  • Proguard 常用規則

    介紹 Proguard 入口,如何查看輸出,如何使用 keep 設定入口以及使用實體,如何配置壓縮,混淆,校驗等規則。

    ......

    uj5u.com 2020-09-10 06:59:00 more
  • Android 開發技術周報 Issue#292

    新聞 Android即將獲得類AirDrop功能:可向附近設備快速分享檔案 谷歌為安卓檔案管理應用引入可安全隱藏資料的Safe Folder功能 Android TV新主界面將顯示電影、電視節目和應用推薦內容 泄露的Android檔案暗示了傳說中的谷歌Pixel 5a與折疊屏新機 谷歌發布Andro ......

    uj5u.com 2020-09-10 07:00:37 more
  • AutoFitTextureView Error inflating class

    報錯: Binary XML file line #0: Binary XML file line #0: Error inflating class xxx.AutoFitTextureView 解決: <com.example.testy2.AutoFitTextureView android: ......

    uj5u.com 2020-09-10 07:00:41 more
  • 根據Uri,Cursor沒有獲取到對應的屬性

    Android: 背景:呼叫攝像頭,拍攝視頻,指定保存的地址,但是回傳的Cursor檔案,只有名稱和大小的屬性,沒有其他諸如時長,連ID屬性都沒有 使用 cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DURATIO ......

    uj5u.com 2020-09-10 07:00:44 more
  • Android連載29-持久化技術

    一、持久化技術 我們平時所使用的APP產生的資料,在記憶體中都是瞬時的,會隨著斷電、關機等丟失資料,因此android系統采用了持久化技術,用于存盤這些“瞬時”資料 持久化技術包括:檔案存盤、SharedPreference存盤以及資料庫存盤,還有更復雜的SD卡記憶體儲。 二、檔案存盤 最基本存盤方式, ......

    uj5u.com 2020-09-10 07:00:47 more
  • Android Camera2Video整合到自己專案里

    背景: Android專案里呼叫攝像頭拍攝視頻,原本使用的 MediaStore.ACTION_VIDEO_CAPTURE, 后來因專案需要,改成了camera2 1.Camera2Video 官方demo有點問題,下載后,不能直接整合到專案 問題1.多次拍攝視頻崩潰 問題2.雙擊record按鈕, ......

    uj5u.com 2020-09-10 07:00:50 more
  • Android 開發技術周報 Issue#293

    新聞 谷歌為Android TV開發者提供多種新功能 Android 11將自動填表功能整合到鍵盤輸入建議中 谷歌宣布Android Auto即將支持更多的導航和數字停車應用 谷歌Pixel 5只有XL版本 搭載驍龍765G且將比Pixel 4更便宜 [圖]Wear OS將迎來重磅更新:應用啟動時間 ......

    uj5u.com 2020-09-10 07:01:38 more
  • 海豚星空掃碼投屏 Android 接收端 SDK 集成 六步驟

    掃碼投屏,開放網路,獨占設備,不需要額外下載軟體,微信掃碼,發現設備。支持標準DLNA協議,支持倍速播放。視頻,音頻,圖片投屏。好點意思。還支持自定義基于 DLNA 擴展的操作動作。好像要收費,沒體驗。 這里簡單記錄一下集成程序。 一 跟目錄的build.gradle添加私有mevan倉庫 mave ......

    uj5u.com 2020-09-10 07:01:43 more
最新发布
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:40:31 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:40:11 more
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:39:36 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:39:13 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:16:23 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:16:15 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:15:46 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:14:53 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:14:08 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:08:34 more