Java 练习(static 关键字)

数组排序

ArrayUtil.java

package com.klvchen.java1;

public class ArrayUtil {
	//求数组的最大值
	public static int getMax(int[] arr) {
		int maxValue = arr[0];
		for (int i = 1; i < arr.length; i++) {
			if (maxValue < arr[i]) {
				maxValue = arr[i];
			}
		}
		return maxValue;
	}
	
	//求数组最小的值
	public static int getMin(int[] arr) {
		int minValue = arr[0];
		for(int i = 1; i < arr.length; i++) {
			if (minValue > arr[i]) {
				minValue = arr[i];
			}
		}
		return minValue;
	}
	
	//求数组的总和
	public static int getSum(int[] arr) {
		int sum = 0;
		for (int i = 0; i < arr.length; i++) {
			sum += arr[i];
		}
		return sum;
	}
	
	//求数组的平均值
	public static int getAvg(int[] arr) {
		return getSum(arr) / arr.length;
	}
	
	//反转数组
	public static void reverse(int[] arr) {
		for(int i = 0; i< arr.length/2; i++) {
			int temp = arr[i];
			arr[i] = arr[arr.length -i -1];
			arr[arr.length -i -1] = temp;
		}
	}
	
	//复制数组
	public static int[] copy(int[] arr) {
		int[] arr1 = new int[arr.length];
		for (int i = 0; i < arr1.length; i++) {
			arr1[i] = arr[i];
		}
		
		return arr1;
	}
	
	//数组排序
	public static void sort(int[] arr) {
		for(int i = 0; i< arr.length - 1; i++) {
			
			for(int j = 0; j < arr.length -1 -i; j++) {
				
				if(arr[j] > arr[j + 1]) {
					swap(arr, j , j + 1);
				}
			}
		}
	}
	
	//交换数组中指定两个位置元素的值
	private static void swap(int[] arr, int i, int j) {
		int temp = arr[i];
		arr[i] = arr[j];
		arr[j] = temp;
	}
	
	//遍历数组
	public static void print(int[] arr) {
		for (int i = 0; i< arr.length; i++) {
			System.out.println(arr[i] + "	");
		}
		System.out.println();
	}
	
	//查找指定元素
	public static int getIndex(int[] arr, int dest) {
		//线性查找:
		for(int i = 0; i < arr.length; i++) {
			if(dest == arr[i]) {
				return i;
			}
		}
		return -1;
	}
}

ArrayUtilTest.java

package com.klvchen.java1;

public class ArrayUtilTest {
	public static void main(String[] args) {
		
		int[] arr = new int[] {32, 34, 32, 5, 3, 54,654,-98, 0, -53, 5};
		int max = ArrayUtil.getMax(arr);
		System.out.println("最大值为: " + max);
		
		System.out.println("排序前为: ");
		ArrayUtil.print(arr);
		
		ArrayUtil.sort(arr);
		System.out.println("排序前后: ");
		ArrayUtil.print(arr);
		
	}
	
}

创建圆

package com.klvchen.java1;

public class CircleTest {
	public static void main(String[] args) {
		Circle c1 = new Circle();
		Circle c2 = new Circle();
		Circle c3 = new Circle(3.14);
		
		System.out.println("c1的id: " + c1.getId());
		System.out.println("c2的id: " + c2.getId());
		System.out.println("c3的id: " + c3.getId());
		
		System.out.println("创建的圆的个数为: " + Circle.getTotal());
		
	}	
}

class Circle{
	private double radius;
	private int id;   //自动赋值
	
	private static int total; //记录创建圆的个数
	private static int init = 1001; //static声明的属性被所有对象所共享
	
	public Circle() {
		id = init++;
		total++;
	}
	
	public Circle(double radius) {
		this();
		this.radius = radius;
	}
	
	public double findArea() {
		return 3.14 * radius * radius;
	}

	public double getRadius() {
		return radius;
	}

	public static int getTotal() {
		return total;
	}

	public void setRadius(double radius) {
		this.radius = radius;
	}

	public int getId() {
		return id;
	}
}

银行账号

编写一个类实现银行账户的概念,包含的属性有"帐号”、“密码”、“存款余额”、“利率”、“最小余额”,定义封装这些属性的方法。账号要自动生成。
编写主类,使用银行账户类,输入、输出3个储户的上述信息。考虑:哪些属性可以设计成static属性。
Account.java

package com.klvchen.java1;

public class Account {
	private int id;
	private String pwd = "000000";
	private double balance;
	
	private static double interestRate;
	private static double minMoney = 1.0;
	private static int init = 1001;  //用于自动生成id使用的
	
	
	
	public Account() {
		super();
	}
	
	public Account(String pwd, double balance) {
		super();
		this.pwd = pwd;
		this.balance = balance;
	}
	
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	public static double getInterestRate() {
		return interestRate;
	}
	public static void setInterestRate(double interestRate) {
		Account.interestRate = interestRate;
	}
	public static double getMinMoney() {
		return minMoney;
	}
	public static void setMinMoney(double minMoney) {
		Account.minMoney = minMoney;
	}
	public int getId() {
		return id;
	}
	public double getBalance() {
		return balance;
	}

}

AccountTest.java

package com.klvchen.java1;

public class AccountTest {
	
	public static void main(String[] args) {
		
		Account acct1 = new Account();
		Account acct2 = new Account("qwerty", 2000);
		
		Account.setInterestRate(0.012);
		Account.setMinMoney(100);
		
		System.out.println(acct1);
		System.out.println(acct2);
		
		System.out.println(acct1.getInterestRate());
		System.out.println(acct1.getMinMoney());
	}
}

原文地址:https://www.cnblogs.com/klvchen/p/14480269.html