JAVA與C語言之間的差異(一)

一、代碼習慣以及主函數

JAVA中{在使用的時候不要換行

 public static void main(String[] args) {int[] array = {1, 2, 3};for(int i = 0; i < array.length; ++i){System.out.println(array[i] + " ");}}

其次,以main函數為主函數:

public static void main(String[] args) {}

二、標識符

???????? JAVA的標識符中可以包含:字母、數字以及下劃線和$符號等等,但是不可以以數字開頭,關鍵字也不行,并且要嚴格區分大小寫!!!

我們一般對于標識符還有這這樣的要求:

1.(類名)每個字母的首字母要大寫(叫做大駝峰)

2.(方法名)(變量名)首字母小寫,后面的每個單詞的首字母大寫(叫做小駝峰)

三、在C語言中,布爾類型所對應的關鍵字是bool,而在JAVA中則是boolean。

? ? ? ? 關于布爾類型,需要注意的是,在JAVA語言中,只有true和false兩種寫法,不存在1表示true,0表示false這種用法!!!

四、在不同類型之間的變量相互賦值的時候,會有教嚴格的校驗

? ? ? ? 如果是數據范圍小的轉為數據范圍大的時,編譯器會自動進行處理,自動轉換為數據范圍大的(自動類型轉換(隱式))

? ? ? ? 如果是要把數據范圍大的賦值給數據范圍小的,若是不加以干涉,會直接顯示編譯錯誤。同時,若是想要強行轉換,可以采取下列措施:

int a = 10;
long b = 100L;
b = a;        // int-->long,數據范圍由?到?,隱式轉換 
a = (int)b;   // long-->int, 數據范圍由?到?,需要強轉,否則編譯失敗float f = 3.14F;
double d = 5.12;
d = f;        // float-->double,數據范圍由?到?,隱式轉換
f = (float)d; // double-->float, 數據范圍由?到?,需要強轉,否則編譯失敗byte b1 = 100;        // 100默認為int,沒有超過byte范圍,隱式轉換 
byte b2 = (byte)257;  // 257默認為int,超過byte范圍,需要顯?轉換,否則報錯

#注:強制類型轉換不?定能成功,不相?的類型不能互相轉換

五、byte與byte的運算

在JAVA中是支持byte之間進行運算的,但是不可以直接賦值

 byte a = 10;byte b = 20;byte c = a + b; // 編譯出錯System.out.println(c);

這是因為他們在計算的時候,會先將自身提升成為int,再進行計算。

 byte a = 10;byte b = 20;byte c = (byte)(a + b);System.out.println(c);

(short同理!!!)

六、移位運算

<<是左移,即最左側不要,最右側補0(丟棄的是符號位,所以可能會變號);

>>是左移,即最右側不要,最左側補符號位(正數補0,負數補1);

>>>是無符號右移,即最右側不要,最左側直接補0。

七、輸出

System.out.println(msg);              // 輸出?個字符串, 帶換?       
System.out.print(msg);                // 輸出?個字符串, 不帶換?       
System.out.printf(format, msg);       // 格式化輸出         

JAVA的輸出很簡單,可以直接把想要輸出的字符直接放到()里面即可,若是加“”則是輸出引號內的內容,如果想要疊加使用,中間可以用+連接起來:

int a = 1;
System.out.println(a);      //輸出1
System.out.println("a");    //輸出a
System.out.println(a+a+"a");//輸出11a

八、輸入

使?Scanner讀取字符串/整數/浮點數,使?時需要導?該類

import java.util.Scanner; // 需要導? util 包Scanner sc = new Scanner(System.in);
String name = sc.nextLine();//姓名
int age = sc.nextInt();//年齡       
float salary = sc.nextFloat();//工資
sc.close(); // 注意, 記得調?關閉?法

多組輸?

 Scanner sc = new Scanner(System.in);while (sc.hasNextInt()) {int tmp = sc.nextInt();}

當循環輸?多個數據的時候,使?ctrl+z來結束輸?(Windows上的CMD中使?ctrl+z,Linux/ Mac/IDEA的控制臺上使?ctrl+d)

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

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

相關文章

華為OD機試真題——開放日活動/取出盡量少的球(2025A卷:200分)Java/python/JavaScript/C++/C語言/GO六種最佳實現

2025 A卷 200分 題型 本文涵蓋詳細的問題分析、解題思路、代碼實現、代碼詳解、測試用例以及綜合分析; 并提供Java、python、JavaScript、C++、C語言、GO六種語言的最佳實現方式! 本文收錄于專欄:《2025華為OD真題目錄+全流程解析/備考攻略/經驗分享》 華為OD機試真題《開放…

我的3種AI寫作節奏搭配模型,適合不同類型寫作者

—不用內耗地高效寫完一篇內容&#xff0c;原來可以這樣搭配AI ?? 開場&#xff1a;為什么要“搭配節奏”寫作&#xff1f; 很多人以為用AI寫作&#xff0c;就是丟一句提示詞&#xff0c;然后“等它寫完”。 但你有沒有遇到這些情況&#xff1a; AI寫得很快&#xff0c;學境…

【知識點】第1章:程序設計基本方法

文章目錄 知識點整理計算機的概念程序設計語言Python 語言概述Python 語言開發環境配置程序的基本編寫方法 練習題簡答題判斷題 知識點整理 計算機的概念 計算機的定義&#xff1a;計算機是根據指令操作數據的設備。 計算機的兩個基本特性&#xff1a; 功能性&#xff1a;計…

const ‘不可變’到底是值不變還是地址不變

const的基礎規則 聲明時必須初始化? const a; // ? 報錯&#xff1a;Missing initializer in const declaration const b 10; // ? 正確塊級作用域?&#xff08;const 的作用域僅限于聲明它的代碼塊&#xff09; if (true) {const x 100; } console.log(x); // ? 報錯…

Netty 實戰篇:為自研 RPC 框架加入異步調用與 Future 支持

我們在上篇實現了一個輕量級 RPC 框架&#xff0c;現在要進一步優化 —— 加入異步響應支持&#xff0c;讓 RPC 通信變得真正高效、非阻塞、支持并發。 一、為什么需要異步調用&#xff1f; 上篇的 RPC 框架是“同步阻塞”的&#xff1a; 每次發送請求后&#xff0c;必須等待服…

for(auto a:b)和for(auto a:b)的區別

#include<iostream> using namespace std; int main() {string s( "hello world" );for (auto c:s)c t ;cout<<s<<endl; //結果為hello worldfor (auto &c:s)c t ;cout<<s<<endl; //結果為ttttttttttt }for(auto a:b)中b為一…

超級對話2:大跨界且大綜合的學問融智學應用場景述評(不同第三方的回應)之二

摘要&#xff1a;《人機協同文明升維行動框架》提出以HIAICI/W公式推動認知革命&#xff0c;構建三大落地場景&#xff1a;1&#xff09;低成本認知增強神經接口實現300%學習效率提升&#xff1b;2&#xff09;全球學科活動化閃電戰快速轉化知識體系&#xff1b;3&#xff09;人…

多方法解決MNIST數字識別

全連接層 import torch from torchvision import datasets, transforms import torch.nn as nn import torch.optim as optim from tqdm import tqdm # 用于進度條顯示 import os# 定義數據預處理(標準化+Tensor轉換) transform = transforms.Compose([transforms.ToTensor…

安裝 Node.js 和配置 cnpm 鏡像源

一、安裝 Node.js 方式一&#xff1a;官網下載&#xff08;適合所有系統&#xff09; 訪問 Node.js 官網 推薦選擇 LTS&#xff08;長期支持&#xff09;版本&#xff0c;點擊下載安裝包。 根據系統提示一步步完成安裝。 方式二&#xff1a;通過包管理器安裝&#xff08;建…

vue 自定義組件的事件綁定

基本知識點 &#x1f3af;什么是自定義事件 自定義事件是子組件向父組件發送消息的機制&#xff0c;通常用于通知父組件發生了某些行為或狀態變化。 &#x1f4cc; 基本語法 子組件觸發事件&#xff08;$emit&#xff09; this.$emit(事件名, 參數);或在 const emit de…

進程同步機制-信號量機制-記錄型信號量機制中的的wait和signal操作

wait和signal是記錄型信號量機制中用于實現進程同步與互斥的兩個重要操作&#xff0c; wait 操作 wait(semaphores *S) {S->value --;if (S->value<0) block(S->list) }請求資源&#xff1a;S->value --; 這一步表示進程請求一個單位的資源&#xff0c;將信號…

sd webui 安裝sd-webui-TemporalKit 加載報錯解決辦法

ModuleNotFoundError: No module named moviepy.editer 報錯內容類似上面截圖&#xff0c;我的已經解決&#xff0c;暫時無法截圖了 處理方法&#xff1a; 重點說明&#xff1a;插件目錄必須是TemporalKit&#xff0c;不能更改 進入到安裝目錄&#xff1a;extensions\Tempor…

decimal.js庫處理js浮點數精度誤差問題

1、經常遇到前端計算金額的時候出現精度誤差問題&#xff0c;導致前后端計算的金額不一致導致校驗過不去的情況&#xff0c;相信有不少人寫過Math.floor(e*100)/100來實現保留2位小數&#xff0c;但是這么寫就會出現上面的精度問題。怎么解決呢&#xff1f;這里使用的是decimal…

如何將 WSL 的 Ubuntu-24.04 遷移到其他電腦

在使用 Windows Subsystem for Linux (WSL) 時&#xff0c;我們可能會遇到需要將現有的 WSL 環境遷移到其他電腦的情況。無論是為了備份、更換設備&#xff0c;還是在不同電腦之間共享開發環境&#xff0c;掌握遷移 WSL 子系統的方法都是非常有用的。本文將以 Ubuntu-24.04 為例…

RISCV——內核及匯編

RISCV——內核及匯編 小狼http://blog.csdn.net/xiaolangyangyang 1、寄存器組&#xff08;ABI&#xff09; 2、異常及中斷 XV6 trap&#xff08;二&#xff09;RISCV中斷異常處理/定時器中斷 mie&#xff1a;中斷開關mip&#xff1a;中斷狀態mstatus.mie&#xff1a;全局中斷…

算法日記32:埃式篩、gcd和lcm、快速冪、乘法逆元

一、埃式篩&#xff08;計算質數&#xff09; 1.1、概念 1.1.1、在傳統的計算質數中&#xff0c;我們采用單點判斷&#xff0c;即判斷(2~sqrt(n))是否存在不合法元素&#xff0c;若存在則判否&#xff0c;否則判是 1.1.2、假設&#xff0c;此時我們需要求1~1000的所有質數&am…

使用 mysqldump 獲取 MySQL 表的完整創建 DDL

要獲取 MySQL 中某個表的完整創建 DDL&#xff08;僅結構&#xff0c;不含數據&#xff09;&#xff0c;可以使用 mysqldump 工具的以下命令&#xff1a; 基本命令格式 bash mysqldump -h [主機名] -u [用戶名] -p --no-data --single-transaction --routines --triggers --…

Debian 系統 Python 開發全解析:從環境搭建到項目實戰

Debian 系統 Python 開發全解析:從環境搭建到項目實戰 在當今數字化時代,Python 憑借其簡潔易讀的語法和強大的功能,成為了最受歡迎的編程語言之一。Debian 作為一款穩定、安全且開源的 Linux 操作系統,為 Python 開發提供了理想的環境。本文將詳細介紹在 Debian 系統上進…

實時技術對比:SSE vs WebSocket vs Long Polling

早期網站僅展示靜態內容&#xff0c;而如今我們更期望&#xff1a;實時更新、即時聊天、通知推送和動態儀表盤。 那么要如何實現實時的用戶體驗呢&#xff1f;三大經典技術各顯神通&#xff1a; ? SSE&#xff08;Server-Sent Events&#xff09;&#xff1a;輕量級單向數據…

【前端】es6新特性全解

第一章 簡介 1.1 ES6概述 1.1.1 ES6定義與發展歷程 1. ES6 定義 ES6 全稱 ECMAScript 6.0&#xff0c;它是 JavaScript 語言的下一代標準&#xff0c;對 JavaScript 語言進行了許多增強和擴展&#xff0c;帶來了更簡潔、更強大的語法特性。可以把 ES6 想象成是 JavaScript …