Java語言程序設計——篇二(2)

Java語言基礎

  • 運算符與表達式
      • 運算符
      • 1、算術運算符
      • 2、關系運算符
      • 3、邏輯運算符( &&、||、 !、&、| 、^)
      • 4、位運算符( >>、<<、>>>、&、|、^、~)
      • 5、賦值運算符
      • 6、條件運算符
      • 7、字符串運算符
      • 8、 運算符的優先級和結合性
  • 由鍵盤輸入數據
      • 由鍵盤輸入數據---輸入字符串
      • 由鍵盤輸入數據---輸入數值
      • 由鍵盤輸入數據——多個數據
  • 簡化輸入方式
      • 由鍵盤輸入數據---多個數據
  • 例題展示
      • 代碼展示:
      • 運行結果:

運算符與表達式

運算符

根據操作數個數的不同,往往分為

  • 單目運算符
  • 雙目運算符
  • 三目運算符。
    按照運算符功能來分,基本的運算符有下面幾類。
    算術運算符 +、-、*、/、%、++、–
    關系運算符 >、<、>=、<=、==、!=
    邏輯運算符 &&、||、 !、&、| 、^
    位運算符 >>、<<、>>>、&、|、^、~
    賦值運算符 =、擴展賦值運算符,如+=、/=等。
    條件運算符 ? :
    其他運算符 :包括分量運算符.、下標運算符[ ]、實例運算符instanceof、內存分配運算符new、強制類型轉換運算符(類型)、方法調用運算符( )等。

1、算術運算符

+ - * / % +(取正) -(取負) ++ –
兩個整數相“/”,結果為整數
對取模運算符“%”來說,其操作數可以為者浮點數。如37.2%10=7.2。(默認雙精度)
Java語言對“+”進行了擴展,使它能夠進行字符串的連接,如"abc"+“de”,得到字符串"abcde"。

2、關系運算符

關系運算符是雙目運算符,用來比較兩個數的關系,不能在浮點數之間作“==”的比較。 其運算結果是布爾類型的值true或false。當運算符所對應的關系成立時結果為true,否則結果為假。所有的關系運算符參見表4。
在這里插入圖片描述

3、邏輯運算符( &&、||、 !、&、| 、^)

邏輯運算符用來計算布爾類型的值,有單目運算符和雙目運算符,其運算結果是布爾類型的值true或false。
注:&&、 || 、!具有短路特性

4、位運算符( >>、<<、>>>、&、|、^、~)

位運算符分為按位運算符(Bitwise Operators)和移位運算符(Shift Operators)。位運算符用來計算整數類數值中的二進制位,計算結果也是整數
不同長度的整數進行按位運算時,會把二進制位數較短的整數的高位(左側)補0,補齊位數后再進行運算。

5、賦值運算符

賦值運算符分為簡單賦值運算符(Simple Assignment Operator)復合賦值運算符(Compound Assignment Operators)。簡單賦值運算符只有=,用于計算運算符=的右邊表達式的值并將其送到左邊的存儲單元中。使用復合賦值運算符,可以使得表達式變得簡潔,同時也有助于加快程序運行速度。所有的賦值運算符參見表5。
復合賦值運算表達式的一般形式是:
<表達式1> <運算符>= <表達式2>

在這里插入圖片描述

6、條件運算符

一般形式為:expression?statement1:statement2
注:
1.statement1和statement2需要返回相同的數據類型,且該類型不能是void。
2.一般用來實現if-else條件語句的功能
(max=a>b?a:b)

7、字符串運算符

字符串運算符 “+” 是以String為對象進行的操作。運算符“+”完成字符串連接操作,如果必要,則系統自動把操作數轉換為String型。

float a=100.0; //定義變量a為浮點型
print(“The value of a is”+a+“\n”); //系統自動將a轉換成字符串
String s1+=a;//s1=s1+a,若a非String型,自動轉換為String型。

8、 運算符的優先級和結合性

在對一個表達式進行運算時,要按運算符的優先順序從高向低進行,同級的運算符則按從左到右的方向進行,故運算符有優先級和結合性。
不必死記硬背運算符的優先級。必要時可以在表達式中使用圓括號,圓括號的優先級最高。圓括號還可以使表達式顯得更加清晰。

int x = 5;
int y = 5;
boolean z = x * 5 == y + 21;
boolean z = (x * 5) == (y + 21)

由鍵盤輸入數據

鍵盤輸入的數據,不管是文字還是數字,Java皆視為字符串,因此若是要由鍵盤輸入數字則必須再經過轉換。

由鍵盤輸入數據—輸入字符串

//appA_3.java        由鍵盤輸入字符串
import java.io.*;    //加載java.io類庫里的所有類
public class App3
{public static void main(String[] args) throws IOException{BufferedReader buf;String str;buf = new BufferedReader (new InputStreamReader (System.in));System.out.print("請輸入字符串;");str = buf.readLine();        //將輸入的文字指定給字符串變量str存放System.out.println("您輸入的字符串是:"+str);   //輸出字符串}
}

由鍵盤輸入數據—輸入數值

由鍵盤輸入的數據,不管是文字還是數字,Java皆視為字符串,
因此若是要由鍵盤輸入數字則必須再經過轉換。

//App4.java         由鍵盤輸入數值型數據
import java.io.*;
public class App4
{public static void main(String[] args) throws IOException{float num;String str;BufferedReader buf;buf=new BufferedReader(new InputStreamReader(System.in));System.out.print("請輸入一個實數:");str=buf.readLine();         //將輸入的文字指定給字符串變量str存放num= Float.parseFloat(str);   //將str轉換成float類型后賦給numSystem.out.println("您輸入的數為:"+num);}
}

由鍵盤輸入數據——多個數據

//方法1:App5.java     由鍵盤輸入多個數據
import java.io.*;
public class App5{public static void main(String[] args) throws IOException{int num1,num2;String str1,str2;InputStreamReader in;in= new InputStreamReader(System.in);BufferedReader buf;buf=new BufferedReader(in);System.out.print("請輸入第一個數:");str1=buf.readLine();         //將輸入的內容賦值給字符串變量str1num1=Integer.parseInt(str1);   //將str1轉成int類型后賦給num1System.out.print("請輸入第二個數:");str2=buf.readLine();         //將輸入的內容賦值給字符串變量str2num2=Integer.parseInt(str2);   //將str2轉成int類型后賦給num2System.out.println(num1+"*"+num2+"="+(num1*num2));}
}

簡化輸入方式

為了簡化輸入操作,從Java SE 5版本開始在java.util類庫中新增了一個類專門用于輸入操作的類Scanner,可以使用該類輸入一個對象。

  • 標準輸入/輸出流
    System.out 標準輸出流
    System.in 標準輸入流
  • 使用Scanner類從控制臺輸入,創建它的對象,以讀取來自System.in 的輸入:
    Scanner input = new Scanner(System.in);( Scanner類在包java.util里,在第一行要被導入)
    對象可以調用nextDouble()方法來獲取一個double值
    double d = input.nextDouble();
  • Scanner對象的方法:在該結構中用創建的reader對象調用nextDouble()方法來讀取用戶從鍵盤上輸入的double型數據,也可用reader對象調用下列方法,讀取用戶在鍵盤上輸入的相應類型的數據:
    nextByte()、 nextShort()、 nextInt()
    nextLong()、 nextFloat() 、nextDouble()
    next() 讀入一個字符串
    nextLine() 讀取一整行文本

    由鍵盤輸入數據—多個數據

//方法2:App3_6.java     由鍵盤輸入多個數據
import java.util.*;    //加載java.util類庫里的所有類
public class App3_6
{public static void main(String[] args){int num1;double num2;Scanner reader=new Scanner(System.in);System.out.print("請輸入第一個數:");num1= reader.nextInt();       //將輸入的內容作為int型數據賦值給變量num1System.out.print("請輸入第二個數:");num2= reader.nextDouble();    //將輸入的內容作為做double型數據賦值給變量num2System.out.println(num1+"*"+num2+"="+(num1*num2));}
}

例題展示

  • 編寫程序,給定半徑,計算圓的面積

代碼展示:

package shujia_test1;import java.util.Scanner;
public class Csdn2_2 {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("Enter a number for radius:");final double PI = 3.14159;double radius = input.nextDouble();double area = radius * radius * PI;System.out.println("The area is"+" " + area);}
}

運行結果:

在這里插入圖片描述
博主用心寫,讀者點關注;互動傳真情,知識不迷路

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

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

相關文章

數字化時代下,財務共享數據分析建設之路

隨著人工智能、云計算、大數據、區塊鏈等技術&#xff0c;以及衍生出的各種產品的大發展&#xff0c;使得數字化發展的速度再一次加快&#xff0c;也讓數字經濟和數字化轉型得到了更多人的關注和認可。 在傳統經濟增長逐漸放緩&#xff0c;市場競爭愈發激烈的局面下&#xff0…

GOJS去除水印

GOJS gojs 去除水印 **查找go.js庫搜索下面這段文本 String.fromCharCode(a.charCodeAt(g)^b[(b[c]b[d])%256]) 加入這段文本 if(f.indexOf(GoJS 2.1 evaluation)>-1|| f.indexOf(© 1998-2021 Northwoods Software)>-1|| f.indexOf(Not for distribution or produ…

splice方法的使用#Vue3

splice方法的使用 splice(index,len,item)是vue中對數組進行操作的方法之一&#xff0c;可以用來刪除&#xff0c;更新&#xff0c;和增加數組內容 參數: index:數組下標 len&#xff1a;為1或0 item:更新或增加的內容 使用方法&#xff1a; 刪除&#xff0c;當參數形式為spli…

Linux內核網絡性能問題的追蹤(工具篇)

在現代計算環境中&#xff0c;網絡性能對于系統的整體性能至關重要。網絡瓶頸不僅會影響數據傳輸速度&#xff0c;還會影響應用程序的響應時間&#xff0c;最終影響用戶體驗。為了有效地解決網絡性能問題&#xff0c;了解和使用各種追蹤工具至關重要。另外一方面&#xff0c;造…

MySQL批量插入數據的幾種方式

最近在項目中遇到了批量插入數據的一些問題&#xff0c;一般圖省事都是利用mybatis或mybatis-plus的saveBatch方法&#xff0c;但這次因為數據過多&#xff0c;出現了一系列的問題&#xff0c;只能手動處理&#xff0c;接下來分享下對于數據量比較大的批量插入&#xff0c;可能…

python的魔法方法

python類中的self是什么&#xff1f; 對象的方法都會有一個self參數&#xff0c;類比于c&#xff0c;self就相當于c的this指針。 由一個類可以生成無數個對象&#xff0c;當一個對象的方法被調用時&#xff0c;對象會講自身的引用作為第一個參數傳給該方法&#xff0c;那么pyt…

CTF-PWN-kernel-棧溢出(retuser rop pt_regs ret2dir)

文章目錄 參考qwb2018 core檢查逆向調試打包上傳測試腳本retuserkernel ropinit_credcommit_creds( prepare_kernel_cred(0) )開啟KPTI利用swapgs_restore_regs_and_return_to_usermode開啟KPTI利用SIGSEGVrop設置CR3寄存器再按照沒有KPTI返回 kernel rop ret2userpt_regs 構造…

2024年浙江省高考分數一分一段數據可視化

下圖根據 2024 年浙江高考一分一段表繪制&#xff0c;可以看到&#xff0c;競爭最激烈的分數區間在620分到480分之間。 不過&#xff0c;浙江是考兩次取最大&#xff0c;不是很有代表性。看看湖北的數據&#xff0c;580分到400分的區段都很卷。另外&#xff0c;從這個圖也可以…

RTOS系統 -- FreeRTOS之任務調度

FreeRTOS中的任務調度 背景介紹 FreeRTOS是一種輕量級的實時操作系統&#xff0c;被廣泛應用于嵌入式系統中。它提供了多任務管理功能&#xff0c;包括任務創建、任務調度和任務切換。FreeRTOS的調度器根據任務的優先級和狀態自動調度任務&#xff0c;確保系統資源的有效利用…

獨立站優勢及吸引力分析

隨著全球化貿易的不斷深入&#xff0c;越來越多的廠商開始尋求更廣闊的市場和更高效的銷售渠道。獨立站作為企業自有的電商網站&#xff0c;正逐漸成為海外貿易的新寵。本文將分析獨立站的優勢及其對廠商的吸引力&#xff0c;鼓勵廠商以建立獨立站的方式出海。 一、獨立站的定義…

el-image放大圖片功能

1.需求&#xff1a;點擊圖片后放大圖片 html代碼&#xff1a; <el-imagestyle"width: 100px; height: 100px":src"baseUrl item.id":zoom-rate"1.2":max-scale"7":min-scale"0.2":preview-src-list"srcList"…

Xilinx FPGA UltraScale SelectIO 接口邏輯資源

目錄 1. 簡介 2. Bank Overview 2.1 Diagram 2.2 IOB 2.3 Slice 2.4 Byte Group 2.5 I/O bank 示例 2.6 Pin Definition 2.7 數字控制阻抗(DCI) 2.8 SelectIO 管腳供電電壓 2.8.1 VCCO 2.8.2 VREF 2.8.3 VCCAUX 2.8.4 VCCAUX_IO 2.8.5 VCCINT_IO 3. 總結 1. 簡介…

Vue利用遞歸的方法,根據id獲取對應的字段名(樹形數據)

樹形數據源 options:[{ancestors: "0",code: "99",id: "99",name: "測試部門1",parentId: "0",children: [{ancestors: "0,99",code: "test",id: "1720269456426344449",name: "測試子部…

【國潮】軟件本土化探索

文章目錄 一、國產-操作系統銀河麒麟&#xff08;Kylin&#xff09;操作系統華為鴻蒙系統&#xff08;HarmonyOS&#xff09;統信UOS深度Deepin 二、國產-服務器華為鯤鵬&#xff1a;飛騰&#xff1a;海光&#xff1a;兆芯&#xff1a;龍芯&#xff1a;申威&#xff1a; 三、國…

Redis學習 - 基礎篇

Redis學習 - 基礎篇 一. 簡介 Redis 是一個高性能的key-value數據庫&#xff0c;常用的數據類型如下&#xff1a;string&#xff0c;list&#xff0c;set&#xff0c;zset&#xff0c;hash 二. 安裝 Widows和Linux下如何安裝Redis-CSDN博客 三. 常用命令 配置及數據庫操作…

《信息技術與信息化 》是什么級別的期刊?是正規期刊嗎?能評職稱嗎?

問題解答 問&#xff1a;《信息技術與信息化 》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知網收錄的第一批認定學術期刊。 問&#xff1a;《信息技術與信息化 》級別&#xff1f; 答&#xff1a;省級。主管單位&#xff1a;山東省科學技術協會 主辦單…

國內磁性器件核心企業『云路新能源』攜手企企通正式啟動SRM項目,供應鏈競爭力再上新臺階

近日&#xff0c;珠海黎明云路新能源科技有限公司&#xff08;以下簡稱“云路新能源”&#xff09;攜手企企通啟動SRM數字化采購供應鏈管理項目&#xff0c;雙方相關負責人與項目組成員出席本次啟動會。 本次采購數字化項目建設&#xff0c;企企通將助力云路新能源實現采購全場…

智能無人數字直播間 打造24小時的無人直播間源碼系統 帶網站的安裝代碼包以及搭建教程

系統概述 智能無人數字直播間系統是一種基于人工智能技術的軟件工具&#xff0c;它結合了高精度掃描建模、自動化控制、多模態生成等多項先進技術&#xff0c;能夠實現對真實人物的高度仿真&#xff0c;并自主執行各類直播任務。該系統不僅支持24小時不間斷直播&#xff0c;還…

微信小程序引入自定義子組件報錯,在 C:/Users/***/WeChatProjects/miniprogram-1/components/路徑下***

使用原生小程序開發時候&#xff0c;會報下面的錯誤&#xff0c; [ pages/button/button.json 文件內容錯誤] pages/button/button.json: [“usingComponents”][“second-component”]: “…/…/components/second-child/index”&#xff0c;在 C:/Users/***/WeChatProjects/m…

Windows 中修改 MySQL 密碼

沒想到這樣一個簡單的需求&#xff0c;愣是試了半天沒試到有用的命令&#xff0c;最后終于找到一個有用的&#xff0c;在此做個記錄&#xff1a; set password for rootlocalhost 你的新密碼;