Java基礎(二) Java程序設計基礎

前言:經過上一章對Java的基本瞭解後,這一章主要講解標識符和關鍵字、基本數據類型、數據的輸入與輸出、數組、運算符、控制語句。

一 標識符和關鍵字


1.標識符

定義

用來標識類名、變量名、方法名、類型名、數組名、文件名的有效字符序列稱爲標識符,簡單地說,標識符就是一個名字。

Java語言規定

標識符由字母、下劃線、美元符號和數字組成,長度不受限制,區分大小寫。(Java使用的是16位的Unicode字符集)
標識符的第一位字符不能是數字字符。
標識符不能是關鍵字。
標識符不能是true、false和null(儘管true、false和null不是關鍵字,但在Java中有特殊含義)。

注:標識符命名有一定的規範,在這裏也不再贅述了。

2.關鍵字

定義

關鍵字就是具有特定用途或被賦予特定意義的一些單詞,不可以把關鍵字作爲標識符來用。

Java中具體的關鍵字舉例

abstract break byte boolean catch case class char continue default
double do else extends final float for finally if import implements
int interface instanceof long length native new package private
protected public final return switch synchronized short static super
try this throw throws transient void while

注:關鍵字都是小寫,遇到大寫肯定不是關鍵字。

3.樣例分析

問:下列標識符哪些是正確的?
在這裏插入圖片描述
答: userName1Online_User_sys_val 是正確的,符合Java標識命名規則,2mail 錯在第一位使用了數字,room# 錯在標識符有符號‘#’,class 錯在使用的是Java中的關鍵字class,hello-world 錯在標識符裏有減號’-’。(回答錯誤的同學,再看看上面的Java標識符規定)

二 數據類型

Java是一門強類型語言,即所有的變量都必須顯示聲明類型。
Java的數據類型分爲兩大類:基本數據類型和引用數據類型。

在這裏插入圖片描述
1.基本數據類型

所有基本類型所佔的位數都是確定的,並不因操作平臺的不同而不同。

在這裏插入圖片描述注:float類型常量必須有後綴 f 或 F,例如 float a=22.76f;
double類型可以有後綴 d 或 D,也可以沒有;
long類型常量必須有後綴 l 或 L,例如 long b=123l;

2.引用數據類型

在Java中“引用”是指向一個對象在內存中的位置,在本質上是一種帶有很強的完整性和安全性的限制的指針。
當你聲明某個類,接口或數組類型的一個變量時,那個變量的值總是某個對象的引用或者null引用。
指針就是簡單的地址而已,引用除了表示地址以外,還是被引用的數據對象的縮影,還提供其它信息。
指針可以有++、–運算,引用不可以運算。

3.轉義字符常量

有些字符(如回車符)不能通過鍵盤輸入到字符串或程序中,需要使用轉義字符常量。

例如:\n(換行),\b(退格),\t(水平製表),\’(單引號),\"(雙引號),\\(反斜線)等。

4.數據類型的轉換
Java中數據的基本類型(不包括邏輯類型)按精度從“低”到"高"排列:
byte<short<char<int<long<float<double

規則:

  • 當把級別低的變量的值賦給級別高的變量時,系統自動完成數據類型的轉換。例如:float x=100;
  • 當把級別高的變量的值賦給級別低的變量時,必須使用顯示類型轉換運算。顯示轉換的格式:(類型名)要轉換的值;例如:int x=(int)34.89;
  • 當把一個int型常量賦值給一個byte和short型變量時,不可以超出這些變量的取值範圍,否則必須進行類型轉換運算;例如:byte b=128(×);
    byte b=(byte)128(√);

5.樣例分析
問一:下列Java語句中,不正確的一項是
在這裏插入圖片描述
答一:選擇C,C錯在 0.0d是double類型的常量,double類型轉float類型需要強制類型轉換。正確寫法:
float e=(float)0.0d 或者 float e=0.0f。

問二:以下的變量定義中,合法的語句是
在這裏插入圖片描述
答二:選擇B,A錯在變量名首位用了數字以及float類型常量必須加後綴 f 或 F。C錯在double在科學計數法下,e後面只能是整數。D錯在變量名用了關鍵字。

問三:現有1個char類型的變量c1=66和1個整型變量i=2,當執行c1=c1+(char)i;語句後,c1的值爲
在這裏插入圖片描述
答三:選擇D,首先這裏將整型 i 強制轉換位 char類型,c1也是char類型,因爲‘+’只能表示兩整型相加,或者表示連接兩個字符串,所以這裏最後產生的結果是 int 型,int賦給char類型的c1需要強制類型轉換,但這裏並沒有強制轉換,所以會在編譯時報錯。

三 數據的輸入與輸出


Java是面向對象的語言,即使是輸入輸出也是用創建對象,調用方法的方式完成。

  1. 首先使用 import java.util.* 引入util包。
  2. 使用util包中的 Scanner 類創建一個對象 reader。
  3. 調用reader對象的方法,讀取用戶在命令行輸入的各種基本類型數據。
  4. 使用System類實現數據輸出。

在這裏插入圖片描述

reader對象調用下列方法,讀取用戶在命令行輸入的各種基本類型數據。

nextBoolean()、nextByte()、nextShort、nextInt()、nextLong()、nextFloat、nextDouble()。

讀取字符串的方法

next() 從有效字符開始讀入,空格,Enter,Tab結束讀入,不可以讀帶空格的字符串。
nextline() 只以Enter結束讀入,可以讀帶空格的字符串。

注:Scanner創建的對象沒有讀取一個字符的方法,可以先讀取字符串,再分割出單個字符。

數據輸出的方法

System.out.print不換行輸出。
System.out.println換行輸出。
System.out.printf完成類似於C語言printf的輸出

注:’+‘在有字符串的情況下,可以完成字符串的連接。例如:“你好”+“朋友”=“你好朋友”。

四 數組

數組是相同類型的數據按順序組成的一種引用數據類型。通過數組名加數組下標,來使用數組中的數據。下標從0開始排序。

聲明數組
在這裏插入圖片描述
爲數組分配元素
在這裏插入圖片描述
數組的內存模型
在這裏插入圖片描述
數組元素的使用

一位數組通過索引(下標運算)符訪問自己的元素。如boy[0],boy[1]等。索引從0開始。因此,數組若有4個元素,那麼索引到3爲止。

length字段的使用

使用“數組名.length”可以得到數組中元素的個數;例如:boy.length的值爲4。

數組初始化

創建數組後,系統會爲數組的每個元素一個默認的值;例如,float型是0.0,int型是0。如果需要賦值就爲每個元素賦值即可。

注:在聲明數組的同時也可以給數組的元素一個初始值,如下

float boy[] = {21.3f,23.89f,2.0f,23f,778.98f};

數組的引用

數組屬於引用型變量,兩個相同類型的數組如果具有相同的引用,它們就有完全相同的元素。

a[]={1,2,3}; b[]={4,5,6}; a=b; a[]={4,5,6};
在這裏插入圖片描述
多維數組
在這裏插入圖片描述
多維數組分配空間
在這裏插入圖片描述
注:使用運算符new來分配內存時,對於多維數組至少要給出最高維大小,也可以int b[][] =new int[3][3]直接爲每一維分配相同的大小。

多維數組的初始化
在這裏插入圖片描述
樣例分析

問:判斷正誤
在這裏插入圖片描述
答:是錯誤的,int[][] t={{1,2,3},{4,5,6}}相當於有一個t[2][3]的數組,t.length是高維的所以是2,t[0].length是低維的所以是3。

編程題:編寫程序構造如圖所示楊輝三角。
在這裏插入圖片描述
代碼如下

package test;
import java.util.*;
public class Main {
 public static void main(String[] args) {
  int a[][] = new int[7][7];
  a[1][1]=1;
  for(int i=2;i<=6;i++)
  for(int j=1;j<=i;j++)
  a[i][j]=a[i-1][j]+a[i-1][j-1];
  for(int i=1;i<=6;i++)
  {
   for(int j=1;j<=6-i;j++)
   System.out.print(" ");
   for(int j=1;j<=i;j++)
   System.out.printf("%2d ",a[i][j]);
   System.out.println();
  }
 }
}

運行結果如下
在這裏插入圖片描述

五 運算符


Java運算符與C運算符一致,這裏就不過多贅述了。
在這裏插入圖片描述
這裏介紹一種instanceof運算符
instanceof 運算符

是二目運算符,左邊的操作元是一個對象;右面是一個類。當左邊的對象是右邊的類或子類創建的對象時,該運算符運算的結果是true,否則是false。

例如
在這裏插入圖片描述

六 控制語句


1.分支語句
if語句;if-else語句;if-else if-else語句。
在這裏插入圖片描述

2.開關語句
switch語句
在這裏插入圖片描述

3.循環語句
for循環語句;while循環語句;do-while循環語句;
與C/C++一致,這裏不贅述了。
主要介紹一種增強for循環語句。
在這裏插入圖片描述
表示對於循環變量依次去數組的每一個元素的值。
在這裏插入圖片描述
4.break,continue語句
在這裏插入圖片描述

這一章讓我們對Java編程有了初步瞭解,下一章學習類和對象(點擊跳轉)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章