1. 程式人生 > >程式設計素養-Day002

程式設計素養-Day002

標題JavaScript 程式設計題

下面兩個函式的返回值是一樣的嗎?為什麼?

function foo1() {
	return {
		bar: "hello"
	};
}

function foo2() {
    return
	{
		bar: "hello"
	};
}

在上述情況中,為了正確解析程式碼,就不會自動填充分號了,但是對於 return 、break、continue 等語句,如果後面緊跟換行,解析器一定會自動在後面填充分號(;),所以上面的第二個函式就變成了這樣:

function foo2() {
	return;
	{
		bar: "hello"
	};
}

所以第二個函式是返回 undefined。

MySQL 程式設計題

用一條 SQL 語句,查詢出每門課都大於 80 分的學生姓名。
在這裡插入圖片描述

SELECT DISTINCT name FROM student_score
WHERE name NOT IN (SELECT DISTINCT name FROM student_score WHERE score<=80);

或者

SELECT name FROM student_score GROUP BY name HAVING MIN(score)>80;

本人比較喜歡第二種寫法

Java 程式設計題

一球從 100 米高度自由落下,每次落地後反跳回原高度的一半;再落下,求它在第 10 次落地時,共經過多少米?第 10 次反彈多高?
方法1

public static void main(String[] args) {
		float h = 100;
		float sum = 0;
		for ( int i = 1; i <= 10; i++) {
			sum += h ;
			h = h/2;
			sum += h;
			System.out.println("第" + i + "次反彈高度為:" + h);
		}
		System.out.println(sum);
	
	}

在這裡插入圖片描述

方法2

package test;

public class D2 {
	
	public static void D(double height, int t) {
		/**height 開始高度
		 * sum經過的距離
		 * t 次數
		 * heightk反彈高度
		 */
		double sum = 0;
		double heightk = 0;
		for (int i =1; i <=t; i++) {
			if (i == 1) {
				sum += height;
				heightk = height/2;
				
			} else {
				sum += heightk * 2;
				heightk = heightk/2;;
			}
		}
		
		System.out.println("第十次經過" + sum);
		System.out.println("第十次高度" + heightk);
	}
	
	
	public static void main(String[] args) {
		D(100, 10);
	}

}

在這裡插入圖片描述