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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java快速提升_java快速复习 一 基础语法

發布時間:2024/9/27 java 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java快速提升_java快速复习 一 基础语法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近看很多算法書,比較不錯的有不少都是java語言描述,所以用一天時間快速研究并整理java? ,參考資料:java入門經典

Call this file "Example2.java".

class Example2 {

public static void main(String args[]) {

int a; //聲明變量

a = 100; //賦值

if(a = 100) print(a); // if(condition) statement;

int x ;

char y = 'x';

byte z = 22;

int d = 3, e, f = 5;

for(x = 0; x<10; x = x+1) // for(initialization; condition; iteration) statement;

System.out.println("This is x: " + x);

}

}

java文件名和類名要相同,運行Java解釋器實際上是指定你想要解釋器運行的類的名字,它會自動搜索包含該名字且帶有.class擴展名的文件。如果找到,它將運行含在該指定類中的代碼。

所有的Java應用程序都通過調用main( )開始執行。關鍵字public是一個訪問說明符(access specifier),它允許程序員控制類成員的可見性。如果一個類成員前面有public,則說明該成員能夠被聲明它的類之外的代碼訪問(與public相對的是private,它禁止成員被所屬類之外的代碼訪問)。在本例中,main( )必須被定義為public類型因為當程序開始執行時它需要被它的類之外的代碼調用。

關鍵字static允許調用main( )而不必先實現該類的一個特殊實例

關鍵字void僅通知編譯器main()不返回任何值

Java是區分大小寫的。

即使一個方法不需要參數,你仍然需要在方法名后面放置一對空括號。main( )僅是解釋器開始工作的地方。一個復雜的程序可能包含幾十個類,但這些類僅需要一個main( )方法以供解釋器開始工作。

java?數據類型

整數:該組包括字節型(byte),短整型(short),整型(int),長整型(long),

它們有符號整數。

浮點型數:該組包括浮點型(float),雙精度型(double),它們代表有小數精度

要求的數字。

字符:這個組包括字符型(char),它代表字符集的符號,例如字母和數字。

布爾型:這個組包括布爾型(boolean),它是一種特殊的類型,表示真/假值。

在Java中,字符串實際上是對象類型。因為Java對字符串是作為對象實現的,因此,它有廣泛的字符串處理能力,而且功能既強又好用。

變量作用域和生存期

大多數其他計算機語言定義了兩大類作用域:全局和局部。在JAVA中不適用。

程序塊被包括在一對大括號中。一個程序塊定義了一個作用域(scope)。這樣,你每次開始一個新塊,你就創建了一個新的作用域。你可能從先前的編程經驗知道,一個作用域決定了哪些對象對程序的其他部分是可見的,它也決定了這些對象的生存期。

方法定義的作用域以它的左大括號開始。但是,如果該方法有參數,那么它們也被包括在該方法的作用域中。?if?for?這些都是方法。

作為一個通用規則,在一個作用域中定義的變量對于該作用域外的程序是不可見。

作用域可以進行嵌套。例如每次當你創建一個程序塊,你就創建了一個新的嵌套的作用域。這樣,外面的作用域包含內部的作用域。這意味著外部作用域定義的對象對于內部作用域中的程序是可見的

變量在其作用域內被創建,離開其作用域時被撤消。

如果一個聲明定義包括一個初始化,那么每次進入聲明它的程序塊時,該變量都要被重新初始化

類型轉換

下列2個條件都能滿足將一種類型的數據賦給另外一種類型變量時,將執行自動類型轉換

這2種類型是兼容的。

目的類型數的范圍比來源類型大

例如,int型的范圍比所有byte型的合法范圍大,因此不要求顯式強制類型轉換語句

對于拓寬轉換,數字類型,包括整數(integer)和浮點(floating-point)類型都是彼此兼容的

數字類型和字符類型(char)或布爾類型(bollean)是不兼容的

不兼容類型的強制轉換

int a;

byte b;

// ...

b = (byte) a;

當把浮點值賦給整數類型時一種不同的類型轉換發生了:截斷(truncation)。你知道整數沒有小數部分。這樣,當把浮點值賦給整數類型時,它的小數部分會被舍去

class Conversion {

public static void main(String args[]) {

byte b;

int i = 257;

double d = 323.142;

System.out.println("\nConversion of int to byte.");

b = (byte) i;

System.out.println("i and b " + i + " " + b);

System.out.println("\nConversion of double to int.");

i = (int) d;

System.out.println("d and i " + d + " " + i);

System.out.println("\nConversion of double to byte.");

b = (byte) d;

System.out.println("d and b " + d + " " + b);

}

}

表達式中類型的自動提升

byte a = 40;

byte b = 50;

byte c = 100;

int d = a * b / c;

//中間項結果a*b很容易超過它的任何一個byte型操作數的范圍。為處理這種問題,當分

析表達式時,Java自動提升各個byte型或short型的操作數到int型。這意味著子表達式a*b使

用整數而不是字節型來執行

自動類型提升的問題

byte b = 50;

b = b * 2; // Error! Cannot assign an int to a byte!

該程序試圖將一個完全合法的byte型的值50*2再存儲給一個byte型的變量。但是當表達

式求值的時候,操作數被自動地提升為int型,計算結果也被提升為int型。這樣,表達式的

結果現在是int型,不強制轉換它就不能被賦為byte型

byte b = 50;

b = (byte)(b * 2); //正解

類型提升一直以最高級的類型為目標提升。

數組

聲明數組

int month_days[];? //type var-name[ ];

聲明并初始化為0

month_days = new int[12];? //array-var = new type[size];

賦值

month_days[0] = 31;

month_days[1] = 28;

聲明并初始化

int month_days[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31,30, 31 };

二維數組

int twoD[][] = new int[4][5];

第二種聲明形式以下兩種等價

int al[] = new int[3];

int[] a2 = new int[3];

Java不支持或不允許指針因為這樣做將允許Javaapplet(小應用程序)突破Java運行環境和主機之間的防火墻?后面說解決方案。

運算符

+ - * / % ++ += -= *= /= %= --

關系運算符

== != > < >= <=

邏輯運算符 & |? ^? || && ! &= |= ^= == != ?:

注意java有三元運算

expression1 ? expression2 : expression3

ratio = denom == 0 ? 0 : num / denom;

if(condition)

statement;

else if(condition)

statement;

else if(condition)

statement;

else

statement;

switch (expression) {

case value1:

// statement sequence

break;

case value2:

// statement sequence

break;

.

.

.

case valueN:

// statement sequence

break;

default:

// default statement sequence

}

表達式expression必須為byte,short,int或char類型。每個case語句后的值value必須是與表達式類型兼容的特定的一個常量(它必須為一個常量,而不是變量)。重復的case值是不允許的

switch可以嵌套

三種循環

while(condition) {

// body of loop

}

do {

// body of loop

} while (condition);

for(initialization; condition; iteration) {

// body

}

Java允許你在for循環的初始化部分和反復部分聲明多個變量,每個變量之間用逗號分開。

for(a=1, b=4; a

break,continue和return?都支持

總結

以上是生活随笔為你收集整理的Java快速提升_java快速复习 一 基础语法的全部內容,希望文章能夠幫你解決所遇到的問題。

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