集合:
长度可变的容器
ArrayList:
package APIlearn; import java.util.ArrayList; public class ArrayLIstTest { public static void main(String[] args) { int[] arr=new int[3]; //无限制集合里面可以存储任意类型的数据 ArrayList list=new ArrayList(); list.add("sad"); list.add(0); Object obj=list.get(0); //多态的弊端,无法使用子类的特有行为 Object o=list.get(1); if(o instanceof String ){ }else if(o instanceof Integer){ } //泛型:限定存储的数据类型 ArrayList<String>list1=new ArrayList<>(); list1.add("gegt"); String s=list1.get(0); //重复的内容:后面的泛型可以不写,但是尖括号可以保留 ArrayList <Integer > list2=new ArrayList<>(); //有返回值,为了实现集合面向对象的统一 //集合里面只能添加引用数据类型,不能添加基本数据类型 list2.add(0,12); //索引 list2.remove(1); //修改(索引,修改的数) Integer re=list2.set(0,7); //获取:get(int index); Integer res=list2.get(2); System.out.println(res); } }练习1:
package APIlearn; import java.util.ArrayList; public class Packageclass { public static void main(String[] args) { ArrayList<Integer>list=new ArrayList<>(); Integer i1=10; Integer i2=20; Integer i3=30; list.add(i1); list.add(1); list.add(2); System.out.print("["); for(int i=0;i<list.size();i++){ Integer num=list.get(i); if(i==list.size()-1){ System.out.print(num+"]"); }else{ System.out.print(num+","); } } } }练习2:
package APIlearn; import java.util.ArrayList; public class Testarraylist { public static void main(String[] args) { //1.创建集合对象 ArrayList<Packageclass>list=new ArrayList<>(); //2.创建一些对象 Packageclass s1=new Packageclass("zh","23",2); Packageclass s2=new Packageclass("zhi","2332",22); Packageclass s3=new Packageclass("zhu","233",22); list.add(s1); list.add(s2); list.add(s3); //获取和遍历 for (int i = 0; i < list.size(); i++) { Packageclass stu=list.get(i); System.out.println(stu.getId()+" "+stu.getName() +" "+stu.getAge() ); } System.out.println(findStudent("2332",list )); } //查找:返回int public static int findStudent(String id,ArrayList<Packageclass>list){ for (int i = 0; i < list.size(); i++) { //遍历集合得到的集合中的每一个元素,学生对象,判断元素的id和要查找的id是否一致 Packageclass stu=list.get(i); //判断,链式编程 if(stu.getId().equals(id)){ return i; } }return -1; } }package APIlearn; import java.lang.reflect.Array; import java.util.ArrayList; public class Packageclass {//id,姓名,年龄 private String name; private String id; private int age; public Packageclass(String name, String id, int age) { this.name = name; this.id = id; this.age = age; } public Packageclass() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }MATH:
| floor | 向下取整 |
| abs | 取绝对值 |
| ceil | 向上取整 |
| round | 四舍五入 |
| max | 取两个int值中的较大值 |
| pow | 返回a的b次幂 |
| random | 返回值为double 的随机值 |
package APIlearn; public class Mathtest { public static void main(String[] args) { int num=Math.abs(-12); System.out.println(num); System.out.println(Math.ceil(23.34)); System.out.println(Math.floor(23.12)); System.out.println(Math.round(-12.67));//四舍五入,int System.out.println(Math.pow(2,3)); System.out.println(Math.sqrt(25)); System.out.println(Math.cbrt(27)); System.out.println(Math.random()); } }练习1:
public class SelfPowerNumber { /** * 判断一个正整数是否为自幂数 * @param num 待判断的整数 * @return 是自幂数返回 true,否则返回 false */ public static boolean isSelfPower(int num) { // 自幂数必须是正整数,排除 0 和负数 if (num <= 0) { return false; } int originalNum = num; // 步骤1:计算数字的位数 n int digitCount = 0; int temp = num; while (temp != 0) { temp = temp / 10; digitCount++; } // 步骤2:计算每一位数字的 digitCount 次幂之和 int sum = 0; temp = originalNum; while (temp != 0) { int digit = temp % 10; // 取出当前个位数字 sum += power(digit, digitCount); // 累加当前位的 n 次幂 temp = temp / 10; // 去掉个位 } // 步骤3:比较幂次和与原数是否相等 return sum == originalNum; } /** * 辅助方法:整数幂运算(避免 Math.pow 浮点精度问题) * @param base 底数 * @param exponent 指数 * @return base 的 exponent 次幂 */ private static int power(int base, int exponent) { int result = 1; for (int i = 0; i < exponent; i++) { result *= base; } return result; } public static void main(String[] args) { // 测试案例 int[] testNumbers = {153, 1634, 123, 9474, 0, -5, 1}; for (int num : testNumbers) { System.out.println(num + " 是否为自幂数:" + isSelfPower(num)); } } }