//#include<stdio.h>
//int main()
//{
// printf(“%d”,printf(“%d”,printf(“%d”,43)));//输出为 4321
// printf返回值是字符串个数
// printf(“%d”,43) 屏幕上打印了2个字符43,这时屏幕显示43,而printf(“%d”,43)的返回值为2,
// 即printf(“d”,printf(“%d”,2));
// printf(“%d”,2)在屏幕上打印了1个字符2,这时屏幕显示432,而printf(“%d”,2)的返回值为1;
// 即printf(“%d”,1);在屏幕上打印了1个字符1,这时屏幕显示4321
// return 0;
//}
//void add(int* p)
//{
// (*p)++;// ++ 优先级高于*,所以要打括号
//}
//int main()
//{
// int num = 0;
// add(&num);
// printf(“%d\n”,num);
// add(&num);
// printf(“%d\n”, num);
// add(&num);
// printf(“%d\n”, num);
// return 0;
//}
//二分查找
//#include<stdio.h>
//本质上 arr 是一个指针
//int binary_search(int arr[], int k,int sz)
//{
/*int sz = sizeof(arr) / sizeof(arr[0])*/;//数组传参不能再用这个方式器
//方法:放到主函数里先算好
// int left = 0;
// int right = sz - 1;
// while (left <= right)
// {
// int mid = (left + right) / 2;
// if (k > arr[mid])
// {
// left = mid + 1;
// }
// else if (k < arr[mid])
// {
// right = mid - 1;
// }
// else
// {
// return mid;
// }
// }
// return -1;
//}
//int main()
//{
// int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
// int k = 7;
// int sz = sizeof(arr) / sizeof(arr[0]);
// int ret = binary_search(arr, k,sz);
// 数组名是数组首地址 传递是 arr 首元素的地址
// if (-1 == ret)
// {
// printf(“没找到\n”);
// }
// else
// {
// printf(“找到了,下标是:%d\n”, ret);
// }
// return 0;
//}
//打印1000~2000年中的闰年
//#include<stdio.h>
//
//int is_leap_year(int x)
//{
// return (((0 == x % 4) && (0 != x % 100) )|| (0 == x % 400));
//
//}
//int main()
//{
// int year = 0;
// for (year = 1004; year <= 2000; year+=4)
// {
// if (is_leap_year(year) == 1)
// printf("%d ",year);
// }
// return 0;
//}
//输出100 至 200 中的素数
//#include<stdio.h>
//#include<math.h>
//
//int is_prime_number(int n)
//{
// int z = 0;
// for (z = 2; z <= sqrt(n); z++)
// {
// if (0 == n % z)
// return 0;
// }
// return 1;
//}
//int main()
//{
// int i = 0;
// for (i = 101; i <= 200; i+=2)
// {
// if(is_prime_number(i) == 1)
// printf("%d ",i);
// }
// return 0;
//}
// 自定义函数
//#include<stdio.h>
//
//void swap1(int x, int y)//形式参数,当函数调用完之后,就会自动销毁
//{ //与局部变量相似
// int tmp = 0;
// tmp = x;
// x= y;
// y = tmp;
//}
//当实参转给形参的时候,形参是实参的一份拷贝,对形参的改变是不会改变实参的
//void swap2(int* pa,int* pb)//形式参数当函数调用完之后,就会自动销毁
//{
// int tmp = *pa;
// *pa = *pb;
// *pb = tmp;
//}
//int main()
//{
// int a = 10;
// int* pa = &a;//pa 指针变量
// *pa = 20 ; //解引用操作
// int b = 20;
/*int*pb = &b;*/
/**pb = 10;*/
//在使用swap函数,就是调用函数,
//调用函数分为,传值调用,传址调用
/* swap1(a,b);*/ //无法交换a与的b的值,只是交换自定义函数中x与y的值
//传值调用 不会改变实参的值
//swap2(&a,&b);//&a &b 是真实传给自定义函数,所以实际参数。a.b也是真实转给自定义函数,所以也是实际参数
//传址调用 会改变实参的值
// printf(“a=%d b=%d\n”,a,b);
// return 0;
//}
//#include<stdio.h>
//int max(int x, int y)
//{
// if (x > y)
// return x;
// else
// return y;
//}
//int main()
//{
// int a = 10;
// int b = 20;
// int ret = max(a,b);
// printf(“max = %d\n”,ret);
// return 0;
//}
//#include<stdio.h>
//#include<string.h>
//int main()
//{
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Java)
最后
金三银四马上就到了,希望大家能好好学习一下这些技术点
学习视频:
大厂面试真题:
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Java)
[外链图片转存中…(img-zDsWlFV3-1713791278891)]
最后
金三银四马上就到了,希望大家能好好学习一下这些技术点
学习视频:
[外链图片转存中…(img-TR0Fbaua-1713791278891)]
大厂面试真题:
[外链图片转存中…(img-m69SbnjQ-1713791278891)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!