Java基础语法(九)某些类的基操,注意,这真的只是基操!

Java基础语法(九)某些类的基操,注意,这真的只是基操!

Java基础语法(九)某些类的基操,注意,这真的只是基操!

前言

基础语法学到这里,已经差不多快要结束了,今天就先学习一下常用的类吧,就像上一篇用的Random类和Scanner类那样的啦,都是挺实用的。
而在Java中,调用类,实例化对象需要用到一个关键字:new!相信上一篇已经看到过了。不知道你们有没有听过这句话:
Java基础语法(九)某些类的基操,注意,这真的只是基操!
没对象?new一个不就行了。当然,此对象非彼对象,这个对象可不是你们心心念念的对象,而是一个事物,一个具体的事物。

功能类的使用

Java中有一些比较常用的类可以使用,今天就去学习一下# 关于数学的类Number类和Math类,一个是将内置数据类型装箱成对象,一个是进行数学中的相关运算

Number类

虽然Java语法中有着基本数据类型,但是有的时候我们在使用中,往往需要将数据作为对象来使用,所以Java中将数字的intshort、longfloat、doublebyte这几种内置数据类型都封装进类中,分别是IntegerShortLongFloatDoubleByte而他们都是Number类的子类,继承自Number类。
并且由于这些类都用了final修饰词修饰,所以是无法被继承重写的。(继承这个后面会讲,大概意思就是父类有的,子类也有,父类没有的,子类也可以有)。
而关于基本数据类型的包装类,还有两个,一个是Character类,另一个是Booleam类。Number类在java.lang包中,包括它的子类也在java.lang中。这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。
相似的,编译器也可以把一个对象拆箱为内置类型。

定义声明使用

使用方法上和内置还是数据类型没什么区别都是先写类型名/类名+空格+变量名+赋值运算符+值+半角分号,以Integer为例:

public class Te0{
   	
    public static void main(String[] args){
   
        Integer a = 10;          
        b= a + 10;        
        System.out.println(b);	
    }
}

运行结果

20

别的类也是同样的用法

Mtah类

Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数等运算,由于Math类是静态类(static),所以其中的方法可以直接调用,同样的Math类也不需要导入可以直接使用。
我爱数学,大爱数学
Java基础语法(九)某些类的基操,注意,这真的只是基操!

基础用法

两个重要属性

既然是用于数学运算的类,那么就不得不提一下两个量,一个是 π \pi π (圆周率3.1415926…),一个是e (自然常数)。
在Math类中,也有这两个量,使用final修饰,表示不可变的常量
π \pi π 在Java的Math中是Math.PI
e 在Java的Math中是Math.E。

public class Te1{
   	
    public static void main(String[] args){
   
        System.out.println(Math.PI+" "+Math.E);	
    }
}

输出结果:

3.141592653589793 2.718281828459045

常用方法

话不多说,咱就直接上干货!(干货?!真的是干货吗?作者竟然能写干货,稀奇)

  1. abs() 求绝对值
    Math.abs(-10); //结果:10
  2. ceil() 向上取整
    Math.ceil(5.2); //结果:6.0 直接让个位+1
  3. floor() 向下取整
    Math.floor(5.7); //结果:5.0 直接让个位-1
  4. max() 最大值
    Math.max(5, 6.2); //结果:6.2 比较两个数的大小,返回大的
  5. pow() a的b次幂
    Math.pow(2, 3); //结果:8.0 返回2**3的结果,结果为double类型
  6. random() 随机数
    Math.random(); //结果:一个0-1的随机数,注意里面没有参数
  7. round() 四舍五入
    Math.ronud(11.1); //结果:11
  8. sqrt() 求平方根
    Math.sqrt(2); //结果:1.4142135623730951
  9. sin() cos() tan() asin() acos() atan() 三角函数和反三角函数

简单的将方法叭叭后,就要动手练练?或者说是看一下运行结果?对,来了。

System.out.println(Math.sin(Math.PI/2));  //结果:1.0 求正弦值
System.out.println(Math.cos(Math.PI/2));  //结果:6.123233995736766E-17 求余弦值
System.out.println(Math.tan(Math.PI/2));  //结果:1.633123935319537E16 求正切值
System.out.println(Math.asin(0.5);  //结果:0.5235987755982989 求sin的反函数值
System.out.println(Math.acos(0.5));  //结果:1.0471975511965979 求cos的反函数值
System.out.println(Math.atan(0.5));  //结果:0.4636476090008061 求tan的反函数值

String相关类

总共这几种:String 、StringBuffe、 StringBuilder三种String是无法修改的,当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。
StringBuilder和StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。
由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类

String类

定义

  1. 直接定义法
    String str = "Hello World!";
  2. 创建对象法
    String str1 = new String("Hello World!");
    两个方法区别是什么呢?第一种如果字符串内容相同的话,那么两个变量就会指向同一个字符串,可以理解为一个人有多个名字(网名);第二种内容相同的话,把他们用equals()方法比较的话,就会返回false,因为他们是两个实例化对象,可以理解为:世界上有两个人名字相同,但是不是一个人

使用

  1. 字符串拼接
    1. 使用+号拼接
      System.out.println("Hello"+" "+"World"+"!"); //结果:Hello World!
    2. 使用concat方法
      System.out.println("Hello ".concat("World!")); //结果:Hello World!
  2. 字符串格式化
    就是通过某种符号,将字符串格式化输出,可以这么理解:如果我要使用的字符串有可变量,比如说我跑步的时候,每跑一圈都要喊一句:跑了x圈。那么我们就可以使用字符串格式化。
    —— 有人会说,之前用的时候,不是用的+号吗?
    —— 确实,可以使用+号,不过如果有多个量的话,+会不会显得有一点繁琐了呢?
    所以我们学过以后就可以用格式化字符串的方法了,既显得逼格高,又好用,岂不美哉?
System.out.printf("He%slo Wo%sld! ", "l","r"); 
//第一种方法结果是:Hello World %s表示占位符,可以表示任何类型的
//同样的占位符还有%d ,表示数字的
System.out.println(String.format("He%slo Wo%sld! ", "l","r")); 
//第二种方法结果是:Hello World!
  1. 字符串比较
System.out.println("a".equals("b")); //结果是:false
  1. 字符串按照元素找下标
System.out.println("appdata".indexOf("t")); //结果是:5 如果没有找到,则返回-1
  1. 字符串长度
System.out.println("appdata".length()); 
//结果是:7 返回字符串的长度

StringBuilder类

与String不同的是,StringBuilder类的对象是可变的,意思是什么呢,就是我们可以直接在原对象上进行操作,而不会生成一个新的对象。

定义使用

StringBuilder是一个类,所以通过new关键词来实例化对象

StringBuilder s1 = new String("hello world"); //直接写字符串,进行初始化
StringBuilder s2 = new StringBuilder(5);  //定义一个长度,不进行初始化
System.out.println(s1+" "+s2);
s1.append("12345");
s1.append("666");
System.out.println(s1+" "+s2);
/* 输出结果为: 1234512345666 12345 */

常用方法:

  1. 字符串.append(); 一个参数在原字符串后面加新的内容,上面第一四步就是在空字符串上加12345
StringBuilder s1 = new StringBuilder("hello world");
s1.append("!");
System.out.println(s1);  
//结果:hello world!
  1. 字符串.insert(); 两个参数
StringBuilder s1 = new StringBuilder("hello world");
s1.insert(10,"!");
System.out.println(s1);  
//结果:hello world!

第一个参数为字符串下标,第二个为内容,将内容添加到下标前面
3. 字符串.delete() 两个参数;两个参数都是下标,第一个是起始下标,第二个是终止下标,将两个下标之间的内容删除。

StringBuilder s1 = new StringBuilder("hello world!");
s1.delete(0, 4);
System.out.println(s1);
//结果是: world!

StringBuffer类

StringBuffer类和StringBuilder类一样,对象都是可变对象。

定义

StringBuffer s1 = new StringBuffer ("123");
// 实例化对象为s1,并初始化为123
StringBuffer s1 = new StringBuffer ();
//实例化对象为s1,并不进行初始化

使用

StringBuffer s1 = new StringBuffer ("123");
s1.append("1")
System.out.println(s1);  //追加1,输出:1231
s1.replace("1", "2")
System.out.println(s1);  //将1替换成2,输出:2232
s1.insert(3, "2")
System.out.println(s1);  //在下标为3的后面插入2,输出:22322
s1.delete(1, 2)
System.out.println(s1);  /删除从下标为1到下标为2的值,输出222

就这么多了,不过开头我也说了,这都是基操,所以,就这样吧。

Scanner类和Random类

一个是控制输入的类,一个是随机数类

Scanner 类

从键盘获取数据,位于java.util包下,使用需要先导入

1. 上手

  1. 先导入
import Java.util.Scanner;
  1. 再实例化
Scanner scan = new Scanner (System.in);
//为Scanner类实例化一个名为scan的类,用于接收从键盘获取的数据
  1. 使用
int a = scan.nextInt();
//声明整型变量a,将从键盘获取的数据存入a中,输入的时候必须为整数,否则报错
float b = scan.nextFloat();
//声明单精度浮点数变量b,将从键盘获取的数据存入b中,输入的时候必须为单精度浮点数,否则报错
char c = scan.nextChar();
//声明字符型变量c,将从键盘获取的数据存入c中,输入的时候必须为字符型,否则报错
String d = scan.next();
//声明字符串d,将从键盘获取的数据存入d中,输入的时候必须为字符串,否则报错
System.out.println(a+" "+b+" "+c+" "d);
//可以像使用普通变量一样去通过变量名调用他们

好了,没了,我会的就这么多了,学识短浅

Random类

随机数类,简单实用,真的超级简单的用法

定义

Random rd = new Random ();
//第一种方法:实例化一个Random类对象
Random rd2 = new Random (10);
//第二种方法:根据种子值实例化一个对象

使用

System.out.println(rd.nextInt()); //生成一个随机整型数
System.out.println(rd.nextDouble()); //生成一个0-1的双精度浮点数
//…还有别的,用法是next+首字母大写的基本数据类型名字,和Scanner接收数据的用法差不多
System.out.println(rd.nextInt(5)); //生成一个0-5之间的随机整数
System.out.println(rd.nextDouble()*5); //生成一个0-5的小数

差不多这就够用啊,就这样咯

Java基础语法(九)某些类的基操,注意,这真的只是基操!

结语

嗯,说是基操,他就是基操,一点深入都不带深入的。(主要是因为我也不会,小白一个,以后继续努力学习吧,加油吧,少年们,我们一起努力!)
文中有什么写的不对或者不好的地方,欢迎找出来,我们一起进步哦~
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100264.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Windows server2012密钥_windows 7密钥

    Windows server2012密钥_windows 7密钥WindowsServer2012Standard密钥:NB4WH-BBBYV-3MPPC-9RCMV-46XCBWindowsServer2012StandardCore密钥:NB4WH-BBBYV-3MPPC-9RCMV-46XCBWindowsServer2012Datacenter密钥:BH9T4-4N7CW-67J3M-64J36-WW98YWindowsS

    2022年10月10日
  • IDEA的基本使用:让你的IDEA有飞一般的感觉[通俗易懂]

    IDEA的基本使用:让你的IDEA有飞一般的感觉[通俗易懂]1.设置maven在File->settings->搜索maven Mavanhomedirectory–设置maven安装包的bin文件夹所在的位置 Usersettingsfile–设置setting文件所在的位置 Localrepository–设置本地仓库的2.IDEA设置代码行宽度在File->settings->E…

  • booth算法原理的简单化理解「建议收藏」

    booth算法原理的简单化理解「建议收藏」最近,在学习带符号二进制数乘法(multiplicationof signednumbers)时接触到了布思算法(boothalgorithm)。由于是第一次接触,对于其原理却一无所知,书上的解释以及网上的文章不知是自己才疏学浅还本来就是泛泛而谈,没有让我了解其本质。经过长时间的思考分析,最终找到了一种比较简单的理解方法。举一个简单的例子,比如说计算10100001×00111110,

    2022年10月23日
  • idea 2022 激活码永久 mac【2022.01最新】2022.02.27

    (idea 2022 激活码永久 mac)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html2K…

  • eclipse使用jrebel

    eclipse使用jrebeljrebel 注:以下都是网上收集整理的,可能不全,仅限于学习和研究使用。 JavaRebel是一个工具,主要是用于热加载,比如说在Tomcat之类的应用服务器中,更新了class或者某些资源文件,使用了JRebel之后,就不需要重新启动应用服务器。这里有一点先声明一下,本文只是激活成功教程仅限于学习和研究使用,勿用于其他用途。下载地址:http://www.zeroturnar…

  • hz的单位换算速度_hz与w怎么换算

    hz的单位换算速度_hz与w怎么换算物质在1秒内完成周期性变化的次数叫做频率,常用f表示。物理中频率的单位是赫兹(Hz),简称赫,也常用千赫(kHz)或兆赫(MHz)或GHz做单位,单位符号为Hz。.hz是一个频率的单位,它表示物体在一秒钟之内振动一次,它的频率就是1hz。k代表千,khz即千赫芝;m代表兆,mkhz即兆赫芝;还有一个g代表京,它们都是英美换算单.20kHz等于20000Hz。具体换算过程如下。千赫兹(KHz)和赫兹…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号