你知道怎么從Python角度學(xué)習(xí)Java基礎(chǔ)
1. 變量
賦值
項(xiàng)目 | Java | Python | JavaScript | VBA |
---|---|---|---|---|
必須先聲明 | 是 | 否 | 否 | 否 |
聲明 | int x; | 無(wú) | 無(wú) | dim x% |
賦值 | x=1; | x=1 | x=1 | x=1 |
聲明并賦值 | int x=1; | x=1 | x=1 | 無(wú) |
空 | null | None | null undefined | Null |
數(shù)據(jù)類型
項(xiàng)目 | Java | Python | JavaScript | VBA |
---|---|---|---|---|
整數(shù) | int x=1; | x=1 | x=1 | x=1 |
字符 | char a='A'; | 無(wú) | 無(wú) | 無(wú) |
字符串 | String a="A"; | a="A" a='A' | a="A" a='A' | a="A" |
小數(shù) | float f=3.14f; double d=1.7d | f=3.14 | f=3.14 | f=3.14 |
布爾 | boolean b=true; | b=True | b=true | b=True |
常量 | final double PI=3.14; | PI=3.14 | const PI=3.14 | Const PI=3.14 |
對(duì)象 | StringBuilder sb = new StringBuilder(); var sb = new StringBuilder(); | sb = ShaBi() | sb = new Shabi() | x = CreateObject("Scripting.Dictionary") |
類型轉(zhuǎn)換 | 只允許向上轉(zhuǎn)換 | 允許 | 允許 | 允許 |
2. 符號(hào)
計(jì)算運(yùn)算符
運(yùn)算符 | Java | Python | JavaScript | VBA |
---|---|---|---|---|
加 | + | + | + | + |
減 | - | - | - | - |
乘 | * | * | * | * |
除 | / | / | / | / |
求余 | % | % | % | mod |
次冪 | 無(wú) | 3**2 | 3**2 | 無(wú) |
自增 | ++ | ++ | 無(wú) | 無(wú) |
自減 | -- | -- | 無(wú) | 無(wú) |
疊加 | += | += | += | 無(wú) |
疊減 | -= | -= | -= | 無(wú) |
疊乘 | *= | *= | *= | 無(wú) |
疊除 | /= | /= | /= | 無(wú) |
括號(hào) | () | () | () | () |
字符串連接 | + | + | + | + |
比較運(yùn)算符
運(yùn)算符 | Java | Python | JavaScript | VBA |
---|---|---|---|---|
大于 | > | > | > | > |
大于等于 | >= | >= | >= | >= |
小于 | < | < | < | < |
小于等于 | <= | <= | <= | <= |
等于 | == | == | == | == |
不等于 | != | != | != | != |
and | && | and | && | and |
or | || | or | || | or |
not | ! | not | ! | not |
代碼符
符號(hào) | Java | Python | JavaScript | VBA |
---|---|---|---|---|
轉(zhuǎn)義符 | \ | \ | \ | “” |
換行符 | ; | : | ; | : |
換行符是否可省略 | 不可省略 | 大部分可省略 | 大部分可省略 | 可 |
注釋
符號(hào) | Java | Python | JavaScript | VBA |
---|---|---|---|---|
單行注釋 | // | # | // | ’ |
多行注釋 | /*…*/ | “”"…""" ’’’…’’’ | /*…*/ | 無(wú) |
文本符
符號(hào) | Java | Python | JavaScript | VBA |
---|---|---|---|---|
單行字符 | ’ | " ’ | " ’ | " |
單行字符串 | " | " ’ | " ’ | " |
多行字符串 | “”"…""" | “”"…""" ’’’…’’’ | 無(wú) | 無(wú) |
3. if
一行if
// Javax = a > b ? c : d;
# Python x = c if a > b else d
// JavaScript x = a > b ? c : d
' VBA if a > b Then x = c Else x = d
一次判斷
// Java if (a > b) { x = c; } else { x = d; }
# Python if a > b: x = c else: x = d
// JavaScript if (a > b) { x = c } else { x = d }
' VBA If a > b Then x = c Else x = d End If
多次判斷
// Java if (a > b) { x = c; } else if (a > bb) { x = cc; } else { x = d; }
# Python if a > b: x = c elif a > bb: x = cc else: x = d
// JavaScript if (a > b) { x = c } else if (a > bb) { x = cc } else { x = d }
' VBA If a > b Then x = c ElseIf a > bb Then x = cc Else x = d End If
4. for
下標(biāo)循環(huán)
// Java for (int i=0;i<100;i++) { System.out.println(i); }
# Python for i in range(100): print(i)
// JavaScript for (var i=0;i<100;i++) { console.log(i) }
' VBA For i = 1 to 100 step 1 Debug.Print i next
數(shù)組遍歷循環(huán)
// Java for (int a:arr) { System.out.print(a); }
# Python for a in arr: print(a)
// JavaScript for (a in arr) { console.log(a) }
' VBA For Each a in arr Debug.Print a Next
項(xiàng)目 | Java | Python | JavaScript | VBA |
---|---|---|---|---|
中斷循環(huán) | break | break | break | Exit For |
跳過(guò)循環(huán) | continue | continue | continue | goto |
5. while
// Java int i; while (i < 100) { System.out.println(i); i++; }
// java的另一個(gè)while int i; do { System.out.println(i); i++; } while (i < 99);
# Python i = 0 while True: if i < 100: print(i) else: break
// JavaScript i = 0 while (i < 100) { console.log(i) i++ }
' VBA ' 1 i = 0; While i < 100 Debug.Print(i) Wend
' VBA ' 2 i = 0; Do While i < 100 Debug.Print(i) Loop
' VBA ' 3 i = 0; Do Debug.Print(i) Loop While i < 99
' VBA ' 4 i = 0; Do Until i >= 100 Debug.Print(i) Loop
' VBA ' 5 i = 0; Do Debug.Print(i) Loop Until i >= 99
項(xiàng)目 | Java | Python | JavaScript | VBA |
---|---|---|---|---|
中斷循環(huán) | break | break | break | Exit For |
跳過(guò)循環(huán) | continue | continue | continue | goto |
6. 數(shù)組
項(xiàng)目 | Java | Python | JavaScript | VBA |
---|---|---|---|---|
定義 | int[] x = {1,2,3,4,5}; | x = [1,2,3,4,5] | x = [1,2,3,4,5] | dim Arr() |
符號(hào) | {} | [] {} () | [] | Array() |
索引 | x[0]; | x[0] | x[0] | Arr(0) |
類型混用 | 不允許 | x=[1,'a'] | x=[1,'a'] | Arr=Array(1,"a") |
增 | 不允許 | x.append('b') x.insert(0,'c') | x.push('b') | Redim Preserve Arr(4) Arr(4) = 3 |
刪 | 不允許 | x.pop(1) del x[1] | x.pop(1) | Redim Arr(1) |
改 | x[0] = 6; | x[0] = 6 | x[0] = 6 | Arr(0)=6 |
7. 程序結(jié)構(gòu)
Java
/** * 文檔注釋 */ public class Hello { public static void main(String[] args) { // 主程序說(shuō)明 userFunction usf = new userFunction(); usf.setArg("Hello"); System.out.println(usf.getArg()); /* 多行注釋 分行 */ } } class userFunction { private String arg; public void setArg(String arg) { // 設(shè)置 this.arg = arg; } public String getArg() { // 返回 return this.arg; } }
Python
''' 文檔說(shuō)明 ''' class userFunction: def __init__(self): pass def setArg(self,arg): self.arg = arg def getArg(self): return self.arg if __name__ == '__main__': usf = userFunction() usf.setArg("Hello") print(usf.getArg())
JavaScript
function userFunction(args) { x = process(args) return x }
VBA
Sub userSub() x = userFunction(args) Debug.Print x End Sub Function userFunction(args) as String userFunction = process(args) End Function
8. 輸入輸出
輸出
項(xiàng)目 | Java | Python | JavaScript | VBA |
---|---|---|---|---|
輸出 | System.out.println System.out.print | print | console.log | Debug.Print |
格式化輸出 | System.out.printf System.out.format | format | 無(wú) | 無(wú) |
快速格式化 | 無(wú) | f'vvxyksv9kd is a number' | `$vvxyksv9kd is a number` | 無(wú) |
輸入
項(xiàng)目 | Java | Python | JavaScript | VBA |
---|---|---|---|---|
輸入 | import java.util.Scanner … Scanner scanner = new Scanner(System.int); String ipt = scanner.nextLine(); | ipt = input('請(qǐng)輸入:') | var ipt = prompt('請(qǐng)輸入','預(yù)設(shè)值') | ipt = InputBox("請(qǐng)輸入",,"預(yù)設(shè)值") |
9. 異常捕獲
項(xiàng)目 | Java | Python | JavaScript | VBA |
---|---|---|---|---|
異常捕獲 | try {..} catch {...} finally {...} | try: except: finally: | try {..} catch {...} finally {...} | On error goto tag |
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
詳解基于java的Socket聊天程序——服務(wù)端(附demo)
這篇文章主要介紹了詳解基于java的Socket聊天程序——服務(wù)端(附demo),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-12-12Java實(shí)現(xiàn)直接插入排序和折半插入排序算法示例
這篇文章主要介紹了Java實(shí)現(xiàn)直接插入排序和折半插入排序算法示例,文中對(duì)算法的思想和時(shí)間復(fù)雜度都有簡(jiǎn)單的講解,需要的朋友可以參考下2016-04-04Apache Dubbo的SPI機(jī)制是如何實(shí)現(xiàn)的
SPI全稱為Service Provider Interface,對(duì)應(yīng)中文為服務(wù)發(fā)現(xiàn)機(jī)制。SPI類似一種可插拔機(jī)制,首先需要定義一個(gè)接口或一個(gè)約定,然后不同的場(chǎng)景可以對(duì)其進(jìn)行實(shí)現(xiàn),調(diào)用方在使用的時(shí)候無(wú)需過(guò)多關(guān)注具體的實(shí)現(xiàn)細(xì)節(jié)。在Java中,SPI體現(xiàn)了面向接口編程的思想,滿足開(kāi)閉設(shè)計(jì)原則。2021-06-06java WSDL接口webService實(shí)現(xiàn)方式
這篇文章主要為大家詳細(xì)介紹了java WSDL接口webService實(shí)現(xiàn)方式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04SpringBoot使用Micrometer實(shí)現(xiàn)度量和監(jiān)控
在構(gòu)建和維護(hù)現(xiàn)代應(yīng)用程序時(shí),度量和監(jiān)控是至關(guān)重要的,它們可以幫助您了解應(yīng)用程序的性能、穩(wěn)定性和可用性,本文將介紹如何在Spring Boot應(yīng)用程序中使用Micrometer進(jìn)行度量和監(jiān)控,需要的朋友可以參考下2023-10-10