网站首页 > java教程 正文
在Java开发中,工作压力有时候非常大,有时候累了,会写一个小程序玩一玩,或者打印一下图形来放松一下,或者写几个Java的基础实例来练习一下。今天来分享几个经典实例,并总结一下其中用到的知识,欢迎各位看客指正!
A、Java排序之冒泡法:Java排序主要有八种,插入排序(直接插入排序、希尔排序)、交换排序(冒泡排序、快速排序)、选择排序(直接选择排序、堆排序)、归并排序、分配排序(基数排序),今天主要分享最基础,最简单也是我最喜欢的一种,冒泡排序法。
核心代码放在双重循环里,如下:
数组为例:
int arry[] = {23,54,26,84,27};
for(i=0;i<arry.length-1;i++){
for(j=0;j<arry.length-i-1;j++){
int temp =0;
if(arry[j]>arry[j+1]){
temp = arry[j];
arry[j]= arry[j+1];
arry[j+1] = temp;
}
}
}
注意:这里使用到了:int类型,i++。循环语句For()语句,双重For循环语句。数组的定义,初始化,下标(Java中各种集合的下标都是从0开始的),数组的length属性(印象中考试最喜欢考array.length、String.length()和list.size())数组的长度等相关数组的知识。
List集合为例:
List<Integer> list = Arrays.asList(9,4,6,43,65,23,10);
for(int i=0;i<list.size()-1;i++){
for(int j=0;j<list.size()-1;j++){
int tem;
//if(list.get(j+1).compareTo(list.get(j))>0){
if(list.get(j+1)>list.get(j)){
tem=list.get(j);
list.set(j, list.get(j+1));
list.set(j+1, tem);
}
}
}
注意:这里用到了List集合的定义初始化,list.size(),compareTo()、Arrays.asList()、list的取值和赋值、长度和下脚标等知识。(这里的List初始化我没有用add去一个一个的增加,而是使用Arrays.asList()方法)
B、双重For循环实现九九乘法口诀:循环语句在是Java的基础核心语句,也是工作中经常用到的Java知识,有For循环,While循环和Do-While()循环,这里使用For循环和While循环来实现九九乘法口诀。
For循环,核心代码如下:
for(int i=0;i<10;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j);
if(i*j<10){
System.out.print(" ");
}else{
System.out.print(" ");
}
}
System.out.println();
}
注意:这里在内层for循环中使用了If()选择语句,为了区分结果为10以上和10一下,保持页面的整齐。
主要用到For()循环,If()选择等Java基础知识。
While循环,核心代码如下:
int i=1,j=1,k=1;
while(i<10){
while(j<10){
System.out.print(j+"*"+i+"="+i*j);
if(i*j<10){
System.out.print(" ");
}else{
System.out.print(" ");
}
j++;
}
k++;
j=k;
i++;
System.out.println();
}
注意:这里定义三个变量,其中j是为了跳出内存循环,i是为了跳出外出循环,k是为了赋值给j并重新计算。
主要用到了while循环语句,if选择语句!
C、多维数组的遍历,其实不管是数组,List还是Map,它的遍历都是有多种方法,下次会总结一下他们遍历的方法和效率,今天值分享二维数组的变量,其实也是双重Foreach循环语句:
核心代码如下:
int array[][] = {{2,3,4,6},{4,64,75,23,4},{23,56}};
System.out.println("foreach变量多维数组:");
for (int[] is : array) {
for (int i : is) {
System.out.print(i+" ");
}
System.out.println();
}
注意:这里主要用到多维数组的定义和初始化,foreach循环等知识。
这里先分享这么多,下次会继续分享Java小实例和Java的相关知识,还有Java面试中比较出名的题如水仙花数,兔子从出生到每三个月生一对小兔子,素数、、、、请继续关注我的经验分享,我会继续努力分享更多干货!
环境关注微信公众账号:thiscode
猜你喜欢
- 2025-05-28 算法:有序数组的平方(Java版)
- 2025-05-28 Alibaba EasyExcel:合并列、行 设置,OnceAbsoluteMergeStrategy
- 2025-05-28 JAVA学习:跨平台时如何处理回车换行
- 2025-05-28 去字节跳动面试(Java岗),这1道面试题100%会问到
- 2025-05-28 分片篇:shardingsphere JDBC 5.X 改写引擎设计思路
你 发表评论:
欢迎- 06-04C++优先级调度队列(Priority Queue)
- 06-04数据结构与算法-优先队列(优先队列 数组实现)
- 06-04什么是优先队列?(优先队列原理)
- 06-04终于有架构大牛把分布式系统概念讲明白了,竟然用了足足800页
- 06-04分布式事物如何保证接口请求顺序性?
- 06-04微服务下分布式事务模式的详细对比
- 06-04彻底掌握分布式事务2PC、3PC模型(分布式事务 三阶段)
- 06-04分布式事务最全详解(看这篇就够了)
- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)