1. 程式人生 > >java作業(1)

java作業(1)

new 參數類型 for ner float 可以轉化 package 和我 import

第一題:

模仿JavaAppArguments.java示例,編寫一個程序,此程序從命令行接收多個數字,求和之後輸出結果。

(1)設計思想

程序中設置字符串的個數,從鍵盤進行輸入,並且將字符串轉化為數字,再輸出相加後的值。

(2)技術分享

(3)源代碼:

package 第二次上課;

import java.util.Scanner;

public class JavaAppArguments {

public static void main(String[] args) {

//String[] 是java庫裏面有的一個類, 然後定義了一個args的字符串對象

System.out

.println("請輸入三個字符串");

Scanner input = new Scanner(System.in);

String[] arggs =new String[3];

for(int i = 0;i<3;++i) {

//arggs[i] = new String();

arggs[i] = input.next();

}

for(String tmp:arggs) {

System.out.println(tmp);

}

// System.out.println("參數個數:"+args.length); //輸出字符串的個數

int sum = 0;

for (String i : arggs) //就是這種循環格式 args

不可以改變 arg可以改變 從第一個字符串開始循環

{

sum+=Integer.valueOf(i);

//valueOf() 是java裏面的一個靜態函數,可以轉化不同參數類型的數據 此處是將字符串型的數據轉化成int Integer 代表額是轉化為int 也可以轉化為float

}

System.out.println("和為:"+sum); //輸出最後的和

}

}

(4)結果截圖:技術分享技術分享技術分享

第二題:

將課程中的所有動手動腦的問題以及課後實驗性的問題,整理成一篇文檔

  1. 問題: 一個java類文件中,可以有幾個公有類?

一個java類文件中只能有一個公有類;其他類可以有很多。

  1. public static void main(String[] args)中的void必須為void,不可以為其他類型,比如int型,編譯器是不會通過的,main 方法必須返回類 第二次上課.Jada 中的空類型值。
  2. 問題:為什麽java規定作為程序入口點的main() 方法靜態的?

非靜態成員函數在執行前必須先構造並實例化該函數所在的類。如果允許非靜態的main,那麽main函數所在的類必須先進行實例化,那麽就需要再寫個函數去實例化main所在的類,再調用main如果這個實例化代碼也是非靜態的,又要寫個函數去實例化它所在的類。因此,java語言就規定了main必須是靜態的。

  1. 如圖所示代碼,輸出的結果是什麽?

技術分享

結果是 1; 因為Java變量遵循“同名變量的屏蔽原則”前面已經有一個value,並且值為1,所以以後再用value,都會是1.

  1. 運行如下程序,結果是什麽?

public class Test{
public static void main(String args[]){
System.out.println(0.05+0.01);
System.out.println(1.0-0.42);
System.out.println(4.015*100);
System.out.println(123.3/100);
}
};0.060000000000000005
0.5800000000000001
401.49999999999994
1.2329999999999999 和我們想的結果可能並不一樣;不光是在java中,在好多語言中,float和double是不能進行計算的。

  1. 運行以下程序

技術分享

結果為:技術分享

為什麽會有這樣的結果?

第一個輸出結果中,””中本身就是一個字符串,後面的加號默認為數據的鏈接,輸出結果認為一個字符串;第二個輸出中,加號首先進行的是加法運算,然後第二個加號才起到鏈接字符串的作用。

java作業(1)