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

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

2020-10-20 07:18:22 後端開發

文章目錄

  • 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/houduan/181694.html

標籤:java

上一篇: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)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more