java學習【課後筆記】,java課後筆記
部落格:http://blog.csdn.net/muyang_ren
請用封裝和構造完成以下練習,無特殊聲明處請將屬性寫成private
練習一:
1) 建立一個學生類
2) 建立四個私人的欄位:name,sex,age,dire
3) 分別為私人的欄位提供屬性
4) 測試:建立學生對象,設定屬性,再分別在控制台列印該學生的基本資料
package lhy.java_1day;class student {private String name="梁惠湧";private char sex='男';private int age=18;private String dire="嵌入式";public String getName() {return name;}public char getSex() {return sex;}public int getAge() {return age;}public String getDire() {return dire;}}public class Test_1 {public static void main(String[] args) {// TODO 自動產生的方法存根student lhyStudent = new student();System.out.println("name: "+lhyStudent.getName());System.out.println("sex : "+lhyStudent.getSex());System.out.println("age : "+lhyStudent.getAge());System.out.println("dire: "+lhyStudent.getDire());}}
練習二:
定義一個Tank類(坦克類),為其定義x(橫座標),y(縱座標),dir(方向:值為上下左右),Type(類型)4個欄位,其存取修飾詞均為公有;
為Tank類定義一個構造方法實現4個欄位的初始化
為Tank類定義一個ShowData方法,控制台列印4個欄位值
建立一個Tank對象,橫座標為10,縱座標為50,方向為右,類型為重型坦克,並通過調用對象的ShowData()方法列印Tank資訊
package lhy.java_1day;class tank{public int x;public int y;public char dir;public String type;public tank() {// TODO 自動產生的建構函式存根this.x = 100;this.y = 200;this.dir = '下';this.type = "重型坦克";}public void ShowData(){System.out.println("x = "+this.x);System.out.println("y = "+this.y);System.out.println("dir = "+this.dir);System.out.println("type = "+this.type);}}public class Test_2 {public static void main(String[] args) {tank tank_01 = new tank();tank_01.ShowData();}}
練習三:
1) 建立一個電腦類:Computer
2) 建立三個欄位:name:電腦名稱,type:電腦品牌,size:尺寸
3) 建立一個建構函式為三個欄位賦初始值
4) 添加一個ShowData方法列印各欄位值
5) 建立一個電腦對象,調用其ShowData();
package lhy.java_1day;class Computer{private String name;private String type;private Double size;public Computer(){this.name = "小新";this.type = "聯想";this.size = 15.6;}public void showData() {System.out.println("name : "+this.name);System.out.println("type : "+this.type);System.out.println("size : "+this.size);}}public class Test_3 {public static void main(String[] args) {Computer lianxiangComputer = new Computer();lianxiangComputer.showData();}}
練習四:
1) 建立一個狗類:Dog
2) 為狗類添加一個name欄位和sex欄位
3) 為name欄位和sex欄位分別提供屬性(name:無校正,sex:只能是”公和母”)
4) 為Dog添加ShowData方法,列印名字和性別
5) 為Dog添加YaRen方法,實現狗咬人功能,YaoRen(string str),如果str是一個”男人”,輸出“汪汪”,如果str是一個”女人”,輸出“喔喔”,如果str是其它的輸出”哇哇”
6) 測試
package lhy.java_1day;class Dog{private String name = "小黑";private char sex = '公';public void showData(){System.out.println("name : "+this.name);System.out.println("sex : "+this.sex);}public void YaoRen(String str){if (str == "男人") {System.out.println("str = "+str);System.out.println("汪汪");}else if (str == "女人") {System.out.println("str = "+str);System.out.println("喔喔");}else {System.out.println("str = "+str);System.out.println("哇哇");}}}public class Test_4 {public static void main(String[] args) {Dog dog = new Dog();dog.showData();dog.YaoRen("男人");dog.YaoRen("女人");dog.YaoRen("小孩");}}
練習五:
1) 建立一個老師類:Teacher
2) 為老師添加欄位:id,name,sex,age,height
3) 分別為欄位添加對應的屬性:
id:int,不用校正
name:string,長度大於一位少於四位
sex:string,只能是男和女
age:int,只能在20-55之間
height:double,只能在1.50-1.80之間
定義一個ShowData方法,列印編號、姓名、性別、身高
4) 建立一個老師對象,調用其ShowData();
package lhy.java_1day;import java.util.Scanner;class Teacher{private int id;private String name;private String sex;private int age;private Double height;public void setId(int id) {this.id = id;}public void setName(String name) {if (name.length()>1 ||(name.length() <4)) {this.name = name;}else {System.out.println("名字長度出錯");System.out.println("請輸入: name");setName(new Scanner(System.in).next());}}public void setSex(String sex) {if (sex.equals("男") || sex.equals("女")) {this.sex = sex;}else {System.out.println("性別輸入錯誤(男 or 女)");setSex(new Scanner(System.in).next());}}public void setAge(int age) {if (age>20&&age<55) {this.age = age;}else {System.out.println("年齡輸入錯誤(20~55)");System.out.println("請輸入: 年齡");setAge(new Scanner(System.in).nextInt());}}public void setHeight(Double height) {if (height>1.5 && height<1.8) {this.height = height;}else {System.out.println("身高輸入錯誤(1.5~1.8)");System.out.println("請輸入: 身高");setHeight(new Scanner(System.in).nextDouble());}}public void showData(){System.out.println(" ID :"+this.id);System.out.println(" name :"+this.name);System.out.println(" sex :"+this.sex);System.out.println(" age :"+this.age);System.out.println("height :"+this.height);}}public class Test_5 {public static void main(String[] args) {Teacher teacher = new Teacher(); Scanner stdin = new Scanner(System.in);System.out.println("請輸入:ID");teacher.setId(stdin.nextInt());System.out.println("請輸入: name");teacher.setName(stdin.next());System.out.println("請輸入: 年齡");teacher.setAge(stdin.nextInt());System.out.println("請輸入: 性別");teacher.setSex(stdin.next());System.out.println("請輸入: 身高");teacher.setHeight(stdin.nextDouble());stdin.close();teacher.showData();}}
練習六:
1) 定義一個水果類:Fruit,內有公有的欄位:name,color,weiDao
2) 定義一個建構函式:為三個欄位賦初始值
3) 為Fruit類添加一個方法public string GetMsg(),返回該水果的基本資料
4) 定義一個榨汁機類:ZhaFruit
5) 為ZhaFruit類添加一個榨水果汁方法:public string GetFruitZhi(Fruit f),返回:
”一杯XX(顏色)的XX(水果名)汁,味道XXX”
6) 在測試類別Program的Main方法內建立一個水果:
名字:蘋果,顏色:青色,味道:酸酸的
7) 調用該水果的GetMsg(),用一個字串變數接收
8) 列印該方法的返回值:”蘋果,青色,酸酸的”
9) 建立一個ZhaFruit榨汁機對象
10) 調用該榨汁機對象的string GetFruitZhi(Fruit f)方法,並傳一個水果(蘋果)對象
11) 調用該榨汁機對象的GetFruitZhi(Fruit f)方法,列印結果為:一杯青色的蘋果汁,味道酸酸的
12) 定義一個水果對象:
名字:桔子,顏色:黃色,味道:甜甜的
13) 調用該榨汁機對象的string GetFruitZhi(Fruit f)方法,並傳一個水果(桔子)對象
14) 調用該榨汁機對象的GetFruitZhi(Fruit f)方法,列印結果為:一杯黃色的桔子汁,味道甜甜的
package lhy.java_1day;class Fruit{public String name;public String color;public String weidao;public Fruit(String name,String color,String weidao){this.name=name;this.color=color;this.weidao=weidao;}public Fruit(){}public String GetMsg(){return this.name+","+this.color+","+this.weidao;}}class ZhaFruit{public String GetFruitZhi(Fruit f){String string ="一杯"+f.color+"的"+f.name+"汁,味道"+f.weidao;return string;}}public class Test_6 {private static String msg;public static void main(String[] args) {Fruit fruit1 = new Fruit("蘋果","青色","酸酸的");msg = fruit1.GetMsg();System.out.println(msg);ZhaFruit zhafuit1 =new ZhaFruit();System.out.println(zhafuit1.GetFruitZhi(fruit1));Fruit fruit2 = new Fruit("桔子","黃色","甜甜的");ZhaFruit zhafuit2 =new ZhaFruit();System.out.println(zhafuit2.GetFruitZhi(fruit2));}}