课程实验代码及动手动脑测试
枚舉類型測試代碼:
public class EnumTest {public static void main(String[] args) {Size s = Size.SMALL;Size t = Size.LARGE;// s和t引用同一個對象?System.out.println(s == t); //// 是原始數(shù)據(jù)類型嗎? System.out.println(s.getClass().isPrimitive());// 從字符串中轉(zhuǎn)換Size u = Size.valueOf("SMALL");System.out.println(s == u); // true// 列出它的所有值for (Size value : Size.values()) {System.out.println(value);}}}enum Size {SMALL, MEDIUM, LARGE };
結(jié)論:枚舉類型是引用類型!枚舉不屬于原始數(shù)據(jù)類型,它的每個具體值都引用一個特定的對象,相同的值則引用一個對象。可以使用“==”和equals()方法直接比對枚舉變量的值,換句話說,對于枚舉
變量,用“==”和equals()方法執(zhí)行的結(jié)果是等價的。枚舉類型中values()方法的作用是獲取枚舉類中的所有變量,并作為數(shù)組返回。
?
使用兩個輸入框輸入數(shù)據(jù)和一個輸出框輸出輸入兩個數(shù)據(jù)的和
//An addition program import javax.swing.JOptionPane; // import class JOptionPanepublic class Addition {public static void main(String args[]) {String firstNumber, // first string entered by usersecondNumber; // second string entered by userint number1, // first number to addnumber2, // second number to addsum; // sum of number1 and number2// read in first number from user as a string firstNumber = JOptionPane.showInputDialog("Enter first integer");// read in second number from user as a string secondNumber = JOptionPane.showInputDialog("Enter second integer");// convert numbers from type String to type int number1 = Integer.parseInt(firstNumber);number2 = Integer.parseInt(secondNumber);// add the numbers sum = number1 + number2;// display the results JOptionPane.showMessageDialog(null, "The sum is " + sum, "Results", JOptionPane.PLAIN_MESSAGE);System.exit(0); // terminate the program } }
調(diào)用了Java中swing類進行窗口的建立,并利用將字符串轉(zhuǎn)化為數(shù)字進行數(shù)字的相加。
?
public class test {private static int value = 1;public static void main(String[] args) {// TODO Auto-generated method stubint value = 2;System.out.println(value);}}
Java中變量遵循“同名變量屏蔽原則”(個人理解:就近原則)
TestDouble代碼測試
?
public class TestDouble {public static void main(String args[]) {System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));System.out.println("4.015 * 100 = " + (4.015 * 100));System.out.println("123.3 / 100 = " + (123.3 / 100));} }
輸出結(jié)果:
?結(jié)論:使用double類型的數(shù)據(jù)進行計算時,其結(jié)果是不精確的(與浮點數(shù)在計算機內(nèi)部的表示方法有關(guān))。
?
?
使用BigDecimal類進行測試
import java.math.BigDecimal;public class TestBigDecimal {public static void main(String[] args) {BigDecimal f1 = new BigDecimal("0.05");BigDecimal f2 = BigDecimal.valueOf(0.01);BigDecimal f3 = new BigDecimal(0.05);System.out.println("下面使用String作為BigDecimal構(gòu)造器參數(shù)的計算結(jié)果:");System.out.println("0.05 + 0.01 = " + f1.add(f2));System.out.println("0.05 - 0.01 = " + f1.subtract(f2));System.out.println("0.05 * 0.01 = " + f1.multiply(f2));System.out.println("0.05 / 0.01 = " + f1.divide(f2));System.out.println("下面使用double作為BigDecimal構(gòu)造器參數(shù)的計算結(jié)果:");System.out.println("0.05 + 0.01 = " + f3.add(f2));System.out.println("0.05 - 0.01 = " + f3.subtract(f2));System.out.println("0.05 * 0.01 = " + f3.multiply(f2));System.out.println("0.05 / 0.01 = " + f3.divide(f2));} }
結(jié)論:在構(gòu)建BigDecima對象時應(yīng)使用字符串而不是double類型,否則仍有可能引發(fā)計算精度問題。
?
?對Java中+連接字符串的問題的思考
int x=100;int y=200;System.out.println("x+y="+x+y);System.out.println("x+y="+(x+y));
結(jié)論:從第一個字符串以后都默認為字符串(如果第二個變量為整型依舊看作字符串處理,除非采用括號優(yōu)先運算)。
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/weixiao1717/p/11567726.html
總結(jié)
以上是生活随笔為你收集整理的课程实验代码及动手动脑测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 6s换屏多少钱啊?
- 下一篇: 买一辆50万的半挂车,需要多长时间才能回