java基礎知識回顧3(可用于Java基礎速通)考前,面試前均可用!

目錄

一、基本算數運算符

二、自增自減運算符

三、賦值運算符

四、關系運算符

五、邏輯運算符

六、三元運算符

七、 運算符的優先級

八、小案例:在程序中接收用戶通過鍵盤輸入的數據


聲明:本文章根據黑馬程序員b站教學視頻做的筆記,可對應課程聽,本文章所對應的課程鏈接如下:09、Java語法:算術運算符、+符號做連接符_嗶哩嗶哩_bilibili

本章主講運算符。

運算符的定義:對變量,字面量進行運算的符號

一、基本算數運算符

對上表的解釋:
①+,-,*,/,%分別是加減乘除,取余
②?/號注意,兩個整數做除法,其結果一定是整數,因為表達式的最終結果類型是由表達式的最高類型決定,兩個整數相除,表達式最高類型是整數(整型),要是得到小數在式子里給被除數乘以1.0(就是小數的位數)
?③+除了做基本的數學運算 還能做連接符,在與字符串做+運算的時候會被當成連接符,其結果還是字符串。

④我們在開發中主要需要識別這個加號是連接符還是能運算的。
?識別技巧(能算則算,不能算就在一起)
?例如,
int ? a=5
sout.(a+'a'+"hhh");
?輸出;102hhh
?因為變量a等于5,字符a在計算機存儲為97,所以算則算,5+102=107,后面字符串不能算,直接連在一塊就行。?

二、自增自減運算符

注:++ 、-- 只能操作變量,不能操作字面量的。?(字面量就是具體的數)

代碼中的問題:

自增自減運算符放在變量前后有區別嗎?
(1)如果單獨使用放前后沒區別,例如i++;和++i;沒有區別,就是單獨一個語句沒有區別。

單獨使用例子:i++;
(2)非單獨使用,在變量前,先進行變量自增自減,在使用變量(加號在前,先加在用)
?非單獨使用,在變量后,先使用變量,在進行變量自增/自減(加號在后,先用再加)

例子:

int a = 10;
int rs = ++a; (先加再用) ???

int b = 10;
int rs = b++; (先用再加) ???

三、賦值運算符

賦值運算符包括:

  • 基本的賦值運算符:= (從右邊往左)

int a = 10;? // 先看“=”右邊,把數據10賦值給左邊的變量a存儲。

  • 擴展的賦值運算符:+=-=、*=/=%=

擴展的賦值運算符的特點隱含了強制類型轉換。強轉能規避一些bug,詳解:例如

int a=10;
int b=20;
a+=b;
System.out.println(a);//30

以上第三行代碼的解釋:a=(int)a+b;就是a等于a+b,并把結果強轉為int類型然后賦值給a.

其他擴展的賦值運算符與上面類似。(開發中用的最多的是+=和-=)

四、關系運算符

1.定義:判斷數據是否滿足條件,最終會返回一個判斷的結果,這個結果是布爾類型的值:true或者false??

2.注:在java中判斷是否相等一定是“== ” ,千萬不要把? “== ”誤寫成 “=”。??

五、邏輯運算符

1.定義:把多個條件放在一起運算,最終返回布爾類型的值:truefalse

2.在java中, “& 、 “|:?? 無論左邊是 false還是 true右邊都要執行。

3.由于&&、運算效率高(出結果快)、在開發中用的更多。

4.實際開發中、常用的邏輯運算符還是:&& 、 || 、 !

package com.gezi.string;public class string {public static void main(String[] args) {//目標:掌握邏輯運算符的使用//需求:要求手機滿足尺寸大于等于6.95,且內存必須大于等于8double size =6.8;int  storage =16;//1. &前后的條件結果必須都是true,結果才是true.boolean rs= size >= 6.95 & storage >= 8;System.out.println(rs);//需求2,要求手機要么滿足尺寸大于等于6.95,要么內存必須大于等于8//2.只要多個條件中有一個是true,結果就是trueboolean rs2=size >= 6.95 | storage >= 8;System.out.println(rs2);//3. !取反的意思System.out.println(!true); //falseSystem.out.println(!false); //trueSystem.out.println(!(2>1)); //false//4.^ 異或,前后條件的結果相同時返回false,不同時返回trueSystem.out.println(true^true); //falseSystem.out.println(false^false); //falseSystem.out.println(true^false); //trueSystem.out.println(false^true); //true//5. && 左邊為false,右邊不執行,結果直接是falseint i =10;int j=20;System.out.println(i > 100 && ++j>99);//false//雙與邏輯符發現左邊為false,所以右邊不執行,所以j的值不變,即為20,輸出表達式的值為falseSystem.out.println(j);  //j=20//而 & 發現左邊為false,仍然會執行右邊,即j=21,表達式結果是一樣的都為falseSystem.out.println(i > 100 & ++j>99); //falseSystem.out.println(j);  //j=21//6. ||左邊是true,右邊不執行,結果直接是trueint m=10;int n=30;//||發現左邊是true,右邊不執行,輸出表達式結果為true,n的值為30System.out.println(m > 3 || ++n > 40); //trueSystem.out.println(n);//而 | 發現左邊為true,仍然會執行右邊,輸出表達式值是一樣的,為true,但n的值變了,變成31System.out.println(m > 3 | ++n > 40);   //trueSystem.out.println(n);}
}

六、三元運算符

?1.格式:條件表達式???? 值1?:?值2;

?2.執行流程:首先計算關系表達式的值,如果值為true,返回值1,如果為false,返回值2。

?3.小案例:需求,用三目運算符找出三個整數中最大的整數

package com.gezi.string;public class string {public static void main(String[] args) {//需求:找三個整數中的較大值int a=10;int b=45;int c=34;int temp=a>b ? a : b;   //先找出兩個數中誰較大,用臨時變量temp來存儲這個臨時結果,//上面那行代碼對應的含義是 判斷a>b嗎,若a大則執行第一個位置的表達式,即把a的值賦給temp,若a不大于b,則返回第二個位置的值,即把b的值賦給tempint max=temp >c ? temp :c; //把兩個數中較大的跟c比較,誰大就是誰最大。//上面那行代碼對應的含義是 判斷temp>c嗎,若temp大則執行第一個位置的表達式,即把temp的值賦給max,若temp不大于c,則返回第二個位置的值,即把c的值賦給maxSystem.out.println(max);  //輸出值45}
}

七、 運算符的優先級

定義:在表達式中,哪個運算符先執行后執行是要看優先級的,例如 “*、/” 的優先級高于”+-”。優先級高的先執行,具體優先級看下表

記憶口訣:括號級別最高,逗號級別最低,單目 > 算術 > 位移 > 關系 > 邏輯 > 三目 > 賦值。

寫代碼的一個辦法,當你不確定運算符的優先級的時候,那就想要誰先執行,就給誰套上括號。

八、小案例:在程序中接收用戶通過鍵盤輸入的數據

package com.gezi.string;import java.util.Scanner;public class string {public static void main(String[] args) {//學會java中接受用戶在鍵盤上錄入的數據————調用Scanner工具類//1、導包:一般不需要我們自己做,idea工具會自動幫助我們 導包的。// 2、抄寫代碼:得到一個鍵盤掃描器對象(東西)Scanner sc =new Scanner(System.in);   // new一個Scanner對象// 3、開始 調用sc的功能,來接收用戶鍵盤輸入的數據。System.out.println("請您輸入您的年齡:");int age =sc.nextInt(); // 執行到這兒,會開始等待用戶輸入一個整數,直到用戶按了回車鍵,才會拿到數據。System.out.println("請您輸入您的名字:");String name =sc.next();// 執行到這兒,會開始等待用戶輸入一個字符串,直到用戶按了回車鍵,才會拿到數據。System.out.println(name + "歡迎您進入系統~~");}
}

代碼里面用到的相關知識:

? ?①API Application Programming Interface:應用程序編程接口)

  • Java寫好的程序,咱們程序員可以直接拿來調用。
  • Java為自己寫好的程序提供了相應的 程序使用說明書(API文檔)。
  • 下載API文檔:https://www.oracle.com/java/technologies/javase-jdk17-doc-downloads.html
  • API與JDK的包含關系如下圖:

②Scanner工具類調用步驟

1、導包:import java.util.Scanner;(idea中自動導)

2、抄代碼得到掃描器對象: Scanner sc = new Scanner(System.in)

3、抄代碼等待接收用戶輸入的數據:

int age =? sc.nextInt()? //接整型變量

String name = sc.next()? //接字符串變量


day02天后半個筆記就到這里啦!喜歡的友友點個收藏吧 ~

持續更新中~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/81251.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/81251.shtml
英文地址,請注明出處:http://en.pswp.cn/web/81251.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

隨機密碼生成器:原理、實現與應用(多語言實現)

在當今數字化的時代,信息安全至關重要。而密碼作為保護個人和敏感信息的第一道防線,其安全性直接關系到我們的隱私和數據安全。然而,許多人在設置密碼時往往使用簡單、易猜的組合,如生日、電話號碼或常見的單詞,這使得…

TypeScript 泛型講解

如果說 TypeScript 是一門對類型進行編程的語言,那么泛型就是這門語言里的(函數)參數。本章,我將會從多角度講解 TypeScript 中無處不在的泛型,以及它在類型別名、對象類型、函數與 Class 中的使用方式。 一、泛型的核…

SQL 每日一題(6)

繼續做題! 原始表:employee_resignations表 employee_idresignation_date10012022-03-1510022022-11-2010032023-01-0510042023-07-1210052024-02-28 第一題: 查詢累計到每個年度的離職人數 結果輸出:年度、當年離職人數、累計…

工業RTOS生態重構:從PLC到“端 - 邊 - 云”協同調度

一、引言 在當今數字化浪潮席卷全球的背景下,工業領域正經歷著深刻變革。工業自動化作為制造業發展的基石,其技術架構的演進直接關系到生產效率、產品質量以及企業的市場競爭力。傳統的PLC(可編程邏輯控制器)架構雖然在工業控制領…

從版本控制到協同開發:深度解析 Git、SVN 及現代工具鏈

前言:在當今軟件開發的浪潮中,版本控制與協同開發無疑扮演著舉足輕重的角色。從最初的單兵作戰到如今大規模團隊的高效協作,一套成熟且得力的版本控制系統以及圍繞其構建的現代工具鏈,已然成為推動軟件項目穩步前行的關鍵引擎。今…

Visual Studio Code插件離線安裝指南:從市場獲取并手動部署

Visual Studio Code插件離線安裝指南:從市場獲取并手動部署 一、場景背景二、操作步驟詳解步驟1:訪問官方插件市場步驟2:定位目標版本步驟3:提取關鍵參數步驟4:構造下載鏈接步驟5:下載與安裝 三、注意事項 …

用HTML5實現實時ASCII藝術攝像頭

用HTML5實現實時ASCII藝術攝像頭 項目簡介 這是一個將攝像頭畫面實時轉換為ASCII字符藝術的Web應用,基于HTML5和原生JavaScript實現。通過本項目可以學習到: 瀏覽器攝像頭API的使用Canvas圖像處理技術實時視頻流處理復雜DOM操作性能優化技巧 功能亮點…

論文審稿之我對SCI寫作的思考

有幸被邀請審過二區、三區、四區期刊的論文,近期審稿10余篇,分享一下我從一個審稿人的角度出發,如何提升自己寫作的質量。 作圖高清和好看,永遠是排第一位。圖中的字要清晰,有的放大200%還看不清字;每幅圖的…

MLA:Transformer的智能變形金剛——解密多頭潛在注意力的進化密碼

第一章 MLA的進化之路:從MHA到智能變形 1.1 變形金剛的誕生背景 當LLM模型規模突破萬億參數量級時,傳統Transformer的注意力機制開始顯現"成長的煩惱":訓練階段計算密集、推理階段內存吃緊。DeepSeek團隊的MLA如同給注意力模塊裝…

電子電路:電學都有哪些核心概念?

電子是基本粒子,帶負電荷。電荷是物質的一種屬性,電子帶有負電荷,而質子帶有正電荷。電荷的單位是庫侖。 電流呢,應該是指電荷的流動,單位是安培,也就是庫侖每秒。所以電流其實就是電荷在導體中的移動形成的。比如,當電子在導線中流動時,就形成了電流。不過要注意,傳…

第三次中醫知識問答模型微調

本次參數 llamafactory-cli train \ --stage sft \ --do_train True \ --model_name_or_path /home/qhyz/zxy/LLaMA-Factory/model \ --preprocessing_num_workers 16 \ --finetuning_type lora \ --template deepseek3 \ --flash_attn fa2 \ --dataset_dir data \ --dataset …

leetcode2081. k 鏡像數字的和-hard

1 題目:k 鏡像數字的和 官方標定難度:難 一個 k 鏡像數字 指的是一個在十進制和 k 進制下從前往后讀和從后往前讀都一樣的 沒有前導 0 的 正 整數。 比方說,9 是一個 2 鏡像數字。9 在十進制下為 9 ,二進制下為 1001 &#xff…

計算機網絡學習(七)——IP

一、IP 在計算機網絡中,IP(Internet Protocol,網際協議)是網絡層的核心協議,用于實現跨越不同網絡的數據包傳輸。IP 是 TCP/IP 協議族的核心部分,屬于網絡層協議,也是 Internet 賴以運作的基礎…

【技術追蹤】ADDP:通過交替去噪擴散過程學習用于圖像識別和生成的通用表示(ICLR-2024)

擴散模型交替去噪:助力圖像識別與圖像生成~ 論文:ADDP: Learning General Representations for Image Recognition and Generation with Alternating Denoising Diffusion Process 代碼:https://github.com/ChangyaoTian/ADDP 0、摘要 圖像識…

在Linux上安裝Miniconda

在Linux上安裝Anaconda或Miniconda(輕量級版本) 選擇安裝版本 Anaconda: 包含200預裝包(如NumPy、Pandas、TensorFlow等),適合新手或需要完整科學計算環境的用戶。 安裝包較大(約500MB&#xff…

SRS流媒體服務器之RTC播放環境搭建

環境概述 srs版本 commit 44f0c36b61bc7c3a1d51cb60be0ec184c840f09d Author: winlin <winlinvip.126.com> Date: Wed Aug 2 10:34:41 2023 0800Release v4.0-r5, 4.0 release5, v4.0.271, 145574 lines. rtc.conf # WebRTC streaming config for SRS. # see full.…

清山垃圾的3個問題

與一群驢友進山&#xff0c;同步撿拾一路的垃圾&#xff1a;清山行動。 關于垃圾&#xff0c;大家提了3個問題。記錄于此&#xff0c;勤于思考&#xff1a;為什么&#xff0c;如何做 問題 - 山里的垃圾有哪些&#xff1f; - 垃圾是誰丟的&#xff1f; - 他們為…

redis集合類型

練習命令使用&#xff0c;具體如下&#xff1a; 練習無序集合類型命令 sadd smembers scard srem sinter sunion sdiff sismember srandmember spop 練習有序集合類型命令 無序集合中的每個元素都是不同的&#xff0c;且沒有順序 創建/追加/刪除/查看 127.0.0.1:6379>…

JAVA 包管理

一 、關鍵點 包聲明規則&#xff1a; 每個類首行的package聲明必須與文件路徑完全匹配com.example.math對應路徑com/example/mathorg.demo.greeting對應路徑org/demo/greeting 編譯參數&#xff1a; -d ./build&#xff1a;指定編譯輸出目錄編譯器會自動根據包聲明創建對應…

Linux中的文件系統和軟硬連接

磁盤的訪問方式 CHS&#xff08;柱面&#xff0c;磁頭&#xff0c;扇區&#xff09; 法&#xff08;磁盤硬件查找&#xff09;&#xff1a; 確定柱面&#xff08;C&#xff09; 磁頭臂移動到對應的柱面位置。例如&#xff0c;柱面號為 5&#xff0c;則磁頭移動到第 5 個磁道組…