2024年四个原生类--Java语言(jdk自带的工具类) _java jdk 原生utils,2024年最新C C++性能优化最佳实践

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

static double sqrt(double x) 开根号,算出x的平方根,注意x必须为正数

static double pow(double base,double exponent)

pow(2,10) 代表 2的10次方。

  • The String class

String target ="abc";
String target2=new String("abc");
System.out.println(target.equals(target2));

int length()—字符串的长度
class Test{
	public static void main(String args[]){
		String target="abcde";
		System.out.println(target.length());
	}
}

substring()
  1. String substring(int from ,int to)-------意思是从哪里开始到哪里结束。截出来一串字符串,from 是从哪里开始(包括), to是从哪里结束(不包含)
class Test{
	public static void main(String args[]){
		String target="abcdefg";
		System.out.println(target.substring(2,6));
		System.out.println(target);
	}
}

substing 将返回值截取某一段出来,但是不会改变字符串的值。

2.String substring(int from) -----意思是从from开始到末尾结束,仍然不改变字符串的大小。

int indexOf(String str) 在当前字符串里面,str首次出现的位置
class Test{
	public static void main(String args[]){
		String target="abcdefgcdcd";
		//将会返回cd首次出现的位置
		System.out.println(target.indexOf("cd"));
	
	}
}

两种用法,找到参数里的字符串,他在原有字符串中首次出现的位置。但如果没有的话就会显示-1

(注意:这里面的h用的是单引号,单引号用于单个字符,双引号也不会报错)

class Test{
	public static void main(String args[]){
		String target="abcdefg";
		System.out.println(target.indexOf('h'));	
	}
}

int compareTo(String other)

相当于是做减号,当字符串长度相同时,比较字符串中字母的大小,对字母表中的排序进行排序的减法

字符串长度不同时,结果比较的是字符串长度的差值

Returns 0 if the value of this Integer is equal to the value of other, a negative integer if it is less than the value of other, and a positive integer if it is greater than the value of other.

class Test{
	public static void main(String args[]){
		//结果是-4,剪的是字符串的长度
		String target="cd";
		String target2="cdedhs";
		System.out.println(target.compareTo(target2));	
		//结果是1 ,减的是不同位开始字母的顺序
		String target="cdf";
		String target2="cdedhs";
		System.out.println(target.compareTo(target2));	
		//当两个字符串的位数和内容完全相同时,结果会是0
	}
}
char charAt(int Pos)

用来显示字符串中相应位置的字符

但如果没有这个位置的字符,会报错,字符串越界异常 ,结果产生的错误是在运行的时候产生的,而不是在编译的时候产生的,叫做异常Exception

equals 和 ==  的区别,equals 测试String的内容,然而 == 会比较String作为本类创建的对象不同引用

  • The Array (1 dimension and 2 demension)

An ordered sequence of something makes an  array.

conception:相同类型元素的有序集合

分类:静态数组Array、和动态数组

静态数组Array:数组的长度(元素的个数)不可以改变;动态则表示数组的长度可以改变。

静态数组的声明

type[] Name = new Type[n]; //表示静态数组的长度

type[]:表示数组的类型,【】表示生成的数组是一维的(这个静态数组的元素是一行,所有的元素是在同一行写完的)

Name:数组的名字

new:调用构造函数(熟悉)

Type[n] :静态数组的构造函数,n表示的是静态数组的长度,即表示可以放入多少个元素。

例: int[] scores={6,6,6,6,6};   定义了一个名为scores 类型为整数的数组,有5个元素,每个元素的值为6,

怎么获得数组的长度呢?

final int attribute of length 属性,例如 name.length;   scores.length 之类

数组除了定义基本数据类型还有引用数据类型
Human[] group ={new Human("Josh"),new Human("Andy")};

指的是 group 这个数组里面有两个元素,长度为2 ;用new 关键字调用Human这个类的构造函数生成Human类的对象,一个名为Josh 一个名为Andy

对于静态数组来说,计数的时候,首个元素和字符串是一样的,是从0开始而不是从1开始,

int i = scores[0]; //表示scores数组里面的第一个元素的这个基本数据类型的值 
Human a = group[1]; // 引用数据类型group里面的Andy这个引用,注意是引用不是对象

二维静态数组

比如生成一个2行3列的数组

int rowNumber =2;
int columnNumber =3;
double[][] a= new double[rowNumber][columNumber];

对于二维数组来说

a.length返回行数(number of rows);

a[0].length 返回列的数目  (number of column),这种一维的表示方法指的是第一行里面有多少个元素,就代表2维静态数组有多少列。如果一共就2行,写了个a[5].length 就会有风险,就会有异常,报错,所以写a[0]用来表示列数,一定不会出错。

练习
class Test{
	public static void main(String args[]){
		int[][] numbers=new int[10][10];
		for(int i=0;i<10;i++){
			for(int j=0;j<10;j++){
            //把当前数组中第i行第j列,进行赋值
            //第一行都是1,第二行都是2,第三行都是数字3
				numbers[i][j]=i+1;
				
			}
		}
		//当对一个不知道几行几列的数组进行操作时,需要用numbers.length获得行数,numbers[0].length获得列数
		for(int i=0;i<numbers.length;i++){
			for(int j=0;j<numbers[0].length;j++){
				//打印当前元素的值
				System.out.print(numbers[i][j]+" ");
			}
			System.out.println();
		}
}
	
}

静态数组的长度不能改变,可以把数组里的某一个值无论是基本还是引用,可以进行改变,

  • The ArrayList implements from list

动态数组list ,这个接口interface类里面,定义了,**一个动态数组所具备的全部行为,**数组中的元素和长度是可以改变的

动态数组里的元素的长度和个数是可以改变的,可以增加或者减少里面的元素

只有ArrayList类里面才有能够改变数组元素的个数的方法、

实现list接口的类 是ArrayList   ,

list 是一个接口,有很多类可以实现,其中一种叫做ArrayList,而Array指的是静态数组,是指的用一个Array 来实现一个list,用一个静态数组,来实现一个动态数组。

用法:

ArrayList<Double> samples = new ArrayList<Double>();

注意D是大写的,

ArrayList 里面只可以放引用数据类型,不能放primitive type ,

两个尖括号里的数据类型要保持一致;

动态数组中的() 里面是不用填写数值的,因为数组的长度是可以发生改变的,放的多回自动长大,放的少也会自动缩小。

考试中需要掌握的方法有如下六个:

int size()  动态数组的长度,注意是一个方法,而不是属性,

boolean add(E obj)  往动态数组里加入元素,注意是加到最后一位,add()的返回值是boolean类型的,且永远会是true。

void add(int index ,E obj)  两个参数,表示可以把这个元素放在中间的位置,index是几,就表示要把它放在动态数组的第几位,后面的元的index会以此往后顺延,注意没有返回值。

E get(int index) ,get方法用来获得当前数组某一位上的元素值,比如这个动态数组中有三个元素 0,1,2,进行get(3),但是数组里没有第4个元素,这时计算机就会报错。返回值就是元素 的引用,

E set(int index)  , set动态数组的值不发生改变,而是设置的意思,add会增加数组的长度,但是set 不会,set会让动态数组的长度不变,只是让某一位的值替换为其他位的值,set也会有返回值,会将被替换的旧的那一位进行返回。

E remove(int index),删除,删除的谁,就会把谁的引用返回。

在一个静态或者动态数组里面,能否存储不同的数据类型?

Different data types elements in Array or List

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

data types elements in Array or List

[外链图片转存中…(img-FQlzwfNk-1715594332705)]
[外链图片转存中…(img-5SbgIAnA-1715594332705)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 25
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值