}
}
5. 冒泡排序
冒泡排序详细笔记
排序思路:要比较多轮,每轮两个相邻的元素做比较,位置不对就互换
代码思路:
通过嵌套for循环来完成
-
外层循环:控制的是轮数,如果有n个数,最多n-1轮
-
内层循环:控制的是每轮中比较的次数,每一轮的次数会递减,之前轮确定的最大值不应该参与后面轮的比较
注意:外层循环的循环变量代表的是轮数1 2 3 4…
内层循环的循环变量代表的是数组的下标[0,a.length-i)
6 拓展案例:简易计算器
package cn.tedu.hello;
import java.util.Scanner;
/*本类用于实现简易计算器/
public class TestMethod {
public static void main(String[] args) {
f0();//调用一个实现计算器的方法
}
private static void f0() {
while(true){//死循环,让用户一直算
//1.提示并接收用户输入的两个数
System.out.println(“请您输入要计算的第1个数:”);
int a = new Scanner(System.in).nextInt();
System.out.println(“请您输入要计算的第2个数:”);
int b = new Scanner(System.in).nextInt();
//2.提示并接收用户输入的运算符
System.out.println(“请您输入要计算的运算符,支持:+ - * / :”);
String s = new Scanner(System.in).nextLine();
//3.根据运算符的不同,调用不同的方法计算
switch (s){
case “+” : f1(a,b);break;
case “-” : f2(a,b);break;
case “*” : f3(a,b);break;
case “/” : f4(a,b);break;
default: System.out.println(“输入的运算符不正确!”);
}
//4.询问用户是否想继续运算
System.out.println(“如果想退出,请输入1,继续请输入2”);
int flag = new Scanner(System.in).nextInt();
if(flag == 1){ break;}//如果if后只有句话,大括号可以省略
}
}
private static void f1(int a, int b) {//将拿到的两个数进行加法运算并打印结果
System.out.println(a+“和”+b+“做加法运算的结果为:”+(a+b));
}
private static void f2(int a, int b) {//将拿到的两个数进行减法运算并打印结果
System.out.println(a+“和”+b+“做减法运算的结果为:”+(a-b));
}
private static void f3(int a, int b) {//将拿到的两个数进行减法运算并打印结果
System.out.println(a+“和”+b+“做乘法运算的结果为:”+(a*b));
}
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
最后
关于面试刷题也是有方法可言的,建议最好是按照专题来进行,然后由基础到高级,由浅入深来,效果会更好。当然,这些内容我也全部整理在一份pdf文档内,分成了以下几大专题:
- Java基础部分
- 算法与编程
- 数据库部分
- 流行的框架与新技术(Spring+SpringCloud+SpringCloudAlibaba)
这份面试文档当然不止这些内容,实际上像JVM、设计模式、ZK、MQ、数据结构等其他部分的面试内容均有涉及,因为文章篇幅,就不全部在这里阐述了。
作为一名程序员,阶段性的学习是必不可少的,而且需要保持一定的持续性,这次在这个阶段内,我对一些重点的知识点进行了系统的复习,一方面巩固了自己的基础,另一方面也提升了自己的知识广度和深度。
份面试文档当然不止这些内容,实际上像JVM、设计模式、ZK、MQ、数据结构等其他部分的面试内容均有涉及,因为文章篇幅,就不全部在这里阐述了。
作为一名程序员,阶段性的学习是必不可少的,而且需要保持一定的持续性,这次在这个阶段内,我对一些重点的知识点进行了系统的复习,一方面巩固了自己的基础,另一方面也提升了自己的知识广度和深度。