JavaSE:第十七章:编程测试题,阿里珍藏版Java框架体系架构手写文档

}else {

System.out.println(“第一个字母不是大写字母!”);

}

运行结果:

请输入一个字符串:

ABCabcdBC

第一个字母大小为:65

A B C B C 5

**练习:**

一个应用程序,接受用户输入的一行字符串,统计字符个数,然后反序输出。

Scanner scanner = new Scanner(System.in);

System.out.println(“请输入字符串:”);

String string = scanner.next();

String back;

int index= string.length() - 1;//4-1=3

char[] charArray = new char[index + 1];

for (int i = 0; i < string.length(); i++) {

char charAt = string.charAt(i);

charArray[index - i] = charAt;

}             //3  0123

String string2 = new String(charArray);

System.out.println(“字符个数为:” + string.length() + “,” + string2);

运行结果:

请输入字符串:

sddfgghhj

字符个数为:9,jhhggfdds

**练习:**

实现这两个字符串的拼接

Scanner scanner = new Scanner(System.in);

System.out.println(“请输入字符串:”);

String next1 = scanner.next();

System.out.println(“请输入再次输入字符串:”);

String next2 = scanner.next();

String concat = next1.concat(next2);

System.out.println(concat);

运行结果:

请输入字符串:

fdsaf

请输入再次输入字符串:

dsfaaf

fdsafdsfaaf

**练习:写一个冒泡排序**

排序思想:

相邻两元素进行比较,如有需要则进行交换,每完成一次循环就将最大元素排在最后(如从小到大排序),下一次循环是将其它的数进行类似操作。

简单来说:

拿从小到大排序:拿二个数来比大小,大的数拿出来,继续跟后面的数比较大小,继续拿大的数出来这样循环,最后一个数反正是最大的。下一次循环操作类似。

案例:

int[] array = {11,5,9,7,3,2};

最开始数组:11 5 9 7 3 2

11比5大,拿11:5  11 9 7 3 2

11比9大,拿11:5 9 11 7 3 2

11比7大,拿11:5 9 7 11 3 2

比完第一轮后:

5 9 7 3 2 11

代码参考:

int[] array = {11,5,9,7,3,2};

for (int i = 1; i < array.length; i++) {

if(array[i-1] > array[i]) {

int temp;

temp = array[i-1];

array[i-1] = array[i];

array[i] = temp;

}

}

for (int i = 0; i < array.length; i++) {

System.out.print(array[i] + " ");

}

已经确定11为最大的数,就不拿11继续比较了

现在要比较的数组:5 9 7 3 2

和第一轮一样

拿5和9比,9大,拿9:5 9 7 3 2

拿9和7比,9大,拿9:5 7 9 3 2

第二轮比较:5,7,3,2,9

第三轮比较:5,3,2,7

第四轮比较:3,2,5

我们可以发现比较的数的形状有点像:

。。。。。。

。。。。。

。。。。

。。。

。。

实现代码:

int[] array = {11,5,9,7,3,2};

for (int i = 0; i < array.length; i++) {

for (int j = 0; j < array.length - i; j++) {

System.out.print(“。”);

}

System.out.println();

}

发现内外循环可以使用上面的操作了,我们可以继续对俩个数进行换位置操作。之前我们学过二个数换位置,所以附上代码:

if(小的数变量 > 大的数变量) {

int 临时变量;

临时变量= 小的数变量;

小的数变量 = 大的数变量;

大的数变量= 临时变量;

}

放到数组中

if(array[j-1] > array[j]) {

int temp;

temp = array[j-1];

array[j-1] = array[j];

array[j] = temp;

}

最终代码:

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
img

最后

由于文案过于长,在此就不一一介绍了,这份Java后端架构进阶笔记内容包括:Java集合,JVM、Java并发、微服务、SpringNetty与 RPC 、网络、日志 、Zookeeper 、Kafka 、RabbitMQ 、Hbase 、MongoDB、Cassandra 、Java基础、负载均衡、数据库、一致性算法、Java算法、数据结构、分布式缓存等等知识详解。

image

本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的视频解析总结。

image

image

a基础、负载均衡、数据库、一致性算法、Java算法、数据结构、分布式缓存**等等知识详解。

[外链图片转存中…(img-BDoKQ5z7-1711138090627)]

本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的视频解析总结。

[外链图片转存中…(img-xEkWf24q-1711138090627)]

[外链图片转存中…(img-CJNKu3DC-1711138090628)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值