1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > Java基础语法和面向对象代码汇总

Java基础语法和面向对象代码汇总

时间:2022-10-11 03:44:37

相关推荐

Java基础语法和面向对象代码汇总

基础语法

package com.ly.java1030Summary;import java.util.Scanner;public class Function {/** 需求* 抽奖规则:用户输入的四位数会员号百位数字等于产生的随机数即为幸运会员* 产生随机数的方法:int random = (int)(Math.random()*10);* */public void zhongJiang(){Scanner sc = new Scanner(System.in);System.out.print("请输入你的会员号:");int VipNum = sc.nextInt();int baiwei = (VipNum/100)%10;//生成0-9随机数int random = (int)(Math.random()*10);System.out.println(random);if(baiwei == random){System.out.println(VipNum+"号客户,恭喜你中奖");}else{System.out.println(VipNum+"号客户,谢谢惠顾");}}/** 打印菱形*/public void printLingxing(){for (int i = 0; i < 6; i++) {for (int j = 0; j < 6-i; j++) {System.out.print(" ");}for (int j = 0; j < 2*i-1; j++) {System.out.print("*");}System.out.println();}for (int i = 0; i < 6; i++) {for (int j = 0; j < i; j++) {System.out.print(" ");}for (int j = 0; j < 11-2*i; j++) {System.out.print("*");}System.out.println();}}/** 打印99乘法表*/public void printChenfabiao(){for (int i = 1; i < 10; i++) {for (int j = 1; j <= i; j++) {System.out.print(i+"*"+j+"="+i*j+"\t");}System.out.println();}}/** 根据用户输入数字,打印数字三角形* 将输入代码添加捕获异常*/public void printNumTriangle(){System.out.print("请输入大于1的整数");Scanner sc = new Scanner(System.in);int num = 0;try{num = sc.nextInt();}catch(Exception e){e.printStackTrace();}finally{System.out.println("请输入数字");}for (int i = 0; i < num+1; i++) {for (int j = 0; j < num-i; j++) {System.out.print(" ");}for (int j = 0; j < 2*i-1; j++) {System.out.print(i);}System.out.println();}}}

数组操作

package com.ly.java1030Summary;import java.util.Arrays;public class ArrayOperator {/** 打印数组*/public void printArrFor(int[] arr){for (int i = 0; i < arr.length; i++) {System.out.print(arr[i]+" ");}}public void printArrForeach(int[] arr){for (int i : arr) {System.out.print(i);System.out.print(" ");}}/** 判断数组中是否存在用户输入的数字*/public boolean searchNumInArr(int[] arr,int num){/** 遍历数组,一一比较是否与num相等* 若相等返回真*/for (int i : arr) {if(i == num){return true;}}return false;}/** 求数组最大值*/public int maxNumInArr(int[] arr){//假定最大值是数组第一位,注意:假定的值一定存在于数组int maxNum = arr[0];for (int i = 0; i < arr.length; i++) {if(arr[i] > maxNum){//假如有数比设定的大,交换两个值int temp = arr[i];arr[i] = maxNum;maxNum = temp;}}return maxNum;}/** 数组排序*/public int[] sortArr(int[] arr){/** 冒泡排序* 相邻比大小* 外层n-1* 内层n-i-1*/for (int i = 0; i < arr.length-1; i++) {for (int j = 0; j < arr.length-i-1; j++) {if(arr[j] < arr[j+1]){//降序int temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}return arr;}/** 向一个数组插入一个数,并降序排列* */public int[] insertAndSortArr(int[] arr,int num){/** 思路:* 1.判断数组中是否存在该数字,若存在,则排序返回即可* 2.不存在,判断数组最后一位是否为空,若为空则插入最后一位,然后排序返回数组* 3.若数组最后一位不为空,需要数组容量+1,并将数组插入数组最后一位,排序后返回数组*///声明变量记录下标for (int i = 0; i < arr.length; i++) {if(arr[i] == num){//数组存在该数字return sortArr(arr);}}//不存在该数字,需要判断是否需要扩容int index;if(arr[arr.length-1] == 0){//不需要扩容}else{//需要扩容arr = Arrays.copyOf(arr, arr.length+1);}index = arr.length-1;arr[index] = num;return sortArr(arr);}}

学生数组

package com.ly.java1030Summary;import java.util.Arrays;public class Student {private String name;private int age;/** 将学生对象插入学生数组*/public Student[] addStudent(Student[] stus,Student stu){int index = -1;//判断数组最后一位是否为空if(stus[stus.length-1].equals(null)){for (int i = 0; i < stus.length; i++) {if(stus[i].equals(null)){//记录数组第一个空位下标index = i;}}}else{//需要扩容stus = Arrays.copyOf(stus, stus.length+1);index = stus.length-1;}stus[index] = stu;return stus;}/** 在数组中按名字查找某个学生,返回布尔值*/public boolean searchInStuArr(Student[] stus,String name){for (Student student : stus) {if(student.name.equals(name))return true;}return false;}/** 给定范围在数组中查询是否存在某个学生*/public boolean searchInStuArr(Student[] stus,String name,int a,int b){for (int i= a; i <= b; i++) {if(stus[i].name.equals(name))return true;}return false;}//打印学生数组所有信息public void printStus(Student[] stus){for (Student student : stus) {System.out.print(student+"\t");}}//打印学生信息public void printStu(Student stu){System.out.println(stu);}/* (non-Javadoc)* @see java.lang.Object#toString()*/@Overridepublic String toString() {return "[name=" + name + ", age=" + age + "]";}public Student() {super();// TODO Auto-generated constructor stub}public Student(String name, int age) {super();this.name = name;this.age = age;}/*** @return the name*/public String getName() {return name;}/*** @param name the name to set*/public void setName(String name) {this.name = name;}/*** @return the age*/public int getAge() {return age;}/*** @param age the age to set*/public void setAge(int age) {if(age <0 || age >100){System.out.println("超出范围,默认为20");this.age = 20;}else{this.age = age;}}}

多态

//多态package com.ly.java1030Summary;public class Master {public void fill(Pet p){p.eat();}}package com.ly.java1030Summary;public abstract class Pet {private String name;private int age;/*** @return the name*/public String getName() {return name;}/*** @param name the name to set*/public void setName(String name) {this.name = name;}/*** @return the age*/public int getAge() {return age;}/*** @param age the age to set*/public void setAge(int age) {this.age = age;}public Pet() {super();// TODO Auto-generated constructor stub}public Pet(String name, int age) {super();this.name = name;this.age = age;}public abstract void eat();}package com.ly.java1030Summary;public class Dog extends Pet{private String brand;public void pickDisc(){System.out.println("狗子扔飞盘");}/*** @param brand*/public Dog(String brand,String name, int age) {super(name,age);this.brand = brand;}/*** */public Dog() {super();// TODO Auto-generated constructor stub}/*** @param name* @param age*/public Dog(String name, int age) {super(name, age);// TODO Auto-generated constructor stub}/*** @return the brand*/public String getBrand() {return brand;}/*** @param brand the brand to set*/public void setBrand(String brand) {this.brand = brand;}@Overridepublic void eat() {// TODO Auto-generated method stubSystem.out.println("小狗吃骨头");}}package com.ly.java1030Summary;public class Cat extends Pet{private String sex;public void swimmingOnBed(){System.out.println("小猫可以床上游泳");}public Cat() {super();// TODO Auto-generated constructor stub}public Cat(String name, int age) {super(name, age);// TODO Auto-generated constructor stub}public Cat(String name, int age, String sex) {super(name,age);this.sex = sex;}/*** @return the sex*/public String getSex() {return sex;}/*** @param sex the sex to set*/public void setSex(String sex) {this.sex = sex;}@Overridepublic void eat() {// TODO Auto-generated method stubSystem.out.println("小猫吃鱼");}}

接口

//接口package com.ly.java1030Summary;public interface CPU {String getBrand();double getBasicRate();}package com.ly.java1030Summary;public class IntelCPU implements CPU {@Overridepublic String getBrand() {// TODO Auto-generated method stubreturn "i9 13900k";}@Overridepublic double getBasicRate() {// TODO Auto-generated method stubreturn 5.8;}}package com.ly.java1030Summary;public interface EMS {String getBrand();int getCapacity();}package com.ly.java1030Summary;public class Sumsung implements EMS {@Overridepublic String getBrand() {// TODO Auto-generated method stubreturn "三星B-die颗粒内存条";}@Overridepublic int getCapacity() {// TODO Auto-generated method stubreturn 32;}}package com.ly.java1030Summary;public interface HardDisk {int getCapacity();}package com.ly.java1030Summary;public class XPG implements HardDisk {@Overridepublic int getCapacity() {// TODO Auto-generated method stubreturn 2048;}}package com.ly.java1030Summary;public class MyPC {CPU cpu = new IntelCPU();EMS ems = new Sumsung();HardDisk hd = new XPG();public void showPcInfo(){System.out.println("计算机组成如下:");System.out.println("CPU品牌:"+cpu.getBrand()+",\tCPU主频:"+cpu.getBasicRate()+"GHz");System.out.println("内存品牌:"+ems.getBrand()+",\t内存容量:"+ems.getCapacity()+"G");System.out.println("硬盘容量:"+hd.getCapacity()+"G");}}

测试类

//以上代码测试类package com.ly.java1030Summary;public class Call {/** 这个方法是Function类中的方法调用测试总和*/public void callFunction(){Function cf = new Function();cf.printLingxing();cf.printChenfabiao();cf.zhongJiang();cf.printNumTriangle();}/** 这个方法是ArrayOperator类中方法调用测试总和*/public void callArrayOperator(){int[] arr = {11,12,3,44,25};ArrayOperator ap = new ArrayOperator();ap.printArrForeach(arr);System.out.println(ap.searchNumInArr(arr, 12));System.out.println(ap.maxNumInArr(arr));ap.printArrForeach(ap.insertAndSortArr(arr, 69));}public void callStudent(){Student stu1 = new Student("zhangsan1",11);Student stu2 = new Student("zhangsan2",12);Student stu3 = new Student("zhangsan3",13);Student stu4 = new Student("zhangsan4",14);Student stu5 = new Student("zhangsan5",15);Student stu = new Student();Student[] stus = new Student[1];stus[0] = stu1;stus = stu.addStudent(stus, stu2);stus = stu.addStudent(stus, stu3);stus = stu.addStudent(stus, stu4);stus = stu.addStudent(stus, stu5);stu.printStus(stus);System.out.println();boolean flag = stu.searchInStuArr(stus, "zhangsan5", 0, 4);System.out.println(flag);}public void callMaster(){Master m = new Master();//向上转型Pet p1 = new Dog("程程","拉布拉多",2);Pet p2 = new Cat("丹丹",2,"狸花");m.fill(p1);m.fill(p2);//向下转型,此时需要判断类型是否匹配if(p1 instanceof Dog)((Dog)p1).pickDisc();if(p2 instanceof Cat)((Cat)p2).swimmingOnBed();}public void callInterface(){MyPC mpc = new MyPC();mpc.showPcInfo();}}

异常

//异常package com.sky.yichang.homework;//加入不继承RuntimeException而是直接继承Exception,在public class AgeException extends RuntimeException {public AgeException() {super();// TODO Auto-generated constructor stub}public AgeException(String message) {super(message);// TODO Auto-generated constructor stub}}package com.sky.yichang.homework;public class ScoreException extends RuntimeException{public ScoreException() {super();// TODO Auto-generated constructor stub}public ScoreException(String message) {super(message);// TODO Auto-generated constructor stub}}package com.sky.yichang.homework;public class User {private String name;private int age;private int score;public static void print1(){User user = new User();user.getAge();//静态方法可以访问非静态资源//getName();//静态方法不能直接访问非静态资源,但是可以通过对象调用}public void print(){System.out.println(this);getName();}/* (non-Javadoc)* @see java.lang.Object#toString()*/@Overridepublic String toString() {return "User [name=" + name + ", age=" + age + ", score=" + score + "]";}public User() {super();// TODO Auto-generated constructor stub}public User(String name, int age) {super();this.name = name;if(age<1 || age>100)throw new AgeException("年龄输入错误,必须在0到100之间");elsethis.age = age;}public User(String name, int age, int score) throws ScoreException {super();this.name = name;if(age<1 || age>100)throw new AgeException("年龄输入错误,必须在0到100之间");elsethis.age = age;if(score<0 || score>100)throw new ScoreException("分数输入有误,必须在0到100");elsethis.score = score;}/*** @return the score*/public int getScore() {return score;}/*** @param score the score to set* @throws ScoreException */public void setScore(int score) {if(score<0 || score>100)throw new ScoreException("分数输入有误,必须在0到100");elsethis.score = score;}/*** @return the name*/public String getName() {return name;}/*** @param name the name to set*/public void setName(String name) {this.name = name;}/*** @return the age*/public int getAge() {return age;}/*** @param age the age to set* @throws AgeException */public void setAge(int age) {if(age<1 || age>100)throw new AgeException("年龄输入错误,必须在0到100之间");elsethis.age = age;}}package com.sky.yichang.homework;public class Operator {public void callUser(){User user1 = new User();user1.setName("甘雨");try {user1.setAge(3500);} catch (Exception e) {// TODO: handle exceptionSystem.out.println("年龄输入有误,已经改为默认值18");user1.setAge(18);}finally{user1.print();}}public void callUser2(){User user2 = new User();try {user2.setName("胡桃");user2.setAge(15);user2.setScore(150);} catch (Exception e) {// TODO: handle exceptionSystem.out.println("分数输入有误,已经给了默认值80");user2.setScore(80);}finally{user2.print();}}}package com.sky.yichang.homework;public class Demo {public static void main(String[] args) {Operator op = new Operator();op.callUser();op.callUser2();}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。