几个常见的java内置对象

本文介绍了Java中四个重要的基础对象:Scanner用于标准输入,Math类包含数学运算,Random类生成随机数,以及字符串对象的操作如长度、截取、替换等。示例代码展示了这些对象的常见用法,帮助理解其功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

几个常见的java内置对象

1.Scanner类——java.util.Scanner

Scanner 是标准输入流,IO流,是不可被继承的类。
一个Scanner打破它的输入令牌使用分隔符模式,默认匹配空格。
例如,该代码允许用户从System.in读数:

 Scanner sc = new Scanner(System.in);
 int i = sc.nextInt();		//从控制台输入

常用方法:

next()				// 从控制台获取字符串
nextInt()			//从控制台获取一个int类型的值
nextDouble()		//从控制台获取一个double类型的值
nextLong()			//从控制台获取一个long类型的值
nextShort() 			//从控制台获取一个short类型的值
nextByte()			//从控制台获取一个byte类型的值
nextLine() 			//从控制台获取一行字符串
import java.util.Scanner;

public class Demo0 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String s = sc.next();
        System.out.println("请输入一个整数:");
        int n = sc.nextInt();

        System.out.println(s);
        System.out.println(n);
    }
}

在这里插入图片描述

2.Math类——java.lang.Math

Math类是不可被继承的类,包含用于执行基本的数字运算等基本指数、对数、平方根法、三角函数,是不可继承的类。
常用方法:

PI			// 圆周率, 属性
E			// 自然常数,属性
abs(num)	// 返回num值的绝对值
cbrt(a)		// 开立方根
ceil(a)		// 向上取整 
floor(a)	// 向下取整
pow(a, b)	// a^b 幂次方
sqrt(a)		// a的平方根
random()	// 获取一个[0, 1)的随机小数 
max(a,  b) 	//获取a和b中较大的值
min(a,  b) 	//获取a和b中较小的值
public class Demo0 {
    public static void main(String[] args) {
        System.out.println(Math.PI);                //3.141592653589793
        System.out.println(Math.E);                 //2.718281828459045
        System.out.println(Math.abs(-10));          //10
        System.out.println(Math.cbrt(27));          //3.0
        System.out.println(Math.ceil(1.0000001));   //2.0
        System.out.println(Math.floor(1.999999));   //1.0
        System.out.println(Math.pow(2, 10));        //1024.0
        System.out.println(Math.sqrt(9));           //3.0
        System.out.println(Math.random());          //0.3971099614319069
        System.out.println(Math.max(5,9));          //9
        System.out.println(Math.min(5, 9));            //5
    }
}

3.Random类——java.util.Random

这个类的一个实例是用于生成伪随机数流。

随机算法的起源数字被成为种子数(seed)。

虽然Random类产生的数字是随机的,但在相同种子数(seed)下的相同次数产生的随机数是相同的(伪随机)。

Random中共有两种构造方法

1、public Random()

此构造方法是以系统自身的时间为种子数来构造Random对象。

2、public Random(long seed)

此构造方法可以自己来选定具体的种子来构造Random对象。

四、常用方法

random.nextInt()		返回值为整数,范围是int类型范围
random.nextLong()		返回值为长整型,范围是long类型的范围
random.nextFloat()		返回值为小数,范围是[0,0.1]
random.nextDouble()		返回值为小数,范围是[0,0.1]
random.nextBoolean()	返回值为boolean值,true和false概率相同

例:

import java.util.Random;

public class Demo0 {
    public static void main(String[] args) {
        Random random = new Random();
        for (int i = 0; i < 10; i++){
            int r = random.nextInt(100);//产生一个0~100的整数
            System.out.println(r);
        }
    }
}

在这里插入图片描述

4.字符串对象(String)—— java.lang.String

字符串:字符连在了一起,形成了字符串。
在Java中,一般表现为"",引号的内部内容就是字符串。
在java中,字符串是引用数据类型(对象)。

定义字符串:

String s = "Hello World!";	// 定义了一个字符串

第二种定义方式
//new String()		获取字符串
String ss = new String();	// 等价于 String ss = "";

String sss = new String("Hello World");	
// 等价于 String sss = "Hello World";

注:字符串是一个常量,是一种不可变的数据类型

常见的字符串方法:

charAt(i)					// 获取下标对应的字符
length()					// 返回字符串的长度
codePointAt(i)				// 获取下标对应的字符的Unicode值
concat(str)					// 拼接字符串
contains(str)				// 是否包含str字符串
static copyValueOf(char[])	//与valueOf(char[])一样,返回的 char数组参数的字符串表示形式。
endsWith(suffix)			//测试如果这个字符串以指定的后缀结束。
startsWith(prefix)			//测试如果这个字符串以指定的后缀开始。
equals(str)					//将此字符串与指定的对象比较
equalsIgnoreCase(str)		//将此字符串与指定的对象忽略大小写比较
getBytes()					//将字符串转换为字节数组
indexOf(str)				//返回指数在这个字符串指定的子字符串中第一个出现的。
lastIndexOf(str)			//返回指数在这个字符串的指定子字符串中最后出现
isEmpty() 					//判断字符串是否为空
replace(oldstr, newstr)		//将一个字符串替换为另一个字符串
static join(标识符, 字符串数组)//
split(regex)				//将这个字符串按照指定的正则表达式分割。
substring(index)			//截取字符串
substring(start, end)		//从start截取到end
toCharArray() 				//将此字符串转换为一个新的字符数组
toLowerCase() 				//将字母转换为小写
toUpperCase() 				//将字母转换为大写
trim() 						//去除字符串的前后空格
valueOf()					//返回的 char数组参数的字符串表示形式。
public class Demo0 {
    public static void main(String[] args) {
        String a = " Hello World! ";

        //字符串的基本操作
        int len = a.length();  //取得字符串的长度
        char c = a.charAt(4);  //提取出a中索引为4的字符,也就是o
        int d = a.indexOf("r");  //取得指定字符的索引
        String e = a.trim();   //去掉字符串首尾的空格
        String f = a + "adfa";  //字符串的拼接
        String g = a.substring(1,4);  //字符串的子串
        String h = a.replace("llo","he"); //字符串的替换

        System.out.println(len);
        System.out.println(c);
        System.out.println(d);
        System.out.println(e);
        System.out.println(f);
        System.out.println(g);
        System.out.println(h);

        //将整数转换为字符串
        int i = 123;
        String j = String.valueOf(i);
        System.out.println("---将整数转为字符串---");
        System.out.println(j);

    }
}

在这里插入图片描述

注意:字符串不要使用等于符号判断是否相等
在java中 == 判断的值的,不能用来判断字符串
因为字符串的创建方式有多种,不同的创建方式,地址(指针)可能不一样

基本数据类型都是可以使用 == 判断是否相等
字符串不能还是用 == 判断是否相等

字符串中 == 判断的字符串的地址
	equals判断是字符串的值;

课堂案例:给定一个字符串,判断该字符串是否是回文字符串

import java.util.Scanner;

public class Demo07 {
    public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String str = sc.next();
        boolean b = isPalindrome(str);
        if (b){
            System.out.println(str + " 是回文字符串");
        }else {
            System.out.println(str + " 不是回文字符串");
        }
    }

    public static boolean isPalindrome(String str){
        for (int start = 0, end = str.length() - 1; start <= end; start++,end--){
            if (str.charAt(start) == str.charAt(end)){
                return true;
            }
        }
        return false;
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值