日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java二位数组biaoda_1 面向对象前部分

發布時間:2025/4/5 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java二位数组biaoda_1 面向对象前部分 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.類名稱 :

①最好是英文 (企業根本沒有中文類名稱)

② 最好是名詞 3. 類名稱一般首字母需要大5,并且應該使用"駝峰模式" helloword ---> HelloWord

注意:一個java代碼文件中,可以包含多個類

一個java代碼文件中,只能有一個類是被public修飾的

一個java代碼文件中,代碼文件名稱必須和public修飾的類的類名稱一樣!!!

編譯源碼成字節碼文件.class文件(與平臺無關的字節碼文件),再解釋執行

2.第一個java程序

//定義類HelloWord

public class HelloWorld

//定義程序入口方法

public static void main(String[] args){

//打印數據至控制臺

System.out.println("===歡迎加入瘋狂軟件===");

}

}

3.jvm那邊

4.注釋

5.變量

java是【強類型】語言:變量必須先定義出來,變量必須擁有自己的類型,才能使用!

變量是可以在定義出來以后修改值的。

變量只能存儲對應變量數據類型的數據

6.標識符

變量的名稱就是一個標識符 標識符一般用于在編程中取名字。`

7.數據類型

java的數據類型分為兩種:

①基本數據類型(8種):

a.數值類型

1個byte 相當于在計算機底層占8位

bit(b):位 只可能是0或者1

byte(B): 字節 1B = 8b 一個字節等于8位

-- 整形(整數) 1 2 100

byte(字節型) 取值范圍是 -128~127 底層占8位 (1個Byte)

short(短整型) 取值范圍是 -32768~32767 底層占16位(2個Byte)

int (整型) 取值范圍是 -2G~2G-1 底層占32位

long (長整型) 取值范圍是 -2的63次方~2的63次方-1 占64位(8個Byte)

-- 浮點型(小數) 1.1 100.01

float(單精度浮點類型) 底層占32位(4個Byte)

double(雙精度浮點類型) 底層占64位(8個Byte)

b、 char(字符型) :字符只能是單個字符 并且應該包含在(單引號)' '中

字符也占2個字節(16位),可以表示65536個字符。

c.boolean(布爾型) :boolean類型對應的值只有 true false

②.引用數據類型:

數組,類,接口

8.類型轉換 ——所有數值型(byte、short、int、long、float、double、char)之間都可以相互轉換。

★自動轉換

byte → short → int → long → float → double

char

被轉換的數據在要轉換類型的范圍之中,可以自動轉換!!

超出了范圍,就要強轉: 類型A 變量 = (類型A)數據; 強轉會出現數據溢出!

所有數值類型,都可以自動轉換為double類型

所有整數類型,都可以自動轉換為long類型。

所有整數類型,都可以自動轉換為浮點類型(float、double)

大范圍轉小范圍必須強轉。

如果大范圍數據也在小范圍數據之類一般不會溢出。

重點:浮點型轉換成整形,先去掉小數點,再判斷范圍,再轉換。

避免溢出!!

9.字符型和字符集 就是給已有的字符編個號碼。

10.運算符

①算術運算符 ++、--、+、-、*、/(除)、%(求余/取模)

注意:++ -- 自增和自減

a++,++a 相當于 a = a+1;

a--,--a 相當于 a = a-1

在表達式中:++在前先做自增再計算表達式。--在前先做自減再計算表達式, 反之

②賦值運算符=

先計算右側,再將右側的結果復制給左邊的變量。

int a = 3+4;

③比較運算符

>

<

>=

<=

==

!=

【注意:】比較運算符只是比較兩邊的值,不會理會它們的數據類型。

比較運算符得到的結果,一定是布爾型:true、或 false。

④三目運算符

條件表達式 ? 表達式1 : 表達式2

如果條件表達式為真,整個結果返回 表達式1 的值;否則就返回 表達式2 的值。

三目運算符一定有一個返回值。所以必須是表達式!不能是執行代碼。

⑤擴展的賦值運算符

=可與其他雙目運算符結合,從而得到功能強大的賦值運算符。

-- 最終的結果一定需要成為左側變量的類型。但是是自動幫你轉型的!!

a += b 相當于 a = (a的類型)(a + b) a -= a 相當于 a = (a的類型)(a - b) = a=b a=(a的類型)(a*b) /= %= a%=b a =(a的類型)(a%b); &= |= ^=

⑥邏輯運算符 邏輯運算符要求2個操作數一定是boolean類型(true、false)

&& : 與(并且,要求兩個操作數都為true,結果就是true)

& : 不短路與。 即使前一個表達式已經是false,它還會繼續計算后面的表達式。

|| : 或(或者,要求兩個操作數一個為true,結果就是true。

| 不短路或。 即使前一個表達式已經是true,它還會繼續計算后面的表達式。

! : 非(不要,原操作數取反。單目運算符)

^ : 異或。 不同時為true,相同時為false

11.表達式類型的自動提升

public class BiaodashiLeixing { public static void main(String[] args) { // 定義一個字節整形 byte bt = 23 ;

// 看一個表達式的最高類型,最高類型是什么,表達式最終的類型就是什么。

long b = bt +10l ;

System.out.println(b);

int c = 10 ;

long db = 10L*c*34.2f;

System.out.println(db);

}

}

12.流程控制語句

(1)順序結構 不加任何控制的代碼,就是順序結果。 程序在每個方法中,必須先執行前面代碼,再執行后面的代碼,就是按照順序執行。如果前面代碼出錯,后面代碼無法獲得執行的機會。

(2)分支結構

①if分支

語法格式:

結構1 :

if(條件){

// true 執行這里

}

結構2 :

if(條件){

// true 執行這里

}else{

// false 執行這里

}

結構3 :

if(條件){

// true 執行這里

}else if(條件){

// true 執行這里

}else if(條件){

// true 執行這里 else if : 0 ~ N 個

}else if(條件){

// true 執行這里

}else{

}

結構4 :

if(條件){

// 執行代碼

}

②switch 分支

switch(表達式){

case 值 :

// 執行代碼

break; // 結束分支

case 值 :

// 執行代碼

break; // 結束分支 0 ~ N 次 case塊!

case 值 :

// 執行代碼

break; // 結束分支

default:

// 執行代碼

break; // 結束分支

}

【注意點:】

A. switch表達式的類型,可以是 byte、short、int、char、String(Java 7之后才行)、枚舉。

B. case塊后省略了break之后,會發生“貫穿”(fallthrough)。

貫穿:程序會從第一個匹配的case塊開始執行,在遇到break之前,根本就不會去比較與case后的值是否相等,

而是直接執行case塊。

--- 所以不能省略break

C.case后面的值必須與比較的類型一致。

③循環結構

while循環

格式: while(循環條件){

// 執行代碼 循環體

}

流程:程序先判斷 循環條件 是否為true,如果循環條件為true,進入并執行循環體。

循環體執行結束之后,再次判斷 循環條件 是否為true,如果循環條件為true,進入并執行循環體。

直到某一次循環條件變成了false,不再執行循環體,結束循環。

循環條件的執行次數 == 循環體的執行次數 + 1

因為最后一定要多一次循環條件判斷為false

do-while循環

do{

// 循環體

}while(循環條件);

流程:程序先執行一次循環體。

判斷 循環條件 是否為true,如果循環條件為true,進入并執行循環體。

循環體執行結束之后,再次判斷 循環條件 是否為true,如果循環條件為true,進入并執行循環體。

直到某一次循環條件變成了false,不再執行循環體,結束循環。

循環條件的執行次數 == 循環體的執行次數

對于do while循環而言,即使循環條件開始就是為false,循環體也會執行1次。

for循環

for(初始語句 ;循環條件 ; 迭代語句){

// 循環體

}

流程:開始,執行初始化語句,但只執行一次。

程序先判斷 循環條件 是否為true,如果循環條件為true,進入并執行循環體。

循環體執行結束之后,執行迭代語句,再次判斷 循環條件 是否為true,如果循環條件為true,進入并執行循環體。

直到某一次循環條件變成了false,不再執行循環體,結束循環。

循環條件的執行次數 == 循環體的執行次數 + 1

循環體執行次數 = 迭代語句的執行次數

13.break,continue,return關鍵字

break:結束當前分支或者循環。

1、break只能結束當前(switch)分支或者循環

2、如果是嵌套循環,內部循環的break將不會影響外部循環的執行。

3、如果在嵌套循環中,希望結束外部循環,應該給外部循環加上標簽,再通過

break 外部循環標簽;來結束外部循環執行。

return:

1、一般直接寫return;結束程序。

2、 如果return 數據;返回數據給調用者。

continue:

continue:忽略本次循環的循環體內剩下的語句,重新開始執行下一次循環體。

【隱藏意思:】 把continue放在單次循環的循環體的最后,是沒有任何意義的。

continue放在嵌套循環中,可以同給外部循環加入標簽,內部循環就可以通過continue 標簽;

來忽略外部循環當次循環體的剩下代碼,而直接進入下一輪計數器,從新執行循環體。

continue 標簽;

14.數組 冒泡排序 為什么需要數組?

當程序中有多個(甚至個數暫時不確定的)類型相同、功能類似的變量時,此時就不要用變量,而是應該用數組。

—一【創建】數組之后,就相當于得到了N個類型相同的變量,每個數組元素都相當于一個普通的變量。

數組的長度: 該數組包含多少個元素。

如何創建使用數組?

數組是一種引用類型。如果創建不同類型的數組來存放數據。

基本數據類型 數組類型

byte byte[]

short short[]

int int[]

long long[]

char char[]

float float[]

double double[]

boolean boolean[]

...

注意:什么類型的數組只能存放什么類型的數據

15.創建數組的兩種方式

靜態初始化

格式:類型[] 數組變量名稱 = new 類型[]{元素1,元素2,元素3,..........};

-- 數組的長度 格式: 數組變量名稱.length

-- 訪問數組的元素 格式: 數組變量名稱[元素位置索引]

-- 給數組元素賦值 格式: 數組變量名稱[元素位置索引] = 值;

-- 遍歷數組: 訪問數組的所有元素

a. for循環

b. foreach循環

格式: for(數組中元素的類型 變量 : 需要被遍歷的數組){

//輸出變量

}

注意點:

-- 什么類型的數組就一點存放什么類型的數據

-- 靜態初始化的數組一旦定義出來,數組的長度就固定了。

-- 訪問數組的時候,訪問的索引不能超過數組的大小,超過代碼在執行

的時候會出現一個經典的錯誤:數組訪問越界異常(ArrayIndexOutOfBoundsException)!

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: x

動態初始化

格式:類型[] 數組變量名稱 = new 類型[數組的長度];

-- 數組的長度 格式: 數組變量名稱.length

-- 訪問數組的元素 格式: 數組變量名稱[元素位置索引]

-- 給數組元素賦值 格式: 數組變量名稱[元素位置索引] = 值;

-- 遍歷數組: 訪問數組的所有元素

a. for循環

b. foreach循環

格式: for(數組中元素的類型 變量 : 需要被遍歷的數組){

//輸出變量

}

注意:

-- 什么類型的數組就一定要存放什么類型的數據

-- 動態初始化一旦定義出數組,數組的長度就固定了。

此時數組中是存在元素的,元素是默認的值:

所有的數值類型默認值都是: 0 或者 0.0

boolean類型數組的默認值是: false

char類型的默認值是:一個空格字符。

所有的引用類型數組默認值是: null

-- 訪問數組的時候,訪問的索引不能超過數組的大小,超過代碼在執行

的時候會出現一個經典的錯誤:數組訪問越界異常(ArrayIndexOutOfBoundsException)!

Exception in thread "main" java.lang.ArrayInde

xOutOfBoundsException:

16.棧內存,堆內存 Java的變量的存放區域,有兩個地方:

按照操作系統的原理:程序必須加載到內存中才能執行。

注意點: 數組是一個引用類型。

java的存儲機制:方法申明的變量全部都放在棧內存,但是

-- 基本數據類型是直接存放變量的值在棧內存中,輸出變量直接打出存放的變量值。

-- 引用類型的變量在棧內存中并不是存放變量的內容,而是存放

引用類型變量對應數據在堆內存中的地址。

棧(stack)內存: 方法(函數)運行時動態分配的一小塊臨時內存,方法(函數)結束時,內存區就被系統回收。 方法棧。

只要在方法聲明的變量(局部變量),全部都放在棧內存。

堆(heap)內存: JVM(Java Virtual Machine)運行時持有一塊持久的、很大存儲區。 一個虛擬機,只持有一塊堆內存。 運行java命令時,可通過-X選項來指定堆內存的大小。 只要用new創建的對象,全部都在堆內存。 引用類型變量的值一般都是存放在堆內存中的

17.二維數組

char[][] datas = new char[3][3]; //遍歷二維數組 datas:二維數組 data:一維數組

for(char[] data : datas ){

for(char da : data){

System.out.print(da);

}

System.out.println();

}

總結

以上是生活随笔為你收集整理的java二位数组biaoda_1 面向对象前部分的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。