java常用函数

该方法还未完善,只是作为我自己用java刷蓝桥杯对函数的总结

1、Scanner类的常用方法1

Scanner类的常用方法1

在这里插入图片描述

其实上图的意思就是,比如:nextlnt():只读取int值,就是只能读取整数类型的数据,如果输入了非整型的数据(浮点型字符串等)就会报错。
nextFloat()、nextDouble()这些也是以此类推,只能读取符合该类型的数据。

此处重点讲一下next()和nextLine()的区别:
next():只读取输入直到空格。它不能读两个由空格或符号隔开的单词。此外,next()在读取输入后将光标放在同一行中。(next()只读空格之前的数据,并且光标指向本行)

nextLine():读取输入,包括单词之间的空格和除回车以外的所有符号(即。它读到行尾)。读取输入后,nextLine()将光标定位在下一行。

代码演示:

public class Text {
	public static void main(String []args) {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入一个字符串(中间能加空格或符号)");
		String a = input.nextLine();
		System.out.println("请输入一个字符串(中间不能加空格或符号)");
		String b = input.next();
		System.out.println("请输入一个整数");
		int c;
		c = input.nextInt();
		System.out.println("请输入一个double类型的小数");
		double d = input.nextDouble();
		System.out.println("请输入一个float类型的小数");
		float f = input.nextFloat();
		System.out.println("按顺序输出abcdf的值:");
		System.out.println(a);
		System.out.println(b);
		System.out.println(c);
		System.out.println(d);
		System.out.println(f);
	}
}

运行结果:

请输入一个字符串(中间能加空格或符号)
我爱祖国!
请输入一个字符串(中间不能加空格或符号)
ILoveChina
请输入一个整数
520
请输入一个double类型的小数
12.26e3
请输入一个float类型的小数
3.1415926
按顺序输出abcdf的值:
我爱祖国!
ILoveChina
520
12260.0
3.1415925

Scanner类的常用方法2

在这里插入图片描述
里面的hasNextInt()方法意思为判断输入的是否为一个整型,输入为整型则true,否则为false

2、String类的常用方法

常用方法

  1. 返回指定索引处的char值:charAt()
  2. 转成Sring类型:
    • toString():必须保证object对象不为null,否则报错
    • String:
    • String.valueOf():不用担心object对象为null,因为当它为null时,它返回的是字符串null
  3. 截取字符串中的一段字符串:subString()
    • subString(int beginIndex):截取从首字母开始,长度为beginIndex的字符串,将剩下的留下
    • subString(int beginIndex,int endIndex):截取从beginIndex开始至endIndex结束时的字符串
  4. 分隔符:split()
    该方法会返回一个数组
  5. 指出String对象内子字符串的开始位置
    • indexOf(String str):返回第一次出现的指定子字符串在此字符串中的索引
    • indexOf(String str,int startIndex):从指定的索引位置开始,返回第一次出现的指定子字符串在此字符串的索引
  6. 将字符串转成字符数组:toCharArray()
  7. 将字符串中有的字符进行替换:replaceAll()替换所有,replaceFirst()替换第一个匹配到的

3、ArrayList集合类

  1. 添加元素:add()
    • add():直接在集合末尾添加
    • add(int index,E element):在指定位置添加元素
  2. 删除元素:remove(int index)
  3. 修改元素:set(int index,E element)
    该方法的返回值是修改之前的值
  4. 获取元素:get(int index)
  5. 清空所有的元素(清空集合):clear()
  6. 返回集合中元素的数量:size()
  7. 检查集合是否为空:isEmpty()
  8. 检查集合中是否包给定的元素:contains(Object o)
  9. 返回给定元素出现的位置:indexOf()
    • indexOf(Object o):函数返回集合中给定元素的第一次出现的位置,如果没有就返回-1:
    • lastIndexOf(Object o):函数返回给定元素最后一次出现的位置,如果没有就返回-1:
  10. 复制集合:clone()
  11. 将集合转化为数组:toArray()
    • toArray(T[] a):转化为数组,和无参数时不同的是,上一个返回的数组是Object[]类型的,这个函数返回的数组类型根据参数确定

遍历arraylist集合三种方法:

  • 使用普通for循环
 public static void function(){
        ArrayList<String>  name= new ArrayList<>();
        name.add("zhangsan");
        name.add("lisi");
        name.add("wangwu");
        name.add("zhaoliu");
        //使用size()方法获取到集合的长度
        for (int i = 0; i < name.size(); i++) {
            System.out.println(name.get(i));
        }
    }            

  • 使用foreach遍历
  public static void foreach(){
 5         ArrayList<String>  name= new ArrayList<>();
 6         name.add("zhangsan");
 7         name.add("lisi");
 8         name.add("wangwu");
 9         name.add("zhaoliu");
10         for (String string : name) {
11             System.out.println(string);
12         }
13     }

  • 使用迭代器
  /*
 2      * 遍历ArrayList的方法三:使用迭代器iterator
 3      */
 4     public static void useIterator(){
 5         ArrayList<String>  name= new ArrayList<>();
 6         name.add("zhangsan");
 7         name.add("lisi");
 8         name.add("wangwu");
 9         name.add("zhaoliu");
10         Iterator<String> it=name.iterator();
11         while(it.hasNext()){
12             System.out.println(it.next());
13         }
14     }

4、Character类

常用方法

  1. 判断字符是否为数字:isDigit(char ch)
  2. 判断字符是否为字母:isLetter(char ch)
  3. 判断字符是否为小写字母:isLowerCase(char ch)
  4. 判断字符是否为大写字母:isUpperCase(char ch)
  5. 变成大写字母:toUpperCase(char ch)
  6. 变成小写字母:toLowerCase(char ch)

5、Math类

静态常量

1、Math.E:指的是自然对数e
2、Math.PI:指的是圆周率π

最大最小值和绝对值

在这里插入图片描述

求整运算

在这里插入图片描述

三角函数运算

在这里插入图片描述

指数运算

在这里插入图片描述

6、Random类

常用方法

生成随机数方法
随机生成一个int类型random.nextInt()
随机生成一个0-参数bound范围内的随机数random.nextInt(int bound) 包括0,但不包括bound
随机生成一个Long类型random.nextLong()
随机random.nextLong()random.nextLong()
随机生成一个0-1之间的浮点型.random.nextFloat()
随机生成一个true或falserandom.nextBoolean()
随机为一个byte类型的数组随机赋值random.nextBytes(byte[] bytes)
随机生成一个高斯分布的浮点数随机生成一个高斯分布的浮点数

7、StringBuilder类

常用方法

方法名字
append(String str)将指定的字符串追加到此字符序列
reverse()将此字符序列用其反转形式取代
delete(int start, int end)移除此序列的子字符串中的字符
insert(int offset, Object obj)将 Object 参数的字符串表示形式插入此字符序列中
replace(int start, int end, String str)使用给定 String 中的字符替换此序列的子字符串中的字符
  • 3
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是一些常用函数和数据结构在LeetCode刷题中的应用示例: 1. 栈(Stack):栈是一种后进先出(LIFO)的数据结构,常用于解决与括号匹配、逆波兰表达式等问题。 ```java import java.util.Stack; Stack<Integer> stack = new Stack<>(); stack.push(1); // 入栈 stack.push(2); stack.push(3); int top = stack.peek(); // 获取栈顶元素,但不删除 int pop = stack.pop(); // 弹出栈顶元素 boolean isEmpty = stack.isEmpty(); // 判断栈是否为空 ``` 2. 队列(Queue):队列是一种先进先出(FIFO)的数据结构,常用于解决与广度优先搜索(BFS)相关的问题。 ```java import java.util.Queue; import java.util.LinkedList; Queue<Integer> queue = new LinkedList<>(); queue.offer(1); // 入队 queue.offer(2); queue.offer(3); int front = queue.peek(); // 获取队首元素,但不删除 int poll = queue.poll(); // 弹出队首元素 boolean isEmpty = queue.isEmpty(); // 判断队列是否为空 ``` 3. 堆(Heap):堆是一种特殊的树形数据结构,常用于解决与优先队列相关的问题。 ```java import java.util.PriorityQueue; PriorityQueue<Integer> minHeap = new PriorityQueue<>(); // 小顶堆 minHeap.offer(3); // 入堆 minHeap.offer(1); minHeap.offer(2); int min = minHeap.peek(); // 获取堆顶元素,但不删除 int pollMin = minHeap.poll(); // 弹出堆顶元素 boolean isEmpty = minHeap.isEmpty(); // 判断堆是否为空 ``` 4. 位运算(Bit Manipulation):位运算是对二进制数进行操作的技术,常用于解决与位操作相关的问题,如位与、位或、位异或等。 ```java int a = 5; // 二进制表示为 101 int b = 3; // 二进制表示为 011 int andResult = a & b; // 位与运算,结果为 001,即 1 int orResult = a | b; // 位或运算,结果为 111,即 7 int xorResult = a ^ b; // 位异或运算,结果为 110,即 6 int complement = ~a; // 取反运算,结果为 11111111111111111111111111111010,即 -6 int leftShift = a << 1; // 左移运算,结果为 1010,即 10 int rightShift = a >> 1; // 右移运算,结果为 10,即 2 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Triumph-light

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值