Jav學習筆記二之內建資料類型和三種迴圈

來源:互聯網
上載者:User
1.內建資料類型的學習

Java中的資料類型分為兩種:一種是基礎資料型別 (Elementary Data Type)(也叫內建資料類型),另一種是參考型別。Java中的內建資料類型有8種,分別是byte、short、int、long、float、double、char、boolean。

byte:位元組類型,佔一個位元組的儲存空間,資料範圍是-128~127。

short:短整型,雙位元組,佔兩個位元組的儲存空間,資料範圍是[-327678,32767]。

int:整型,是最基本的資料類型,佔4個位元組的儲存空間,資料範圍是[-2^31,2^31-1]。

long:長整型,佔8個位元組的儲存空間,是所用整型資料中占記憶體最多的。

對於以上四種資料類型,無論哪一種,都有一個特點,通過整型變數存取資料都是精確的,不會出現誤差。還有一點,整數間的任何運算,其結果仍是整數。

實數類型有兩種:單精確度的float和雙精確度的double,這類資料類型的存取都是不準確的。在Java中控制實數的精度(即小數點位元)是這樣的一種格式:

System.out.printf("%10.5f",value);——>保留5位小數。

 char:字元類型,java中的字元類型屬於雙位元組類型,即一個字元由兩個位元組來儲存,它的編碼錶是Unicode編碼,屬於雙位元組編碼。對於一個字元來說,處理要考慮其編碼值,其編碼值從0到65535,即65536個字元,其中包含了大量的漢字。漢字的Unicode編碼範圍為:’\u4e00’-‘\u9fa5’。對於字元類型,可以用編碼值對其賦值。對字元進行強制轉換成int型可以知道其Unicode編碼值。

eg:char  ch1 = 65;char  ch2 ='B';char  ch3 = '漢';syso((int)',');//結果為44

逸出字元的應用:

斷行符號:'\r' (之前不知道這個字元具體有什麼用,測試一下)

作用是'\r'使得游標重新回到這一行的開頭,如果後面有要輸出的內容,會把之前這一行的內容進行覆蓋。

換行:'\n';單引號:'\'';雙引號:'\"';制位表:'\t';(表示間隔一定的制位符輸出)字串表示斷行符號換行:"\r\n"。

boolean:布爾類型,只有兩個值:false和true,分別用來表示真和假的兩種狀態。

eg:

int x = 10;int y =10;boolean b= x>y &(x=y++) >5;System.out.println(x+','+y);   //結果為65 System.out.println("x,y:"+x+','+y);  //結果為x,y:10,11//比較boolean b = x>y && (x = y ++)> 5;  //第二個運算式未進行運算System.out.println(x+','+y);   //結果為64System.out.println("x,y:"+x+','+y); //結果為x,y:10,10

比較&&和&的區別:

&和&&都可以用作邏輯與的運算子,表示邏輯與(and),當運算子的兩邊的運算式都為true時,整個結果才為true,否則只要有一個為false,結果為false。

&&還具有一個短路功能,即如果第一個運算式為false,則不再計算第二個運算式的。就像上述例子一樣。當&操作符兩邊的運算式不是boolean類型,&表示按位與操作。

System.out.println(x+','+y);','字元相當於轉化成起Unicode值與x和y進行了加法運算啦。','字元的Unicode值為44.

2.三種迴圈

1)while迴圈

While迴圈中將計數器定義賦值,迴圈條件判斷,計數器的增減,三個運算式不在同一位置聲明定義。與while有關的迴圈特點基本是迴圈次數不確定(次數是固定的,但是不知道)。

While迴圈退出的情況分為兩種:從while後面的括弧中退出;從迴圈體中退出。

從迴圈體中退出通常設計為恒真迴圈。

eg:

while(true){sum += start;start ++;if(start>end){break;//break關鍵字主要用在迴圈中,用於退出當前層迴圈}}System.out.println("1+2+3+...."+ end + " = " + sum);

2)do-while迴圈

int sum = 0;int start = 1;do{//執行迴圈體sum += start++;}while(start<=100);System.out.println("sum: "+sum);

對於while和do-while,只有一個區別,while迴圈可能一次也不執行,而do-while至少執行一次。對於do-while迴圈來說,它至少執行一次,再來進行判斷。即使第一次判斷條件就為假,迴圈也執行了一次迴圈。

3)for迴圈

for迴圈中將計數器定義賦值,迴圈條件判斷,計數器的增減,三個運算式在同一位置聲明定義。與for有關的迴圈特點基本是迴圈次數是確定的。

eg:for(int i = 0;i<=n ; i++)

常規for迴圈的執行過程:

當計數器初始化(只一次)之後,利用迴圈條件判斷運算式進行判斷,如果為真,則執行迴圈體中的代碼,執行完之後,進入計數器的增加部分,再到判斷運算式中進行判斷,為真,繼續執行,如為假,迴圈結束。依次周而復始。

3.幾個典型例子的說明

1)定義兩個整數,分別用來表示行數和列數,用while迴圈,用字元*列印出來一個矩形。

*****************

*****************

*****************

*****************

用兩個while迴圈控制外層和內層

    private static void PrintRectangle(int m,int n){     int i = 0; //控制行     int j = 0; //控制列     while(i <= m)     {          j=0; //關鍵:每次迴圈一行之後,j都是從零開始        while(j <= n)        {        System.out.print("*");        j++;        }        System.out.println();        i++;      }    }

2)用while迴圈來解決一下“斐波那契數列”問題。

已知有兩個值,f0=0,f1=1;之後每個後面的值都等於前兩個值之和。前面的若干個數為:

0,1,1,2,3,5,8,13,21,…..要求輸出前40項。

private static void PrintFun2(){  // 斐波那契數列問題      int f0 = 0;      int f1 = 1;      int times = 19;      int time = 1;      System.out.printf("%-10d",f0); //調用C語言的輸出格式,控制間距      System.out.printf("%-10d",f1);      while(time <= times){       System.out.printf("%-10d",f0);       System.out.printf("%-10d",f1);       f0 = f0+f1;       f1 = f0+f1;       time++;       }    }

3)列印乘法口訣。

a) 列印原始的乘法口訣

b) 列印沒有重複值的乘法口訣

private static void PrintAllMultiplication(){ //完整的乘法口訣    { int x = 1, y = 1; while (x <= 9) {         y=1;while (y <= 9) { System.out.print(x+"*"+y+"="+x * y+"\t"); //注意要使用\t制位符進行間距的控制。y++; } System.out.print("\n"); x++; } }     }    private static void PrintMultiplication(){ //無重複乘法口訣表    { int x = 1; // int y=1;變數的可見範圍(生命週期)while (x <= 9) { int y = 1;  while (y <= x) { System.out.print(x+"*"+y+"="+x * y+"  "); y++; } System.out.print("\n"); x++; } }     }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.