本文目錄一覽:
- 1、java中的類是什麼?有什麼含義?
- 2、java中:是什麼意思?
- 3、java中什麼是類?
- 4、java裏面的int是幹什麼的?
- 5、 是什麼意思?’ title=’JAVA 中的 -> 是什麼意思?’>JAVA 中的 -> 是什麼意思?
java中的類是什麼?有什麼含義?
所謂對象就是真實世界中的實體,對象與實體是一一對應的,也就是說現實世界中每一個實體都是一個對象,它是一種具體的概念。\x0d\x0a類是具備某些共同特徵的實體的集合,它是一種抽象的概念,用程序設計的語言來說,類是一種抽象的數據類型,它是對所具有相同特徵實體的抽象。\x0d\x0a類與對象的關係:\x0d\x0a類是對象的集合,對象是類的實例;對象是通過new className產生的,用來調用類的方法;類的構造方法 .。\x0d\x0a用一個例子給你說明一下他們的關係:\x0d\x0a比如「人類」就是一個類,那麼具體的某個人「張三」就是「人類」這個類的對象,而「名字、年齡」等信息就是對象的屬性,人的動作比如「吃飯、穿衣」等就是對象的方法。總之類就是有相同特徵的事物的集合,而對象就是類的一個具體實例。同時類有多態和繼承,例如「人類」可以分為「男人、女人」,「老人、小孩」那麼「男人、女人」就是「人類」的子類等等。一樓的說「轎車」是一個實例化,我覺得有點不妥,「轎車」應該是「車」的一個子類,例如「車牌號是***的轎車」才是一個對象。方法是被對象調用的比如「張三.穿衣()」,用static修飾的方法是靜態的方法或稱為共享方法,一般用類名直接調用。
java中:是什麼意思?
表示作用域,和所屬關係。
::是運算符中等級最高的,它可以分為以下三種:
1、global scope(全局作用域符),用法(::name)
2、class scope(類作用域符),用法(class::name)
3、namespace scope(命名空間作用域符),用法(namespace::name)他們都是左關聯(left-associativity)他們的作用都是為了更明確的調用你想要的變量,如在程序中的某一處你想調用全局變量a,那麼就寫成::a;
如果想調用class A中的成員變量a,那麼就寫成A::a,另外一個如果想調用namespace std中的cout成員,你就寫成std::cout(相當於using namespacestd;cout)意思是在這裡我想用cout對象是命名空間std中的cout(即就是標準庫裡邊的cout)。
擴展資料:
::在C++中的具體用法:
1、作用域符號:
前面一般是該類名稱,後面是該類的成員名稱。C++為避免不同的類有相同的成員而採用作用域的方式進行區分,eg:A,B表示兩個類,在A,B中都有成員member,那麼:A::member表示A中的成員member,B::member表示B中的成員member。
2、全局作用域符號:
當全局變量在局部函數中與其中某個變量重名時,可以用::來區分,否則局部變量會屏蔽全局變量。
3、作用域分解運算符:
比如聲明了一個類A,類A里聲明了一個成員函數void f(),但沒有在類的聲明裡給出f函數的定義,那麼在類外定義f時,就要寫成void A::f(),表示這個f函數是類A的成員函數。
參考資料:百度百科-C++
java中什麼是類?
類就是具備某些共同特徵的實體的集合,它是一種抽象的數據類型,它是對所具有相同特徵實體的抽象。在面向對象的程序設計語言中,類是對一類「事物」的屬性與行為的抽象。舉一個例子說明下類,比如Person(人)就是一個類,那麼具體的某個人「張三」就是「人類」這個類的對象,而「姓名、身高、體重」等信息就是對象的屬性,人的動作比如「吃飯、穿衣」等就是對象的方法。總之類就是有相同特徵的事物的集合,而對象就是類的一個具體實例。同時類有多態和繼承,例如「人類」可以分為「男人、女人」,「老人、小孩」那麼「男人、女人」就是「人類」的子類等等。
Java語言中對類Person的定義往往如下:
public class Person {
private String name; //屬性:姓名
private int height; //屬性:身高
private int weight; //屬性:體重
public Person() {}
public Person(String name, int height, int weight) {
this.name = name;
this.height = height;
this.weight = weight;
}
//… some methods…
public void doSth() { //行為:
//… do something
}}
Java中的類
類可以看成是創建Java對象的模板。
通過下面一個簡單的類來理解下Java中類的定義:
public class Dog{
String breed; int age; String color; void barking(){
}
void hungry(){
}
void sleeping(){
}}
一個類可以包含以下類型變量:
局部變量:在方法、構造方法或者語句塊中定義的變量被稱為局部變量。變量聲明和初始化都是在方法中,方法結束後,變量就會自動銷毀。
成員變量:成員變量是定義在類中,方法體之外的變量。這種變量在創建對象的時候實例化。成員變量可以被類中方法、構造方法和特定類的語句塊訪問。
類變量:類變量也聲明在類中,方法體之外,但必須聲明為static類型。
一個類可以擁有多個方法,在上面的例子中:barking()、hungry()和sleeping()都是Dog類的方法。
java裏面的int是幹什麼的?
int是一種數據類型,表示整數類型。在計算機編程語言(C、C++、C#、Java等)中,是用於定義整數類型變量的標識符。在一般的電腦中,int佔用4位元組,32比特。除了int類型之外,還有short、long、long long類型可以表示整數。
是什麼意思?’>JAVA 中的 -> 是什麼意思?
本文主要是講解 Java 中的運算符。對於運算符而言是編程參與計算的基礎核心內容。最基礎的加減乘除取余。到後面的邏輯運算大於小於等於不等於。
本文內容思維導圖
先從最簡單的算術運算符說起。
算術運算符
算術運算符又分為: 一元運算符和二元運算符, 並且在 Java 中包含三元運算符, 就是條件運算符或者叫作三目運算符只是名字不同,含義相同。
一元運算符
一元運算符只有一個變量就可以進行操作。常用的一元運算符就是自加,自減。一共四個一元運算符。
示例代碼, 這裡使用 JShell 快速查看結果。
需要注意其中的自加和自減的規則。當運算符在前的時候 ++ a; 運算符的優先級比較高, 所以會先處理這個代碼, 所以可以看到代碼裏面直接返回了結果 4。但是 a ++ 的時候卻沒有直接返回結果, 因為他的運算符比價低。 所以重新調用該變量就會打印出來當前的值。
代碼定義如下:
運行查看結果:
二元運算符
二元運算符一共5個。分辨是加減乘除取余(+、-、*、/、%)。
其中,在進行除法運算的時候,遵守除數不能為 0;
如果除數為 0 就會報錯, 錯誤如下:
代碼示例如下:
運行查看結果,編譯, 運行:
賦值運算符
對於賦值運算符基本上貫穿了整個類的周期。常用的 = 賦值。 和簡寫賦值和算術運算符的使用方式。賦值運算符有如下圖所示的使用方式。
使用 JShell 進行測試代碼如下:
代碼示例如下:
int a = 0;
a = 3;
System.out.println(a);// 3
a += 3;
System.out.println(a);// 6
a -= 3;
System.out.println(a);// 3
a *= 3;
System.out.println(a);// 9
a /= 3;
System.out.println(a);// 3
a %= 2;
System.out.println(a);// 1
比較運算符
比較運算符, 也可以說是布爾運算符。 主要是比較兩個表達式的結果。 (表達式) 操作符 (表達式)
根據上面的運算符進行案例演示, 一定要動手練習。 更能加深印象。
只要知道比較運算是最終得到一個布爾類型的值。並且在進行比較運算的時候, 一定要注意其優先級。代碼這次自己動手做吧。 有上面的演示, 應該很容易就搞定。
邏輯運算符
對於邏輯運算符, 主要就是 3 個。 邏輯與、邏輯或、邏輯非。和數學中的與或非意思一致。
格式: 表達式1 邏輯運算符 表達式2
邏輯運算符大多數情況下會和其他的運算符一起使用, 主要做一些簡單或複雜的邏輯運算。 並且通常都是和 if, for 等邏輯表達式一起使用。
簡單的說一說, 對於邏輯與和邏輯或不同點。 邏輯與為第一個表達式和第二個表達式都等於真值的情況下才會表達式成立。 邏輯或是第一個表達式為真值的情況下, 就不會在執行第二個表達式。 因為不管第二個表達式是否成立, 該邏輯運算都是真值了。
位運算符
對於任何編程語言而言, 最終的操作都是二進制表示, 因為計算機只認識二進制, 而八進制,十進制或者十六進制都是為了讓開發人員方便開發。對於 Java 來說, 也可以針對數的某個值進行運算。這就需要位運算符的參與了。也是為了方便對二進制進行操作。
位運算符主要有一下運算符:
位與
按位與和邏輯運算符的邏輯與很類似,一個比較的表達式, 一個是按照位來進行判斷。在二進制中, 位與的判斷為都為 1 的記做 1 否則記做 0。
按位與規則如下:
0 0 = 0;
0 1 = 0;
1 0 = 0;
1 1 = 1;
先看一個都是正整數的值 10 2。
最終得出結果 0000 1010 0000 0010 = 0000 0010 轉換成十進制就是2。
對於負值的位與運算有點區別的地方就是參與運算的是補碼。
舉例說明: 10 -2
具體如何得到補碼, 可以參考我之前寫的文章基礎類型的相互轉換。這裡對於負值的情況需要了解什麼是原碼,反碼和補碼。參與運算的是補碼。-2 的原碼是 1000 0010 反碼是 1111 1101 補碼 在反碼的基礎最後一位加 1 得到1111 1110。
最終結果得到 0000 1010 1111 1110 = 0000 1010 十進制也就是 10。
這個時候怎麼校驗結果是否正確呢? 直接寫 Java 代碼就好了, 打開 jshell:
位或 |
按位或, 和邏輯或很類似, 只要二者有一位 1 結果就是 1。
按位或規則如下:
0 | 0 = 0;
0 | 1 = 1;
1 | 0 = 1;
1 | 1 = 1;
根據上面的運算得到了 10 | 2 = 10。
負值有略有不同。
還是要靈活運用原碼反碼和補碼,特別是負數的情況下, 因為正數的原碼和補碼一致。
位反 ~
按位反, 和邏輯非類似。 是對位進行直接取反。
按位反規則如下:
~1 = 0;
~0 = 1;
先用 2 進行運算處理:
在進行 -2 的運算操作
-2 的原碼 需要轉換成補碼, 用補碼進行取反運算。 得到 1 的二進制。
代碼演示如下:
位異或 ^
位異或是基於二進制的位運算。 採用符號 XOR 在 Java 中使用 ^ 進行表示。兩個值相同取 0, 不同的取 1。
按位異或規則如下:
1 ^ 1 = 0;
0 ^ 0 = 0;
1 ^ 0 = 1;
0 ^ 1 = 1;
舉例 10 ^ 2
舉例 10 ^ -2
代碼演示結果的準確性:
異或在代碼優化和實際的工作中會經常用到。 後續實戰中用到了在詳細分析用法, 現在知道進行異或運算即可。
位左移
將一個操作數進行二進制位往左移, 移動後空出來的低位用 0 進行填充。移除的高位捨去。高位丟棄,低位補零。
操作數 移動的位數
舉例說明 10 2
位左移代碼演示:
位右移
將一個操作數進行二進制往右移, 移動後,有兩種情況,一種有無符號一種是有符號。也就是最高位為 0 移動後高位補 0, 如果最高位(符號位)為 1, 移動後空缺位都為 1.
操作數 移動的位數
舉例說明 10 2
對於負數舉例 -2 2 空缺位補 1:
位右移代碼演示:
注意這兩者的區別。
無符號位右移
這個是和右移操作上是一致的, 但是不管是否最高位(符號位)為 1, 空缺位都使用 0 進行補齊。
操作數 移動的位數
舉例說明 10 2
對於負數來說。 這裡有點區別, 因為對於負值來說, 上面其實都是 32 位, 為了讓大家看起來舒服轉換成了對應的 8 位的。 因為無符號位右移會改變正負值, 所以 32 位的負值和 8 位的負值是不一致的。
並且 Java 在處理 byte, short , char 等值進行移位操作前, 會先將類型轉換成 int 因為 int 佔用 32 位。
所以 -2 2 的時候,8 位運算應該是如下:
因為會先轉換成 32 位。 所以 32 位的 -2 等於如下:
也就是結果: 1073741823
無符號位右移代碼如下:
理解原理。 更能發現問題。
類型比較運算符
這裡說的類型比較是對象的比較。 判斷每個定義的變量是否是某個類。該類可以是(接口、抽象類)。
語法規則:
boolean = 變量 instanceof 類
舉例說明:
運行查看結果:
這裡需要注意:
null 值是沒有引用的, 所以和任何值都不相等。
instanceof 比較的是引用類型, 不能用於基礎類型的比較。
條件(三目)運算符
三目運算在 Java 中只有一個就是 ? :
三目運算的語法格式:
`布爾表達式 ? 表達式1 : 表達式2`
大部分情況下, 對於三目運算是 if 和 else 的簡寫。舉例說明:
int a = 1; int b = 2;
String msg = a b ? “a 比 b 大” : “a 比 b 小”;
System.out.println(msg);
//上面的結果和下面一致
if(a b){
msg = “a 比 b 大!”;
}else{
msg = “a 比 b 小!”;
}
//msg 是 “a 比 b 小!”
運算符的優先級
所有的數學運算都是從左向右進行運算的, 對於 Java 來說大部分運算也是遵守從左向右的規則。 但是一元運算符,賦值運算符和三目運算符例外。他們是從右向左進行運算。
運算符的內容告一段落, 接下來就是開始邏輯表達式的學習。 教程編寫不易。希望各位大看官點贊收藏加關注。更多內容大放送。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/287418.html