1. 程式人生 > >java基礎練習 (更新至11.9)

java基礎練習 (更新至11.9)

java基礎練習

資料型別

1.新建一個JAVA工程HelloJava,建立一個test包,新建一個FristDemo類,寫一個main方法,定義兩個int 型別的變數 a 和 b ,分別列印輸出a與b的‘加/減/乘/除/取餘’的結果。

package test;
public class FristDemo {
	public static void main(String[] args){
		int a = 4;
		int b = 2;
		System.out.println("a+b="+(a+b));
		System.out.println("a-b="
+(a-b)); System.out.println("a*b="+(a*b)); System.out.println("a/b="+(a/b)); } }

2.在test包下繼續建立一個SecondDemo類,寫一個main方法,定義一個int型別的變數 i ,輸出這個變數的3次方的結果。

package test;
public class SecondDemo {
       public static void main(String[] args) {
        int i = 2;
        System.out.println("i的三次方=" + ((
int)Math.pow(i,3))); } }

3.在test包下繼續建立一個ThirdDemo類,寫一個main方法,定義兩個double型別的變數df和ds,分別將他們的‘加/減/乘/除的結果賦值給一個新的變數res,並列印輸出每一個結果。

package test;
public class ThirdDemo {
	public static void main(String[] args){
		double df = 3;
		double ds = 6;
		double res = df+ds;
		System.out.println("df+ds="+res);
		res =
df-ds; System.out.println("df-ds="+res); res = df*ds; System.out.println("df*ds="+res); res = df/ds; System.out.println("df/ds="+res); } }

4.新建一個工程MyProject,建立一個demo包,新建一個TestOne類,在main方法中定義兩個boolean 型別的變數flag和mark ,將他們的“短路與”和“短路或”的邏輯運算結果賦值給新的變數result,並列印輸出這兩個結果。

package demo;
public class TestOne {
	public static void main(String[] args){
		boolean flag= false;
		boolean mark= true;
		boolean result = flag && mark;
		System.out.println("短路與:"+result);
		result = flag || mark;
		System.out.println("短路或:"+result);
	}
}

5.在demo包下繼續新建一個TestTwo類,在main方法中定義三個int型別的變數 x y z,任意賦值,判斷(x+y)與 z 的關係是“大於”時的結果,“小於”時的結果,“等於”時的結果,將三個結果賦值給一個變數res,並列印輸出每一個結果。

package demo;
public class TestTwo {
	public static void main(String[] args) {
		int x = 1;
		int y = 2;
		int z = 5;
		boolean res ;
		res = (x+y)>z?true:false;
		System.out.println("(x+y)>z為:"+res);
		res = (x+y)<z?true:false;
		System.out.println("(x+y)<z為:"+res);
		res = (x+y)==z?true:false;
		System.out.println("(x+y)=z為:"+res);
	}
}

6.在demo包下繼續新建一個TestThree類,在main方法中定義三個 int型別變數 x, y, z,求出三個數中最小的那個數是多少,列印輸出。(用三元運算子)。

package demo;
public class TestThree {
	public static void main(String[] args){
		int x = 3;
		int y = 1;
		int z = 2;
		int min1 = x<y?x:y;
		int min2 = z<min1?z:min1;
		System.out.println("最小的數為:"+min2);
	}
}

7.在MyProject這個工程中建立一個hello包,新建一個TestSwap類,在main方法中任意定義兩個int型別的變數a=13和b=7,交換a和b的值,並列印交換後的結果(兩種方法)

package hello;
public class TestSwap {
	public static void main(String[] args) {
		int a = 13;
		int b = 7;
		// 第一種
		int z;
		z = a;
		a = b;
		b = z;
		System.out.println("第一種:交換後a=" + a + "  " + "b=" + b);
		// 第二種
		int temp = a + b;
		a = temp - b;
		b = temp - a;
		System.out.println("第二種:交換後a=" + a + "  " + "b=" + b);
		
		// 第三種
		swap(a, b);
		System.out.println("第三種:交換後a=" + a + "  " + "b=" + b);
	}
	public static void swap(int a, int b) {
		a = 13;
		b = 7;
	}
}

控制語句

  1. 商品換購系統 滿100元可參與換購 手動輸入本次消費的金額:滿100元可 選項一: +1元換購滑鼠 選項二: +5元換購鍵盤 選項三: +10元換購充電寶 選項四: +20元換購行動硬碟 根據輸入的選項來判斷換購的物品,並顯示最終消費 否則直接結算顯示消費金額。
package test;
import java.util.Scanner;
//商品換購系統
public class shopping {
	public static void main(String[] args) throws InterruptedException {
		//全域性變數k,用於do while迴圈
		int k=1;
		//全域性變數sum,用於統計消費金額
		double sum = 0;
		do{
			//鍵盤輸入Scanner
			Scanner s = new Scanner(System.in);
			System.out.println("請輸入本次消費的金額:");
			double money = s.nextInt();
			if (money < 100 && money > 0) {
				System.out.println("本次消費金額不足100元,無法換購,請繼續消費");
				//結束當前迴圈,返回開始進行下次迴圈
				continue;
			} else if (money >= 100) {
				System.out.println("本次消費的金額:" + money + "元,可參與換購");
				System.out.println("選項一: +1元換購滑鼠");
				System.out.println("選項二: +5元換購鍵盤");
				System.out.println("選項三: +10元換購充電寶");
				System.out.println("選項四: +20元換購行動硬碟");
				System.out.println("請輸入您想換購的選項(1,2,3,4)");
				//輸入選擇的選項並賦值給choose
				int choose = s.nextInt();

				//延遲1秒
				Thread.sleep(1000);
				System.out.println("電腦正在計算");
				Thread.sleep(1000);

				//如果選擇1
				if (choose == 1) {
					money = money + 1;
					System.out.println("換購滑鼠成功,本次消費" + money + "元");
				}
				//如果選擇2
				if (choose == 2) {
					money = money + 5;
					System.out.println("換購鍵盤成功,本次消費" + money + "元");
				}
				//如果選擇3
				if (choose == 3) {
					money = money + 10;
					System.out.println("換購充電寶成功,本次消費" + money + "元");
				}
				//如果選擇4
				if (choose == 4) {
					money = money + 20;
					System.out.println("換購行動硬碟成功,本次消費" + money + "元");
				}
			} else {
				System.out.println("金額有誤,請重新輸入");
				continue;
			}

			Scanner a = new Scanner(System.in);
			System.out.println("您要繼續換購嗎?  1.繼續  2.回家了");
			k = a.nextInt();
			if(k!=1&&k!=2){
				System.out.println("違反規則輸入,本次購物作廢,請重新換購");
				continue;
			}
			//之前總消費金額加上這次的金額
			sum = sum+money;
		}
		//當k不等於2的時候迴圈,等於2時跳出迴圈
		while(k!=2);
		System.out.println("總共消費了"+sum+"元,"+"回家看電視了~");
	}
}
  1. 機票訂購系統 假設機票的原價是1000元。 根據淡季,旺季 以及 頭等艙 經濟艙 來判斷機票的最終價格。 首先使用者輸入選擇旅遊的時間 :1淡季 2旺季 然後繼續輸入選擇艙位:1頭等艙 2經濟艙 最後顯示最終的機票價格 若輸入其他數字則提示資訊輸入有誤並結束程式 注: 5 6 7月, 9 10 11月為旺季,其他為淡季, 淡季經濟艙打6折 ,頭等艙打7折 旺季經濟艙打8折,頭等艙打9折
package test;
import java.util.Scanner;
//	機票訂購系統
public class air_ticket {
	public static void main(String[] args) throws InterruptedException {
		// 全域性變數k,用於do while迴圈
		int k = 1;
		// 全域性變數space,用於選擇的艙位
		int space = 0;
		// 全域性變數sum,用於統計總車票費
		double sum = 0;
		// 全域性變數ticket,用於票價
		double ticket = 1000;
		do {
			//區域性變數month_choose,用於選擇旅遊時間
			int month_choose;
			//鍵盤輸入
			Scanner s = new Scanner(System.in);
			System.out.println("請輸入旅遊的時間(1-12):");
			int month = s.nextInt();
			if (month <= 0 || month > 12) {
				System.out.println("您不在地球,請返回地球旅遊");
				continue;
			}

			do {
				System.out.println("請選擇您想要的艙位:1.頭等艙  2.經濟艙");
				space = s.nextInt();
				if (space != 1 & space != 2)
					System.out.println("請選擇正確的艙位");
			} while (space != 1 & space != 2);

			//延遲輸入1秒
			Thread.sleep(1000);
			System.out.println("電腦正在計算");
			Thread.sleep(1000);

			if (month >= 5 && month <= 11 && month!=8) {
				System.out.print("您旅遊的時間是旺季,");
				if (space == 1) {
					ticket = ticket * 0.9;
					System.out.println("選擇的是頭等艙");
					System.out.println("為您打了9折,最終的票價為" + ticket + "元");
				}
				if (space == 2) {
					ticket = ticket * 0.8;
					System.out.println("選擇的是經濟艙");
					System.out.println("為您打了8折,最終的票價為" + ticket + "元");
				}
			} else if (month <= 0 || month > 12) {
				System.out.println("您不在地球,請返回地球旅遊");
				continue;
			} else {
				System.out.print("您旅遊的時間是淡季,");
				if (space == 1) {
					ticket = ticket * 0.7;
					System.out.println("選擇的是頭等艙");
					System.out.println("為您打了7折,最終的票價為" + ticket + "元");
				}
				if (space == 2) {
					ticket = ticket * 0.6;
					System.out.println("選擇的是經濟艙");
					System.out.println("為您打了6折,最終的票價為" + ticket + "元");
				}
			}
			
			Scanner a = new Scanner(System.in);
			System.out.println("您要繼續訂票嗎? 1.繼續  2.關閉");
			k = a.nextInt();
			if(k!=1&&k!=2){
				System.out.println("違反規則輸入,本次訂票作廢,請重新訂票");
				continue;
			}
			//上次總票價加上這次的票價
			sum = sum + ticket;
		} while (k != 2);
		System.out.println("此次訂票總共花費" + sum + "元,歡迎下次訂票");
	}
}

  1. 猜拳遊戲 玩家出拳 判斷出拳文字 (判斷玩家輸入有誤情況) 電腦出拳 判斷出拳的文字 判斷勝負
package test;
import java.util.Random;
import java.util.Scanner;
//猜拳遊戲
public class guess2 {
	public static void main(String[] args) throws InterruptedException  {
		int k =1;
		int win = 0;
		int deuce = 0;
		int lose = 0;
		do{
			Scanner s = new Scanner(System.in);
			System.out.println("請輸入你想出的(1.石頭 2.剪刀 3.布 0.退出遊戲):");
			int guess = s.nextInt();
			if(guess ==1){
				System.out.println("你選擇出石頭");
			}else if(guess ==2){
				System.out.println("你選擇出剪刀");
			}else if(guess == 3){
				System.out.println("你選擇出布");
			}else if(guess == 0){
				System.out.println("退出遊戲");
				break;
			}else{
				System.out.println("不存在,請重新選擇");
				continue;
			}
			
			//生成隨機數
			Random r = new Random();
			//+1的目的是因為,nextInt(3)的結果會是 0,1,2 為了得到1,2,3 必須+1
			int computer = r.nextInt(3)+1;
			Thread.sleep(1000);
			System.out.println("電腦正在思考");
			Thread.sleep(1000);
			if(computer == 1){
				System.out.println("電腦選擇出石頭");
			}else if(computer ==2){
				System.out.println("電腦選擇出剪刀");
			}else{
				System.out.println("電腦選擇出布");
			}
			
			Thread.sleep(1000);
			//玩家獲勝有這三種可能:玩家出石頭,電腦出剪刀;玩家出剪刀,電腦出布;玩家出布,電腦出石頭
			if((guess==1&&computer==2) || (guess ==2 &&computer ==3)|| (guess ==3 && computer ==1)){
				System.out.println("玩家獲勝");
				win++;
			}else if(guess==computer){
				System.out.println("平局");
				deuce++;
			}else{
				System.out.println("電腦獲勝");
				lose++;
			}
			Scanner a = new Scanner(System.in
            
           

相關推薦

java基礎練習 更新11.9

java基礎練習資料型別控制語句迴圈語句陣列(一) 資料型別 1.新建一個JAVA工程HelloJava,建立一個test包,新建一個FristDemo類,寫一個main方法,定義兩個int 型別的變數 a 和 b ,分別列印輸出a與b的‘加/減/乘/除/取餘’

java基礎10多線程2

java、多線程線程的常用方法 public final void join() 線程加入 作用:等待該線程中止,其他線程才能繼續搶著執行 public static void yield(): 線程禮讓 作用:暫停當前正在執行的線程對象,並執行其他線程。讓線程間的執

selenium之 chromedriver與chrome版本映射表更新v2.34

2.4 映射 clas center log tab 更新 enter .com 看到網上基本沒有最新的chromedriver與chrome的對應關系表,便興起整理了一份如下,希望對大家有用: chromedriver版本支持的Chrome版本 v

Java基礎知識重載和覆蓋

個數 nbsp 大於等於 異常 產生 解決 特性 函數 編譯失敗 重載(overload): 在一個類中,如果出現了兩個或者兩個以上的同名函數,只要它們的參數的個數,或者參數的類型不同,即可稱之為該函數重載了。 即當函數同名時,只看參數列表。和返回值類

java基礎複習繼承和多型

繼承中程式碼的執行順序 1.父類靜態物件,父類靜態程式碼塊 2 .子類靜態物件,子類靜態程式碼塊 3.父類非靜態物件,父類非靜態程式碼塊 4.父類建構函式 5.子類非靜態物件,子類非靜態程式碼塊 6.子類建構函式 關於靜態方法的繼承: 老師ppt上: 1、與例

java基礎複習抽象類和介面

介面中的資料域只能是public static final,方法只能是public abstract 由於這個原因,這些修飾也可以忽略。 資料域只能是static final的原因: stackoverflow上: An interface can’t ha

selenium之 chromedriver與chrome版本對映表更新v2.43

看到網上基本沒有最新的chromedriver與chrome的對應關係表,便興起整理了一份如下,希望對大家有用: chromedriver版本     支援的Chrome版本 v2.43     v69-71 v2.42  &

【Selenium】Chromedriver版本更新v2.41與Chrome版本更新69對映關係

Chromedriver版本 支援的Chrome版本 v2.41 v67-69 v2.40 v66-68 v2.39 v66-68

Java基礎總結附帶jdk路徑配置

一、概述 java的三中技術架構 : EE:開發企業環境下應用程式,主要針對web SE:完成桌面應用程式的開發,是EE、ME的基礎 ME:開發電子消費產品和嵌入式裝置,如手機程式 -----------------------------------------------

藍橋杯練習系統試題集--基礎練習含C/C++答案

藍橋杯練習系統試題集(二)–基礎練習(含C/C++答案) 1 基礎練習 閏年判斷 時間限制:1.0s 記憶體限制:256.0MB 提交此題 錦囊1 錦囊2 問題描述 給定一個年份,判斷這一年是不是閏年。 當以下情況之一滿足時

JAVA核心技術I---JAVA基礎知識數據類型

char 進制 color pri bsp 3.4 clas 文件 code 一:基本類型 –boolean 布爾 –byte 字節 –short/int/long 短整數/整數/長整數 –float/double

JAVA核心技術I---JAVA基礎知識抽象類和介面

一:抽象類 (一)定義 類:屬性(0或多個)+方法(0或多個)一個完整(健康)的類:所有的方法都有實現(方法體)類可以沒有方法,但是有方法就肯定要有實現,這才是一個完整的類一個完整的類才可以被例項化,被new出來如果一個類暫時有方法未實現,需要被定義為抽象類 (二)實現 抽象類關鍵字a

JAVA核心技術I---JAVA基礎知識Jar檔案匯入匯出

一:Jar初識 (一)定義 同c++中的DLL一樣 jar檔案,一種副檔名為jar的檔案,是Java所特有的一種檔案格式,用於可執行程式檔案的傳播。 jar檔案實際上是一組class檔案的壓縮包 (二)優勢 –jar檔案可以包括多個class,比多層目錄更加簡潔實用–jar檔案

JAVA核心技術I---JAVA基礎知識查漏補缺private

一:private對於類和物件 private是隻有這個類內部可以訪問(類的成員函式和定義初始化) private是類之間的限制,而不是對物件的限制《重點》 同類物件是可以直接訪問物件的私有成員 class priTest{ private int age;

Java基礎知識自己不會的03

1.引用型別書寫格式  格式:型別 變數名 = new 型別();     (1)引用資料型別和基本資料型別,定義的區別    eg. Scanner sc = new Scanner();//引用型別        int a =1;//基本資料型別        基本資料

【Selenium】Chromedriver版本更新v2.43與Chrome版本更新70對映關係

Chromedriver版本 支援的Chrome版本 v2.43 v69-71 v2.42 v68-70 v2.41 v67-69 v2.40 v66-68

Java基礎語法練習

blog 情況 小寫字母 最終 循環語句 art -1 temp spa Java基礎語法 今日內容介紹 u 循環練習 u 數組方法練習 第1章 循環練習 1.1 編寫程序求 1+3+5+7+……+99 的和值。 題目分析: 通過觀察發現,本題目要實現的奇數(範圍1-100

java基礎筆記9----集合之list集合

類型安全 sta clas bsp i++ 效率 contains 有序 void 集合 對於集合的理解,集合是一個容器,用於存儲和管理其它對象的對象 集合,首先了解所有集合的父接口----collection 特點:存儲任意object元素 方法 boolean add(

java===java基礎學習11---繼承

gets post staf extends manage 方法 xtend 新的 部分 下面是由繼承Employee 類來定義Manager 類的格式, 關鍵字extends 表示繼承。 public class Manager extends Employee {  

Java基礎練習02--二分查詢Binary Search

       二分查詢也稱折半查詢(Binary Search),它是一種效率較高的查詢方法。但是,折半查詢要求線性表必須採用順序儲存結構,而且表中元素按關鍵字有序排列