當前位置:
首頁 > 最新 > java基礎語法

java基礎語法

軟體概念

一系列按照特定順序組織的計算機數據和指令的集合

軟體的出現實現了人與計算機之間更好的交互。

交互方式:圖形化界面和命令行方式

DOS命令行常見命令:

dir : 列出當前目錄下的文件以及文件夾

md : 創建目錄

rd : 刪除目錄

cd : 進入指定目錄

cd.. : 退回到上一級目錄

cd/ : 退回到根目錄

del : 刪除文件

exit : 推出dos命令行

Java語言是SUN(Stanford University Network,斯坦福大學網路公司)1995年推出的一門高級編程語言,是一種面向對象的編程語言。

Java語言特點:

簡單易學,完全面向對象,安全可靠,與平台無關(跨平台性)。

Java語言的三種技術架構:

1、Java EE(Java Enterprise Edition)企業版

2、Java SE(Java Standard Edition)標準版

3、Java ME(Java Micro Edition)微型版

Java中常用名詞:

API(applicationprogram interface)應用程序介面:為開發Java程序而預定義的類或介面。

JRE(JavaRuntime Environment )Java運行環境:包括Java虛擬機(JVM Java Virtual Machine)和Java程序所需的核心類庫

JDK(JavaDevelopment Kit) Java開發工具包:JDK是提供給Java開發人員使用的,其中包含了java的開發工具,也包括了JRE,用於開發和測試Java程序。

Java環境變數配置:

JAVA_HOME= D:jdk1.7.0 JAVA_HOME指向JDK的安裝路徑

PATH=%JAVA_HOME%in;%PATH% %PATH%引用以前設置的PATH環境變數

CLASSPATH=.;%JAVA_HOME%lib ools.jar 實現在任意目錄下都可以執行某一目錄下的class文件

Java基礎語法

關鍵字

被java賦予特殊含義的的單詞。

特點:其中的所有字母均為小寫。

特殊:main不是關鍵字,但是虛擬機可識別

標識符

在程序中自定義的一些名稱

規則:

由26個英文字母大小寫,0~9數字,下劃線(_),美元符號($)組成。

數字不能開頭

不能使用關鍵字

java嚴格區分大小寫

java中的名稱規範:

包名:所有單詞都小寫

類名、介面名:所有單詞首字母大寫

變數名、函數名:多單片語成時,第一個單詞字母小寫,第二個單詞開始首字母大寫

常量名:所有字母都大寫

注釋:用於註解說明解釋程序的文字

好處:提高代碼的閱讀性

注釋格式:

單行注釋: //注釋文字

多行注釋: /*注釋文字*/

文檔注釋: /**注釋文字*/

常量與變數

常量:不能改變的數值

分類:整數常量 小數常量 布爾常量 字元常量 字元串常量 null常量(只有一個數值null)

變數:用來不斷存放同一類型的常量,並可以被重複使用

格式:數據類型 變數名=初始化值;

理解:變數就如同數學中的未知數

Java語言是強類型語言,對於每一種數據都定義了明確的具體數據類型,在內存總分配了不同大小的內存空間

整數默認:int 小數默認:double

byteb1=128;//會報錯 byte類型範圍:-128~127

long l=4l;//4l中的l標示是long數據類型

floatf=2.3f;// 單精度float定義變數時用f標識

doubled1=2.3;//一般默認是double類型

char ch1= ;

charch2= a ;

charch3= + ;

charch4= 4 ;//char只能定義單個字元

char ch5= 你 ;//一個漢字兩個位元組 char類型也是兩個位元組

booleanbo1=true;

booleanbo2=false;

字元串數據和任何數據使用+都是相連接,最終都會變成字元串

System.out.println("5+5="+5+5);//結果5+5=55

System.out.println("5+5="+(5+5));//結果5+5=10

類型轉換

自動類型轉換(隱式類型轉換)

強制類型轉換(顯式類型轉換)

System.out.println( a +1);//結果98 字元"a 在計算過程中由於默認int 1被強制轉換成97

System.out.println((char)( a +1));//結果b

System.out.println( A +1);//結果66

System.out.println( 1 );//結果1

System.out.println("A="+ A );//A=A

System.out.println( 1 +0);//結果49 同理 字元『1』被強制轉換

System.out.println((char)(4));//結果是方塊

inty=4364;

System.out.println(y/1000*1000);//結果4000,y/1000後搶注轉換成4在乘以1000

System.out.println(-1%2);//結果-1

System.out.println(1%-2);//結果1 求餘數運算只看被模數

byte b=2;

b=b+3;// 會報錯,b+3結果為int型強制賦值給b(byte)類型

b=++b;//不會報錯,++b是一次運算,包含了一個隱藏的類型轉換

自增和自減(++ --)

inta=3,c,d;

c=a++;

System.out.println("a="+a+",c="+c);//結果a=4,c=3

d=++a;

System.out.println("a="+a+",d="+d);//結果a=5,d=5

/*兩種自增運算中a的值都會變化,a++相當於先把a的值賦給c,然後進行加1

++a相當於先自己加1,然後賦給d */

賦值運算 += -= *= /= %=

shorts=4;

/*s=s+5;編譯失敗 5默認是int類型,s+5的值int類型無法賦值給short型

兩次運算 先做加法 在把值賦給左邊*/

s+=5;//一次運算 自動把s+5的值賦給s

比較運算符 == != < > = instanceof

Instanceof 檢查是否是類的對象

例如: helloinstanceof String 結果為true

注意:比較運算符的結果都是boolean類型 要麼是true,要麼false

邏輯運算符 &(與) |(或) ^(異或) !(非) && ||

用法:邏輯運算符用於連接boolean類型的表達式

true^true=false;

true^false=true; ^:兩邊相同結果為false

false^true=true; 兩邊不同結果為true

false^false=false;

&: 無論左邊是true或者false,右邊都運算

&&:當左邊為false時,右邊不運算

|: 兩邊都參與運算

||:當左邊為真時,右邊不運算

位運算符(二進位運算)

右移 >>>無符號右移&與 |或 ^異或 ~反碼

2乘以8最有效率的方式:2

>>:除以2的移動的位數次冪。最高位補什麼由原數據的最高位決定

如果最高位為0,右移後用0補空位

如果最高位為1,右移後用1補空位

>>>:無論最高位是什麼,右移後,都用0補

6&3=2 即110&011=010

6|5=7 即110|101=111

6^5=3 即110^101=011 6^5^5=6

~:按位取反

一個數異或同一個數兩次,結果還是那個數 常用於數據加密

兩個數進行交換方法:三種

int n=3,m=8;

第一種:(最常用)

int temp;

temp=n;

n=m;

m=temp;

第二種:

n=n+m;

m=n-m;

n=n-m;

第三種:

n=n^m;

m=n^m;

n=n^m;

三元運算符

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

如果條件為true ,運算後的結果取表達式1

如果條件為false,運算後的結果取表達式2

例題:將整數60轉為十六進位

思路:1:獲取60的最低四位,通過&15 即&1111

2:將60右移四位,以便獲取下一組四位

3:獲取右移四位後的數的最低四位,通過&15

int num=60;

int n1=num&15;

System.out.println((n1>9)?(char)(n1-10+ A ):n1);/*n1結果為67 預想結果為C 原因是因為n1為整數類型,在與char運算是自動切換成整數了 */

intn2=num>>>4;//用>>>而不用>>是為了取盡所有的二進位數

intn3=n2&15;

System.out.println((n3>9)?(char)(n3-10+ A ):n3);

程序流程控制(for if while)

選擇結構:三種格式

1.If(){} 2.if(){} else{} 3.if(){} else if(){}…else{}

if else結構 簡寫格式:變數=(條件表達式)?表達式1:表達式2

三元運算符: 好處:可以簡化if else代碼

弊端:運算符運算完成必須要有一個結果

而if else語句可以不需要結果

選擇結構(switch)

格式:

switch(表達式){//表達式類型四種 byte short int char

case 取值n:

執行語句;

break;

...

default:

執行語句;

break;//可以省略

}

switch語句中表達式只有四種:char,int,byte,short,當具體數比較少時用switch;

if和switch區別:

當判斷的具體數值不多,且符合byte short int char四種類型 用switch語句 效率高

對於區間判斷,對結果為boolean類型進行判斷,使用if語句,if語句的使用範圍廣。

循環結構

代表語句:while,do while,for

while特點:先判斷條件,只有條件滿足才執行循環體

dowhile特點:條件無論是否滿足,循環體都至少被執行一次

for(初始化表達式,循環條件表達式,循環後的操作表達式)

for的循環條件表達式必須為boolean類型

for表達式不唯一,多表達式用,隔開

for與while的區別:

(1)變數有自己的作用域,對於for來講,如果將用於控制循環的增量定義在for語句中,那麼該變數只在for語句內有效,for語句執行完畢,該變數在內存中被釋放;

(2)for和while可以互換,如果需要定義循環增量,用for更為合適;當要對某些語句執行很多次時,就使用循環語句;

無限循環的最簡單表達式:

(1)for(,,){} //對於for來說,不寫循環條件表達式,默認為true

(2)while(true){}

對於列印長方形,外循環控制行數,內循環控制每一行的列數

尖朝上,可以改變內循環條件,讓條件隨著外循環變化

尖朝下,可以初始化內循環值,讓初始化隨著外循環變化

//九九乘法表

System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");

for(int e=1;e

{

for(int r=1;r

{

System.out.print(r+"*"+e+"="+r*e+ );

}

System.out.println();

}

break和continue的使用

break應用範圍:選擇結構和循環結構

continue應用範圍:循環結構

標號即xx: 給循環起名 可以讓break和continue語句作用於指點的範圍

haha:for(int e=1;e

{

xixi:for(int r=1;r

{

System.out.println("e="+e);

//break; //e=1 e=2

breakhaha;//e=1列印一次即跳出循環

}

}

列印10以內的偶數

for(int e=1;e

{

if(e%2==1)

continue;

System.out.println("e="+e);//24 6 8 10

}

continue只作用於循環結構 繼續循環 特點:結束本次循環,繼續下一次循環

break和continue單獨存在時,下面不可以有任何語句,因為執行不到

break和continue這兩個語句離開應用範圍,存在是沒有意義的

函數

函數是指定義在類中的具有特定功能的一段獨立小程序 函數也稱方法

函數的格式

修飾符 返回值類型 函數名(參數類型 形式參數1,參數類型 形式參數2,...)

{

執行語句;

return 返回值;

}

定義函數:

1、先明確該函數的運算結果,確定返回值類型

2、明確在定義該功能時是否需要未知的內容參與運算

void:當函數運算後沒有具體的返回值類型時,用void來標示

當函數的返回值類型為void時,函數中的return可以省略不寫

函數的特點:

定義函數可以將功能代碼進行封裝

便於對該功能進行復用

函數只有被調用才會被執行

函數的出現提高了代碼的復用性

函數中只能調用函數,不可以在函數中定義函數

函數重載:

在同一個類中,允許存在一個以上的同名函數,只要他們的參數個數或者參數類型不同

特點:與返回值類型無關,只看參數列表

好處:方便閱讀,優化程序

eg:int add(int x,int y)

intadd(int x,int y,int z)

doubleadd(double x,double y)

數組

數組是同一種類型數據的集合,是一個容器,是引用類型

格式:

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

格式2:元素類型[] 數組名=new 元素類型[];

內存結構

java程序在運行時,需要在內存中的分配空間。為了提高運算效率,就對空間進行了不同區域的劃分,每一片區域都有特定的處理數據方式和內存管理方式。

棧內存:用於存儲局部變數,當數據使用完,所佔空間會自動釋放。

堆內存: 數組和對象,通過new建立的實例都存放在堆內存中。每一個實體都有內存地址值,實體中的變數都有默認初始化值實體不在被使用,會在不確定的時間內被垃圾回收器回收

方法區,本地方法區,寄存器


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 java學習吧 的精彩文章:

開發維護大型 Java 項目的建議
有點基礎的初級java 要掌握的知識
給Java零基礎小白的初級總結(一)
程序員單身之謎 中國 2500萬程序員生活狀態大調查
java的第三季1-9 查書系統

TAG:java學習吧 |

您可能感興趣

Perl 基礎語法
Kotlin 基礎語法
Kotlin基本語法
搞定基礎英語語法:詳解be going to/will的區別用法
markdown語法練習
markdown常用語法
自學 Python 之基礎語法
XQuery 語法
jquery常用語法
Python3與C#基礎語法對比
Begin,Python-基本語法
支配vue框架之模版語法 v-html
SQLite 的語法
XLink 和 XPointer 語法
支配vue框架之模版語法 v-bind
Python正則表達式語法補充
Python神技能:六張表 搞定 Xpath 語法
語法有道(四):Back To December
Microsoft Word欲採用AI來檢查語法問題
Python 簡明語法總結