201711671119《Java程式設計》第二週學習總結
教學內容總結
第二章
1.型別轉換運算
①型別按精度由低到高排列:byte short char int long float double
②當把級別低的變數的值付給級別高的變數時,系統自動完成資料型別的轉換
當把級別高的變數的值付給級別低的變數時,需使用型別轉換運算,格式:
(型別名)要轉換的值;
eg.
public class Example2_2 { public static void main(String args[]) { byte b=22; int n=129; float f=123456.67890f; double d=123456789.123456789; System.out.println("b= "+b); System.out.println("n= "+n); System.out.println("f= "+f); System.out.println("d= "+d); b=(byte)n;//導致精度損失 f=(float)d;//導致精度損失 System.out.println("b= "+b); System.out.println("f= "+f); } }
2.輸入輸出資料
①輸入基本資料
Scanner是JDK1.5新增的一個類,可使用該類建立一個物件:
Scanner reader=new Scanner(System.in);
import java.util.Scanner; public class Example2_3 { public static void main (String args[]) { System.out.println("請輸入若干個數,每輸入一個回車確認"); System.out.println("最後輸入數字0結束輸入操作"); Scanner reader = new Scanner(System.in); double sum=0; double x=reader.nextDouble(); while(x!=0) { sum=sum+x; x=reader.nextDouble(); } System.out.println("sum="+sum); } }
(“importjava.util.*;”和“importjava.util.Scanner;”的區別有以下幾點:
1、“importjava.util.*;”表示的是把util這個包下的全部類匯入到程式中;而“importjava.util.Scanner;”表示的是隻把util包下的Scanner類匯入到程式中;
2、匯入“importjava.util.*;”後程序中後面如果要用到util包裡面的別的類都不需要再重新匯入包了,而如果匯入“importjava.util.Scanner;”的話,程式中後面如果要用到util包的別的類,都要再次匯入這個類對應的包才能使用;
3、*表示的是萬用字元,包括util的所有類,而Scanner表示的是一個具體的類。
實際開發中都採用“importjava.util.Scanner;”這種用法,因為程式中沒用到的包匯入的話只會影響程式效率。)
②輸出基本型資料
System.out.println() 輸出資料後換行 System.out.print() 輸出資料後不換行
另外,JDK1.5新增了和C語言中printf函式類似的輸出資料的方法,格式:
System.out.printf("格式控制部分",表示式1,...,表示式n);
格式控制符:
%d: int型 %c:char型 %f:float型,小數部分最多保留6位 %s:字串資料
%md:輸出的int型資料佔m列 %m.nf:輸出的float型資料佔m列,小數點保留n位
3.陣列
①陣列是相同型別的變數按順序組成的一種複合型資料型別
②宣告陣列
eg.
//一維陣列宣告格式
float a[];
int []a;
//聲明瞭一個int型一維陣列a和一個int型二維陣列b
int []a,b[];
int a[],b[][];
(Java不允許在宣告陣列中的方括號內指定陣列元素的個數)
③為陣列分配元素
格式:eg.
boy=new float[4];
宣告和建立陣列可一起完成:
float boy[]=new float[4];
④陣列元素的使用
⑤length的使用
⑥陣列的初始化
⑦陣列的引用
eg.
public class Example2_4 {
public static void main(String args[]) {
int a[]= {1,2,3,5};
int b[]= {100,200,300};
System.out.println("陣列a的元素個數="+a.length);
System.out.println("陣列b的元素個數="+b.length);
System.out.println("陣列a的引用="+a);
System.out.println("陣列b的引用="+b);
a=b;
System.out.println("陣列a的元素個數="+a.length);
System.out.println("陣列b的元素個數="+b.length);
System.out.println("a[0]="+a[0]+",a[1]="+a[1]+",a[2]="+a[2]);
System.out.println("b[0]="+b[0]+",b[1]="+b[1]+",b[2]="+b[2]);
}
}
程式碼除錯中的問題和解決過程
這周敲的程式碼大多都按課本上的程式碼敲的,目前還沒什麼問題。先熟悉熟悉程式碼格式。
學習進度條
程式碼行數(新增/累積) | 部落格量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 200/200 | 1/1 | 10/10 | |
第二週 | 300/500 | 1/2 | 15/25 |