Java--常用API介绍
2024-08-26 18:31:18
Scanner类--键盘输入,室友起来三个步骤:
- 第一,导包:import java.util.Scanner
- 第二,创建:Scanner sc = new Scanner(System.in)
- 第三,使用:通过"nextInt();"获得输入的参数
匿名对象(new 类名称() 只有右边的,没有左边的)
- 注意:匿名对象只能使用唯一的一次,下次再用就不得不再创建一个新对象。
- 使用建议:如果确定有一个对象值需要使用唯一的一次,就可以用匿名对象。
Random类--用来生成随机数字。使用起来三个步骤:
- 第一,导包:import java.util.Random
- 第二,创建:Random sc = new Random()
- 第三,使用:获取随机数的范围是int的所有范围(有正负),通过"nextInt();"获得输入的参数。若是nextInt(int n),可以限定随机数的大小范围(0 ~ n-1)
Array对象数组,看具体实例:
//题目:定义一个数组,用来存储3个Person对象
//数组有一个缺点,一旦创建就无法更改数组的大小即长度
public class Demo01Array {
public static void main(String[] args) {
//step1 创建数组
Person[] arr = new Person[3];
Person one = new Person("迪丽热巴",18);
Person two = new Person("麦迪娜",28);
Person three = new Person("杨幂",38);
// step2 给数组赋值
//把one当中的地址赋值到数组0号元素位置(原因是由于没有重写toString)
arr[0] = one;
arr[1] = two;
arr[2] = three;
// step3 打印输出
System.out.println(arr[0]);//地址值
System.out.println(arr[1]);//地址值
System.out.println(arr[2]);//地址值
System.out.println(arr[0].getName()+" "+arr[0].getAge());
} }
运行结果:
com.itcast.day02.Person@6d06d69c
com.itcast.day02.Person@7852e922
com.itcast.day02.Person@4e25154f
迪丽热巴 18
5.ArrayList(数组长度动态增长)
- public boolean add(E e):先集合当中添加元素,参数的类型和泛型一致,返回值代表添加是否成功。备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用。但是对于其他集合来说,add添加不一定成功。
- public E get(int index):从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素。
- public E remove(int index):从集合当中删除元素,参数是索引编号,返回值就是被删除掉的元素的。
- public int size():获取集合的尺寸长度,返回值是集合包含的元素个数。
- 实例:
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
System.out.println(list);
//向集合添加元素
boolean success = list.add("张三");
System.out.println("添加的动作是否成功:"+success);
list.add("李四");
list.add("王五");
list.add("赵六");
System.out.println(list);
//从集合当中获取元素:get,索引值从0开始
String name = list.get(2);
System.out.println("第2号索引位置是:"+name);
//从集合当删除元素:remove,索引值从0开始
String whoRemoved = list.remove(0);
System.out.println("被删除的人是:"+whoRemoved);
System.out.println("数组的长度是:"+list.size()+" 分别是:"+list);
}
运行结果:
[]
添加的动作是否成功:true
[张三, 李四, 王五, 赵六]
第2号索引位置是:王五
被删除的人是:张三
数组的长度是:3 分别是:[李四, 王五, 赵六]
基本类型 包装类(引用类型,包装类都为位于java.lang包下) byte Byte short Short int | Integer [特殊]
long | long
float | Float
double | Double
char | Character [特殊]
boolean | Blooean
从JDK 1.5+开始,支持自动装箱、自动拆箱- 自动装箱:基本类型 --> 包装类型(引用类型)
- 自动拆箱:包装类型 --> 基本类型
6.String--java.lang.String类代表字符串:
- API当中说,Java程序中所有字符串字面值(如"abc")都作为此类的实例实现。其实就是说,程序当中所有的双引号字符串,都是String类的对象。(就算没有new,也照样是。)
- 字符串的特点:
- 字符串的内容永不可变【重点】
- 正是因为字符串不可改变,所以字符串是可以共享使用的。
- 字符串效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组。
7.Arrays--是一个与数组相关的工具类,里面提供了大量静态方法(静态方法可通过方法名直接调用),用来实现数组常见的操作。
- public static String toString(数组):将参数数组变成字符串(按照默认格式:[元素1,元素2,元素3......])
- public static void sort(数组):按照默认升序(从小到大)对数组的元素进行排序。
- 备注:
1. 如果是数值,sort默认按照升序从小到大
2. 如果是字符串,sort默认按照字母升序
3. 如果是自定义的类型,那么这个自定义的类需要有Comparable或者Comparable接口的支持。
- 举例:
```
//题目:请使用Arrays相关的API,将一个随机字符串中的所有字符升序排列,并倒序打印
public class ArraysPractise {
public static void main(String[] args) {
String str = "zcxjsded456jkefbf";
//如何进行升序排列:sort
//要使用Arrays.sort 必须是一个数组才行
//如何将字符串转为字符数组:toCharArray
char[] chars = str.toCharArray();
Arrays.sort(chars);
System.out.println(chars);
//如何倒序打印:字符反向输出
for(int i = chars.length-1;i>=0;i--){
System.out.print(chars[i]+" ");
}
}
}
```
运行结果:
```
456bcddeeffjjksxz
z x s k j j f f e e d d c b 6 5 4
```
8.Math--数学工具类,里面提供大量的静态方法,完成与数学运算相关的操作。
- public static double abs(double num):获取绝对值。
- public static double ceil(double num):向上取整。
- public static double floor(double num):向下取整。
- public static long round(double num):四舍五入。
- Math.PI代表近似的圆周率常量(π),是个double值。
- 使用方法:Math.abs(-3.14) //3.14
- 举例:
```
/**
* 题目:
* 计算在-10.8到5.9之间,绝对值 大于6或者小于2.1的整数有多少个?
* 分析:
* 1.确定范围、确定次数 就使用for循环
* 2.起点位置-10.8应该转换成为-10,两种方法实现:
* 2.1 可以使用Math.ceil方法,向上(向数轴的正方向)取整
* 备注:如果使用这种的方式,结果-10.8取绝对值后就会变成-10.0
* 2.2 强制类型转换,转成int,会自动舍弃所有小数位
* 3.每一个数字都是整数,所以步进表达式应该是num++,这样每次都是+1的
* 4.如何拿到绝对值,Math.abs方法
* 5.一旦发现了一个数字,需要让计数器++,进行统计
*/
public class MathPractise {
public static void main(String[] args) {
double min = -10.8;
double max = 5.9;
int count = 0;
for(int i = (int)min;i<=max;i++){
if(Math.abs(i)>6 || Math.abs(i)<2.1 ){
System.out.print(i+" ");
count++;
}
}
System.out.println();
System.out.println("总共有:"+count+"个");
}
}
```
运行结果:
```
-10 -9 -8 -7 -2 -1 0 1 2
总共有:9个
```
最新文章
- 翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 4 - 验证
- objccn-iOS上的相机捕捉
- HDU 3605 Escape(状压+最大流)
- JSON生成c#类代码小工具
- DEV GridControl双击行事件
- gtk+-3.21.4 static build step in windows XP
- Vue.2.0.5-过渡效果
- Android Bitmap实战技巧
- spring源码分析之spring-messaging模块详解
- HTTP缓存是如何实现
- Spring概述--1
- C#微信公众号开发 -- (一)开发之前的准备
- EntityFramework 基础提供程序在 Open 上失败。
- 使用maven profile实现多环境可移植构建
- wamp配置sendmail发送邮件
- js 去掉数组中重复值,不重复的值保留
- [LOJ3086][GXOI/GZOI2019]逼死强迫症——递推+矩阵乘法
- Jvm垃圾回收器(算法篇)
- c#中的Unity容器
- Java框架spring 学习笔记(二):Bean的作用域