1. 程式人生 > >Java基礎語法入門

Java基礎語法入門

行為 邏輯運算 順序 image 連接字符串 之間 小寫字母 基礎語 與運算

1、Java運行原理

技術分享圖片

2、 標識符

標識符:是被Java語言賦予特殊含義,具有專門用途的單詞,比如之前接觸的class,int,double均為Java已經預設好的,常見關鍵字有public static void class等;

標識符的命名規則:1、英文大小寫字母;2、數字字符;3、$和_;

註意事項:1、數字不能開頭 2、不可以使用關鍵字 3、嚴格區分大小寫,不限制長度 4、起名時,盡量達到見名知意。

3、數據類型與變量

基本數據類型:整數(byte、short、int、long)、小數(float、double)、字符類型(char)、布爾類型(boolean)

引用數據類型:是強大的數據類型,它是基於基本數據類型創建的。JavaSE中提供了一個超級類庫,類庫中包含了近萬種引用數據類型。

常量:就是不變的數據量,在程序執行的過程中其值不可以發生變化;

變量:如同內存中的一個小容器,用來裝數據,其功能為存取數據;

定義變量的語法格式:

數據類型 變量名 = 變量值;

int a = 100;

例:public class AAA {

public static void main(String[] args) {

int a = 10;

double b = 3.14;

char c = ‘z‘;

String s = "i love java";

a = 20;

System.out.println(a);

}

}

4、數據類型的轉換

1)、自動類型轉換:表示範圍小的數據類型轉換成範圍大的數據類型,這種方式稱為自動類型轉換

int i = 100;

double d2 = i;

2)、強制類型轉換:

表示範圍大的數據類型轉換成範圍小的數據類型,這種方式稱為強制類型轉換

如:int i = (int)6.718; //i的值為6

5、修飾符與運算符

修飾符:修飾類中方法和屬性。主要有兩類修飾符:

訪問控制修飾符:default , public, protected, private

非訪問控制修飾符:final,abstract,static,synchronized

運算符:

1) 算數運算符

+: +3=5(正號) 2+3=5(加號) “你”+”好”=”你好”

-: -3(負號) 5-3=2(減號)

* 乘號 / 除號 % 取模 ++自加 --自減

註意事項

a:加法運算符在連接字符串時要註意,只有直接與字符串相加才會轉成字符串。

b:除法“/”當兩邊為整數時,取整數部分,舍余數。當其中一邊為浮點型時,按正常規則相除。

c:“%”為整除取余符號,小數取余沒有意義。結果符號與被取余符號相同。

d:整數做被除數,0不能做除數,否則報錯。

e:小數做被除數,整除0結果為Infinity,對0取模結果為NaN

2) 比較運算符

== 相等於, != 不等於, < 小於,> 大於,<= 小於等於,>= 大於等於

比較運算符成立為true 不成立為false

3) 邏輯運算符

& 與; | 或;^ 異或;! 非;&& 短路與;|| 短路或

5) 三元運算符

(條件表達式)?表達式1:表達式2;

例:System.out.println( 3>2 ? “正確” : “錯誤” );

// 三元運算符運算後的結果為true,運算結果為表達式1的值“正確”,然後將 結果“正確”,在控制臺輸出打印

5、流程控制

If語句:

if語句格式第一種

書寫格式

if(比較表達式) {

語句體;

}

執行流程:

先計算比較表達式的值,看其返回值是true還是false。

如果是true,就執行語句體;

如果是false,就不執行語句體;

示例:public class IfDemo{

public static void main(String[] args){

int i = 5 ;

//對變量i進行if判斷

if(i > 5){

System.out.println("if中的條件是true");

i++;

}

System.out.println(i);

}

}

if語句格式第二種

書寫格式

if(比較表達式) {

語句體1;

}else {

語句體2;

}

執行流程:

* 首先計算比較表達式的值,看其返回值是true還是false。

* 如果是true,就執行語句體1;

* 如果是false,就執行語句體2;

示例:

public class IfElseDemo{

public static void main(String[] args){

int i = 16 ;

//判斷變量,是奇偶數, 除以2,看余數是0還是1

if( i % 2 == 0 ){

System.out.println(i+" 是偶數");

}else{

System.out.println(i+" 是奇數");

}

}

}

For循環:

使用格式

for(初始化變量 ; 條件 ; 增量){

循環體;

}

各模塊解釋

初始化變量: 定義變量,作用是用來控制循環的次數

條件: 當條件是true,執行循環體,條件是false,結束循環

增量: 變量自增情況

例:

public class ForDemo{

public static void main(String[] args){

//for循環,輸出0-10

for(int i = 0 ; i < 11 ; i++){

System.out.println(i);

}

}

}

do_while循環

使用格式

do{

循環體;

}while(條件);

執行順序

先執行一次循環體,然後再判斷條件,如果條件為true,繼續執行循環體,

如果條件為false,循環結束。

特點

* 無條件先執行一次

例:

public class DoWhileDemo{

public static void main(String[] args){

int i = 0;

do{

System.out.println(i);

i++;

}while( i < 5);

}

}

continue語句

作用

提前結束本次循環,繼續進行下次循環

使用方式

無法單獨使用,必須將continue關鍵字置於循環語句中

運行規律

不需要判斷任何條件,只要遇到continue變直接跳出本輪循環進行下次循環

例:

public class ContinueDemo{

public static void main(String[] args){

for(int i = 0 ; i < 10 ; i++){

if(i%2==0){

continue;

}

System.out.println(i);

}

}

}

//會把0-9之間所有的奇數打印到控制臺上

switch語句解構

switch只能針對某個表達式的值作出判斷,從而決定程序執行哪一段代碼。

格式如下:

swtich(表達式){

case 常量1 :

要執行的語句;

break;

case 常量2 :

要執行的語句;

break;

case 常量3 :

要執行的語句;

break;

default:

要執行的語句;

break;

}

執行流程: 表達式,和case後面的常量進行比較和哪個case後的常量相同,就執行哪個case後面的程序,遇到break,就全結束

6、數組

格式:數據類型[] 數組名 = new 數據類型[元素個數或數組長度];

例:int[] x = new int[100];

註意:1)數據類型: 數組中存儲元素的數據類型

2) [] 表示數組的意思

3) 變量名 自定義標識符

4) new 創建容器關鍵字

5)數據類型: 數組中存儲元素的數據類型

6)[] 表示數組的意思

7)元素個數,就是數組中,可以存儲多少個數據 (恒定, 定長)

數組是一個容器: 存儲到數組中的每個元素,都有自己的自動編號

自動編號,最小值是0, 最大值,長度-1

自動編號專業名次, 索引(index), 下標, 角標

訪問數組存儲的元素,必須依賴於索引, 公式 數組名[索引]

Java提供一個屬性,操作索引的

數組的一個屬性,就是數組的長度, 屬性的名字 length

使用屬性: 數組名.length 數據類型 int

數組的最小索引是0, 最大索引數組.length-1

7、類與方法

:具有相似屬性和方法的對象的集合,是具有相同數據成員和函數成員的一組對象的集合,它為屬於該類的全部對象提供了抽象的描述

方法:一般為類的行為

方法的格式

修飾符 返回值類型 方法名(參數類型 參數名1,參數類型 參數名2...) {

方法體語句;

return 返回值;

}

例:public class MethodDemo{

public static void main(String[] args){

//調用方法, 方法執行起來

// 在方法main中,調用方法 getArea

int area = getArea(5,6);

System.out.println("面積是: "+area);

}

方法的調用:

在main函數中調用方法,讓方法執行

例:public class MethodDemo_1{

public static void main(String[] args){

double x=3;

double y=5;

double z=3;

double s=getAvg(x,y,z);

System.out.println(avg);

}

public static double getAvg(double a, double b,double c){

return (a+b+c)/3;

}

}

方法的重載:在同一個類中,方法名相同,參數列表不同。與返回值類型無關。

參數列表不同:

A:參數個數不同

B:參數類型不同

C:參數的順序不同

例:public static int getSum(int a,int b){

System.out.println("兩個int參數");

return a+b;

}

public static int getSum(int a,int b,int c){

System.out.println("三個int參數");

return a+b+c;

}

public static double getSum(double a,double b){

System.out.println("兩個double參數");

return a+b;

}

8、泛型:

泛型是jdk5引入的類型機制,就是將類型參數化,它是早在1999年就制定的jsr14的實現。

泛型機制將類型轉換時的類型檢查從運行時提前到了編譯時,使用泛型編寫的代碼比雜亂的使用object並在需要時再強制類型轉換的機制具有更好的可讀性和安全性。

例:public class GenericDemo {

public static void main(String[] args) {

function();

}

public static void function(){

Collection<String> coll = new ArrayList<String>();

coll.add("abc");

coll.add("rtyg");

coll.add("43rt5yhju");

// coll.add(1);

Iterator<String> it = coll.iterator();

while(it.hasNext()){

String s = it.next();

System.out.println(s.length());

}

}

}

9、類的聲明與實例化

類的定義:

如下例:

public class Dog{

String name;

int age;

void bark(){ // 汪汪叫

System.out.println("汪汪,不要過來");

}

void hungry(){ // 饑餓

System.out.println("主人,我餓了");

}

}

類的實例化:

Dog myDog; // 聲明一個對象

myDog = new Dog("花花", 3); // 實例化

Java基礎語法入門