JAVA学习笔记5(Scanner,String,Arrays,Math,异常)

19 篇文章 0 订阅

常用类

Scanner类

用于获取键盘的输入

方法

利用System.in来把输入内容转换为一个流

Scanner s = new Scanner(System.in);
成员方法
  • next()方法,获取输入的字符串
    读取前我们一般需要 使用 hasNext 与 hasNextLine 判断是否还有输入的数据
import java.util.Scanner; 
 
public class ScannerDemo {
    public static void main(String[] args) {
        // 从键盘接收数据
        Scanner scan = new Scanner(System.in);

        // next方式接收字符串
        System.out.println("next方式接收:");
        // 判断是否还有输入
        if (scan.hasNext()) {
            String str1 = scan.next();
            System.out.println("输入的数据为:" + str1);
        }
        scan.close();
    }
}
next和nextLine的区别

next()方法读取到空白符就结束;

nextLine()读取到回车结束;

next():
1、一定要读取到有效字符后才可以结束输入。
2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。 next() 不能得到带有空格的字符串。

nextLine():
1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空格。

String类

不可变性:

字符串是常量,它的值在创建之后不能更改
只能是变量引用地址的改变,不能是值的改变
字符串变量相加:先开空间,再加内容
字符串常量相加:先加,再找,没有再开空间

String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了
如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。

常用方法
比较字符串的内容是否相同,严格区分大小写
boolean equals(Object obj):

比较字符串的内容是否相同,不考虑大小写
boolean equalsIgnoreCase(String str):

判断字符串的内容是否为空
boolean isEmpty():

返回字符串的长度。字符的个数。
int length():

返回字符串中指定位置的字符。
char charAt(int index):

返回指定"字符"在字符串中第一次出现的位置
int indexOf(int ch):

返回指定"字符串"在字符串中第一次出现的位置
int indexOf(String str):

返回从指定位置开始到指定位置结束的子串,左闭右开
String substring(int start,int end):

字符的替换
String replace(char old,char new)

StringBuffer

由于字符串是不变的,我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间。而StringBuffer就可以解决这个问题

构造方法

声明字符串长度

public StringBuffer(int capacity)

例:创建一个长度为10的字符串
StringBuilder sb = new StringBuilder(10);

在这里插入图片描述

创建对象时直接赋值字符串

public StringBuffer(String str):
StringBuffer sBuffer = new StringBuffer("hello");
成员方法
  • 添加功能
public StringBuffer append(String str)

public StringBuffer insert(int offset,String str)

-删除功能

public StringBuffer deleteCharAt(int index)

public StringBuffer delete(int start,int end)
  • 替换功能
public StringBuffer replace(int start,int end,String str)
  • 反转功能
public StringBuffer reverse()
  • 截取功能
public String substring(int start)
public String substring(int start,int end)

Arrays

成员方法
  • 转数组为字符串
public static String toString(int[] a)
  • 排序
public static void sort(int[] a)
  • 二分查找
public static int binarySearch(int[] a,int key)

Math类

主要记录一下Math.random的用法

这个方法获取的随机数范围为 0.0 =< Math.random < 1.0

  • 若需要[x,y)范围的伪随机数
Math.random()*(y-x)+x
  • 若需要[x,y]范围的伪随机整数
(int)Math.random()*(y-x+1)+x

异常处理

在这里插入图片描述
抛出异常:throw,throws
捕获异常:try,catch,finally

try…catch…

在这里插入图片描述

执行流程:
程序从try里面的代码开始执行
出现异常,会自动生成一个异常类对象,该异常对象将被提交给Java运行时系统
当Java运行时系统接收到异常对象时,会到catch中去找匹配的异常类,找到后进行异常的处理执行完毕之后,程序还可以继续往下执行

例如:

public static void method(){
	try {
		int[]arr = {1,2,3};
		System.out.println(arr[3]);
} catch (ArrayIndexOutofBoundsException e){
	System.out.println("你访间的数组的索引不存在");
}

throws&throw

在这里插入图片描述

public static void method() throws ArrayIndexOutOfBoundsException {
	int[]arr = {1,2,3};
	system.out.printin(arr=[3]
}

在这里插入图片描述
throw关键字,用于方法内部,抛出异常对象

public void checkScore( int score) {
	if(score<e || score>100){
		throw new ScoreException();
	} else {
		System.out.println("分数正常")
	}
}

Throwable

成员方法

在这里插入图片描述

public static void method(){
	try {
		int[]arr = {12,3};
		System.out.println(arr[3]);
	} catch (ArrayIndexOutofBoundsException e){
	e.printStackTrace();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

huamanggg

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

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

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

打赏作者

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

抵扣说明:

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

余额充值