Java複習第一天

來源:互聯網
上載者:User

標籤:

Day01

1、獨立編寫Hello World程式。

public class Test{

     public static void main(String[] args){

          System.out.println("Hello World!");

     }

}

2、JDK,JRE,JVM分別是什麼?

(1)作用

JVM:保證Java語言跨平台

     JRE:Java程式的運行環境

     JDK:Java程式的開發環境

(2)關係

     JDK:JRE+工具

     JRE:JVM+類庫

3、Java語言是跨平台的嗎?JVM是跨平台的嗎?

Java語言是跨平台的,JVM不跨平台,每種平台都有JVM。

4、環境變數path和classpath的區別?

(1)path指示java命令的路徑,像javac、java、javaw等

(2)classpath是javac編譯器的一個環境變數,它的作用與import、package關鍵字有關,當你寫下improt java.util.*時,編譯器面對import關鍵字時,就知道你要引入java.util這個package中的類;但是編譯器如何知道你把這個package放在哪裡了呢?所以你首先得告訴編譯器這個package的所在位置;如何告訴它呢?就是設定CLASSPATH啦 :) 如果java.util這個package在c:\jdk\ 目錄下,你得把c:\jdk\這個路徑設定到CLASSPATH中去!當編譯器面對import java.util.*這個語句時,它先會尋找CLASSPATH所指定的目錄,並檢視子目錄java\util是否存在,然後找出名稱吻合的已編譯檔案(.class檔案)。如果沒有找到就會報錯!

Day02

1、什麼是注釋?注釋分為幾種?注釋有什麼作用?

(1)就是對程式進行解釋說明的文字

(2)分類:

     A:單行注釋     //

     B:多行注釋     /**/

     C:文檔注釋(後面講) /** */

(3)注釋的作用

     A:解釋說明程式,提高了代碼的閱讀性。

     B:可以協助我們偵錯工具。

2、什麼是關鍵字?有什麼特點?

(1)被Java語言賦予特定含義的單詞;

(2)特點為全部小寫。

3、什麼是標識符?由哪些部分組成?常見的命名規則有哪些?

(1)就是給類,介面,方法,變數等起名字的字元序列。

(2)組成規則:

A:英文大小寫字母

     B:數字

     C:$和_

(3)常見的命名規則(見名知意)

     A:包 全部小寫

     單級包:小寫 舉例:liuyi,com

     多級包:小寫,並用.隔開 舉例:cn.itcast,com.baidu         

B:類或者介面

     一個單詞:首字母大寫 舉例:Student,Demo

     多個單詞:每個單字首大寫 舉例:HelloWorld,StudentName

     C:方法或者變數

     一個單詞:首字母小寫 舉例:name,main

     多個單詞:從第二個單詞開始,每個單字首大寫 舉例:studentAge,showAllNames()

     D:常量 全部大寫

     一個單詞:大寫 舉例:PI

     多個單詞:大寫,並用_隔開 舉例:STUDENT_MAX_AGE

4、什麼是常量?常量的分類?字面值常量表現形式有哪些?

(1)在程式執行的過程中,其值不發生改變的量

(2)分類:

     A:字面值常量

     B:自訂常量(後面講)

(3)字面值常量

     A:字串常量 "hello"

     B:整數常量     12,23

     C:小數常量     12.345

     D:字元常量     ‘a‘,‘A‘,‘0‘

     E:布爾常量     true,false

     F:空常量  null(後面講)

(4)在Java中針對整數常量提供了四種表現形式

     A:二進位  由0,1組成。以0b開頭。

     B:八進位  由0,1,...7組成。以0開頭。

     C:十進位  由0,1,...9組成。整數預設是十進位。

     D:十六進位     由0,1,...9,a,b,c,d,e,f(大小寫均可)組成。以0x開頭。

5、計算出十進位46對應的二進位,八進位,十六進位的值。

二進位:101110

八進位:56

十六進位:2E

6、什麼是變數?變數的定義格式?要使用變數需要注意什麼?

(1)在程式的執行過程中,其值在某個範圍內可以發生改變的量

(2)變數的定義格式:

     A:資料類型 變數名 = 初始化值;

     B:資料類型 變數名;

變數名 = 初始化值;

7、Java中的資料類型分幾類?基礎資料型別 (Elementary Data Type)有哪些?

(1)分類:

     A:基礎資料型別 (Elementary Data Type):4類8種

     B:引用資料類型:類,介面,數組。

(2)基礎資料型別 (Elementary Data Type)

     A:整數             佔用位元組數

          byte          1

          short              2

          int           4

          long          8

     B:浮點數

          float              4

          double             8

     C:字元

          char          2

     D:布爾

          boolean            1   

     注意:

          整數預設是int類型。浮點數預設是double。

          長整數要加L或者l。單精確度的浮點數要加F或者f。

8、資料類型轉換:

隱式轉換:

強制轉換:

第一題:

byte b1=3,b2=4,b;

     b=b1+b2;

     b=3+4;

哪句是編譯失敗的呢?為什麼呢?

b=b1+b2;編譯失敗。因為b1+b2結果為int,不是byte。

第二題:

     byte  by = 130;

有沒有問題?有問題如何解決?結果是多少呢?

錯誤,byte 範圍是 -128到127( -2的7次方到2的7次方-1)

Day03

1、常見的算術運算子有哪些?

常見預算符有+,-,*,/,%,++,--

  +運算子的作用有哪些?

     a:加法b:正號c:字串串連符

  除法和取餘的區別?

     資料做除法操作的時候,/取得是商,%取得是餘數

  ++和--的使用規則?

a:他們的作用是自增或者自減

     b:使用

     **單獨使用

          放在操作資料的前面和後面效果一樣。

          a++或者++a效果一樣。

     **參與操作使用

          放在運算元的前面:先自增或者自減,再參與操作

          int a = 10;int b = ++a;

          放在運算元的後面:先參與操作,再自增或者自減

          int a = 10;int b = a++;

2、常見的賦值運算子有哪些?

常見的賦值運算子有=,+=,-=,*=,/=,%=等。

  +=運算的作用是什麼?

     將符號兩邊的值相加並將結果賦值給符號左邊。

  擴充的賦值運算子有什麼特點?

     隱含了自動強制轉換。

3、short s = 1; s = s + 1;有沒有問題?如果有怎麼解決?

     有問題,s+1結果為類型為int,可以進行強制轉換。

   short s = 1; s += 1;有沒有問題?如果有怎麼解決?

沒有問題。

4、常見的關係運算子有哪些?

小於

a<b

a小於b時返回真;否則返回假

LT

<=

小於等於

a<=b

a小於等於b時返回真;否則返回假

LE

大於

a>b

a大於b時返回真;否則返回假

GT

>=

大於等於

a>=b

a大於等於b時返回真;否則返回假

GE

==

等於

a==b

a等於b時返回真;否則返回假

EQ

!=

不等於

a!=b

a不等於b時返回真;否則返回假

NE

關係運算子的結果有什麼特點?

不是真就是假,不是假就是真。

5、常見的邏輯運算子有哪些?

     常見邏輯運算子有&,|,^,!,&&,||

  &和&&的區別是什麼?

      &&結果和&是一樣的,只不過有短路效果。左邊是false,右邊不執行。

  |和||的區別是什麼?

     ||結果和|是一樣的,只不過有短路效果。左邊是true,右邊不執行。

6、位元運算符^的特點是什麼?

     一個資料針對另一個資料位元異或兩次,該數不變。

7、如何?對兩個整數變數的值進行互換。

    例如交換兩個整數a=10100001,b=00000110的值

    a = a^b;   //a=10100111
    b = b^a;   //b=10100001
    a = a^b;   //a=00000110

 8、三元運算子的格式是什麼?

比較運算式?運算式1:運算式2;

  執行流程是什麼?

(1)首先計算比較運算式的值,看是true還是false。

(2)如果是true,運算式1就是結果。

(3)如果是false,運算式2就是結果。

9、使用三元運算子完成如下練習

比較兩個數是否相等 A==B?true:false;

     擷取兩個數中最大值 A>=B?A:B;

     擷取三個數中最大值 (A>B?(A>C?A:C):(B>C?B:C));

10、流程式控制制語句有幾種?

     (1)順序結構 從上往下,依次執行

     (2)選擇結構    按照不同的選擇,執行不同的代碼

     (3)迴圈結構 做一些重複的代碼

11:if語句的格式有幾種?注意事項是什麼?分別在什麼時候使用?

(1)三種格式

          A:格式1

              if(比較運算式) {

                   語句體;

              }

     B:格式2

              if(比較運算式) {

                   語句體1;

              }else {

                   語句體2;

              }   

     C:格式3

              if(比較運算式1) {

                   語句體1;

              }else if(比較運算式2){

                   語句體2;

              }

              ...

              else {

                   語句體n+1;

              }

(2)注意事項

     A:比較運算式無論簡單還是複雜,結果是boolean類型

     B:if語句控制的語句體如果是一條語句,是可以省略大括弧的;如果是多條,不能省略。建議:永遠不要省略。

     C:一般來說,有左大括弧,就沒有分號,有分號,就沒有左大括弧。

     D:else後面如果沒有if,是不會出現比較運算式的。

     E:三種if語句其實都是一個語句,只要有一個執行,其他的就不執行。

12:看程式寫結果:請自己獨立分析,先不要編譯運行。

第一題

int x = 1,y = 1;

if(x++==2 & ++y==2)

{x =7;}

System.out.println("x="+x+",y="+y); 

輸出:x=2,y=2

---------------------------------------------------

第二題

int x = 1,y = 1;

if(x++==2 && ++y==2)

{x =7;}

System.out.println("x="+x+",y="+y);

輸出:x=2,y=1

---------------------------------------------------

第三題

int x = 1,y = 1;

if(x++==1 | ++y==1)

{x =7;}

System.out.println("x="+x+",y="+y);

輸出:x=7,y=2

---------------------------------------------------

第四題

int x = 1,y = 1;

if(x++==1 || ++y==1)

{x =7;}

System.out.println("x="+x+",y="+y);

輸入:x=7,y=1

---------------------------------------------------

第五題

boolean b = true;

if(b==false)

     System.out.println("a");

else if(b)

     System.out.println("b");

else if(!b)

     System.out.println("c");

else

     System.out.println("d");

輸出:b

---------------------------------------------------

13:編寫代碼實現如下內容:if語句實現

考試成績分等級。

     90~100    A等。

     80-89     B等。

     70-79     C等。

     60-69     D等。

     60以下E等。

請根據給定成績,輸出對應的等級。

public static void main(String[] args) {

     // TODO Auto-generated method stub

     int score=85;

     if(score>=90&&score<=100){

          System.out.println("A");

     }else if(score>=80&&score<90){

          System.out.println("B");

     }else if(score>=70&&score<80){

          System.out.println("C");

     }else if(score>=60&&score<70){

          System.out.println("D");

     }else if(score>=0&&score<60){

          System.out.println("E");

     }else{

          System.out.println("score error !");

     }      

}

 

Java複習第一天

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.