news 2026/7/29 14:41:33

JAVA-api-ArrayListMath

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
JAVA-api-ArrayListMath

集合:

长度可变的容器

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)); } } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/29 14:41:31

超级电容备用电源设计:从原理到实战的电路方案与避坑指南

1. 项目概述&#xff1a;为什么是超级电容&#xff1f;聊到备用电源&#xff0c;大家脑子里蹦出来的第一个词多半是“蓄电池”&#xff0c;铅酸、锂电&#xff0c;这些老朋友我们太熟了。但最近几年&#xff0c;尤其是在一些对可靠性、响应速度和循环寿命要求近乎苛刻的场合&am…

作者头像 李华
网站建设 2026/7/29 14:38:08

macOS终极Windows程序运行方案:Whisky完全指南

macOS终极Windows程序运行方案&#xff1a;Whisky完全指南 【免费下载链接】Whisky A modern Wine wrapper for macOS built with SwiftUI 项目地址: https://gitcode.com/gh_mirrors/wh/Whisky 在macOS上运行Windows程序不再是难题&#xff01;Whisky作为一款基于Swift…

作者头像 李华
网站建设 2026/7/29 14:37:22

PUBG罗技鼠标宏自动识别压枪:智能压枪终极指南

PUBG罗技鼠标宏自动识别压枪&#xff1a;智能压枪终极指南 【免费下载链接】PUBG-Logitech PUBG罗技鼠标宏自动识别压枪 项目地址: https://gitcode.com/gh_mirrors/pu/PUBG-Logitech 你是否在PUBG游戏中苦于压枪不稳&#xff1f;是否羡慕高手们流畅的射击控制&#xff…

作者头像 李华
网站建设 2026/7/29 14:37:09

GetQzonehistory:如何完整备份QQ空间十年青春记忆的终极指南

GetQzonehistory&#xff1a;如何完整备份QQ空间十年青春记忆的终极指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在数字时代&#xff0c;我们的记忆越来越多地存储在云端社交平台…

作者头像 李华
网站建设 2026/7/29 14:35:34

欧姆龙cx one下载(2026亲测)cx one安装教程 PLC编程软件

本文将带你一步步完成Omron CX-One下载安装全过程&#xff0c;从安装包获取到升级补丁配置&#xff0c;即使你是PLC编程新手也能轻松搞定&#xff01; CX-One软件简介 CX-One 是欧姆龙&#xff08;Omron&#xff09;推出的一体化自动化工程平台&#xff0c;把PLC编程&#x…

作者头像 李华
网站建设 2026/7/29 14:34:11

5分钟快速上手PKHeX-Plugins:宝可梦自动化修改插件终极指南

5分钟快速上手PKHeX-Plugins&#xff1a;宝可梦自动化修改插件终极指南 【免费下载链接】PKHeX-Plugins Plugins for PKHeX 项目地址: https://gitcode.com/gh_mirrors/pk/PKHeX-Plugins 你是否厌倦了手动调整宝可梦数据的繁琐过程&#xff1f;想要快速组建合法对战队伍…

作者头像 李华