Java历程-初学篇 Day09 冒泡排序】的更多相关文章

冒泡排序 冒泡排序(Bubble Sort)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端. 冒泡排序算法的运作如下: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 针对所有的元素重…
一,扫描仪 步骤1,使用扫描仪方法 步骤2,导个包 步骤三,使用 注意事项:严格区分大小写 二,类型转换 1,自动类型转换 当将一个数值范围小的类型赋给一个数值范围大的数值型变量,java在编译过程中将此数值的类型进行了自动提升. 示例: 2强制类型转换 当将一个数值范围大的类型变量给一个数值范围小的数值类型变量,编译会报错,这时候要用到强制类型转换 示例: 控制台输出为: 大家会惊奇的发现他小数位的没有了, ****注意,强制类型转换某些情况会造成数据丢失,慎用…
一,数据类型 1,基础数据类型 整型 byte short int long 浮点型 float double 字符型 char 布尔类型 boolean 2,引用类型 String 字符串型 二,变量 1,声明变量的格式: 数据类型 变量名=变量的值; 2,各类型的示例: 3,变量名的命名规则: (1)变量必须以字母,下划线"_",或"$"符号开头; (2)变量可以包括数字,但不能以数字开头; (3)除"_","$"符号外,…
HelloWorld!!!!! 一,第一个java程序的构成 1,外层框架 class 后面的类名必须与文件名相同 起名方法:1)构成只能有_ $ 字母 数字 2)数字不能开头 3)首字母必须大写 4)见名知意 2,内层框架 main方法 一个类方法只有一个main方法入口 3,输出语句 println的意思是结束这句之后换行,可以不加,写为print; 括号内输出的内容要用双引号引起; 句末必须加分号; 二,完整的HelloWorld console的输出为 三,转义符 1,\n   换行的意…
一,什么是数组 所谓数组,是相同数据类型的元素按一定顺序排列的集合.若将有限个类型相同的变量的集合命名,那么这个名称为数组名.组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量.用于区分数组的各个元素的数字编号称为下标.数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式.这些按序排列的同类数据元素的集合称为数组. 二,如何使用数组 (注意事项:数组下标从0开始,最大值为--数组.length-1) 1,声明数组 数据类型[] 数组名;…
一,格式 for(赋值语句//为循环变量赋初值;条件语句//循环结构的循环条件;赋值语句//迭代,修改循环变量的值){ //循环体; } 二,简单举例 for(int i=1;i<=10;i++){ System.out.print("第"+i+"遍循环"); } 三,for循环条件可以少吗? 当然可以,他可以放在for循环内或者外面 甚至可以写个死循环 for(;;){ System.out.println("死循环"); } 四,简单举…
前记:永远不要写死循环 一,while循环 先判断,再执行 while(条件){ //代码块; 迭代; } 示例: 二,do while语句 先执行一次,再判断 do{ //代码块; 迭代; }while(条件); 示例:…
一,switch 由于本作者学的是jdk6.0版本,我知道7.0可以使用字符串,但是我就不改了 语法: switch(char类型/int类型){ case 值: //输出 break; ... defaule: //输出 break; } 示例1: 示例2:…
一,if 1,单分支 if(条件){ } 示例: 2,双分支 if(条件){ }else{ } 示例: 3,多重if if(条件){ }else if(条件){ }else{ } 示例: 4,嵌套if if(条件){ if(条件){ }else{ } }else{ } 示例:…
前言 终于,java初探系列的学习,要告一阶段了,java初探系列在我的计划中是从头学java中的第一个阶段,知识主要涉及java的基础知识,所以在笔记上实在花了不少的功夫.虽然是在第一阶段上面花费了大量的时间,但切实将这些知识学习到了,而不再是囫囵吞枣似的,似懂非懂.接下来我会根据个人的学习体会,将这个阶段的知识大致从新整理一下,给大家提供参考,也当是自己对这个阶段的总结,准备投入到下一个阶段你的学习了. 先后顺序将以适合学习的顺序归纳总结. 初学java时应当了解到的一些基本知识 [知识向]…
本篇文章,先从数据结构开始,一边总结,一边反思,寻求最优解. 本文简单温习下最基础的三类算法:选择,冒泡,插入.先定义一个交换数组作为备用: /** * 交换数组元素 * @param arr * @param a * @param b */ public static void swap(int []arr,int a, int b){ arr[a] = arr[a] + arr[b]; arr[b] = arr[a] - arr[b]; arr[a] = arr[a] - arr[b]; }…
♣Xmanager5是什么? ♣安装XFTP ♣安装Xshell 1.Xmanager5(官网:https://www.netsarang.com/download/software.html)是全新标准的跨平台集成解决方案.它是一个一站式解决方案,这个软件包含有以下一些产品:Xshell5,Xftp5和Xlpd5. 2.安装XFTP Xftp(csdn下载地址,含注册码:http://download.csdn.net/detail/sinat_31719925/9804890) Xftp是一…
从.Net到Java学习第一篇——开篇 所谓工欲善其事,必先利其器,做java开发也一样,在比较了目前最流行的几个java IDE(eclipse,myeclipse.IDEA)之后,我果断选择IDEA.要知道,写代码的水平可以是一坨屎,但是开发工具一定要用最好的,就像一个人武功很差,又不拿一把像样的兵器在手的话,根本就没法闯荡江湖,分分钟被人砍死了.之前用eclipse,myeclipse的时候,由于和过去用VS的落差太大,弄得我一度想放弃写java代码,直到IDEA的出现,犹如黑暗中的一盏明…
以前我常说,公司用什么技术我就学什么.可是对于java,我曾经一度以为“学java是不可能的,这辈子不可能学java的.”结果,一遇到公司转java,我就不得不跑路了,于是乎,回头一看N家公司交过社保,连我自己都有点惊讶,居然有这么多家公司了.对于java的梗,这是有历史缘由的,大二的时候同一大波人去蓝杰参加java培训,当时一个空心的菱形怎么也写不出来,我写来写去就是一个实心的砖头,结果培训老师实在看不下去了,就说:“唉!你不适合搞java”,我看了下一同前去的几个同学一下子就都写出来了,搞得…
Java+Selenium3方法篇24-单选和多选按钮操作 本篇介绍 webdriver处理前端单选按钮的操作.单选按钮一般叫raido button,就像我们在电子版的单选答题过程一样,单选只能点击一次,如果点击其他的单选,之前单选被选中状态就会变成未选中.单选按钮的点击,一样是 使用click方法.下面我们介绍百度新闻首页中有两个单选按钮,我们根据for选好,依次点击第一个,然后点击第二个,由于第一个是默认选中状态,所以 看不到第一个点击的效果. 相关脚本代码如下. package less…
你所不知道的库存超限做法 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达到的目的,无外乎几种,商品卖的完,系统抗的住,库存不超限.虽然短短数语,却有着说不完,道不尽,轻者如释重负,重者涕泪横流的架构体验. 但是,在实际开发过程中,库存超限,作为其中最核心的一员,到底该怎么做,如何做才会是最合适的呢? 今天这篇文章,我将会展示给大家库存限购的五种常见的做法,并对其利弊一一探讨,由于这五种做法,有的在设计之初当做提案被否定掉的,有的在线上跑着,但是在没有任何单元…
二.  Java SE 第二篇 1.  Arrays 数组 // 声明一维数组,[]内不允许有值 int[] arr; int arr[]; // 创建一维数组对象,[]内必须有值 arr = new int[6]; // 对一维数组元素的初始化,动态初始化用 for 循环 int arr[] = {1, 2, 3};// 静态初始化: // 声明二维数组 int[][] arr: // 创建二维数组对象 arr = new int[3][4]; // 对二维数组元素的初始化,动态初始化用双重…
相信很多小伙伴们在初学 Java 时都会出现这样的情况,就是在网上一顿搜索加捣鼓终于把 JDK 和IDEA 这两款软件安装配置好,但是发现面对这个陌生的软件此时却无从下手,那么接下来我就给大家简单地介绍下如何使用 IDEA 新建第一个项目以及如何更快的去上手这款软件. 我这边安装的是 jdk-8u144-windows-x64 和 ideaIU-2020.1.3 版本,其他的版本我不太清楚,但是在新建项目这块应该都是大同小异. 一.新建第一个项目并成功运行 首先把软件安装好后在我们电脑上新建一个…
学习Java一个月左右,本来很早就想好好静下心来写一点东西了.但由于不想手写,文档写了不知道放在哪好,所以一直拖着.最近注册了博客园,还是挺方便的. 即将大学毕业了,则面临了所以大学生所面临的问题,就是就业.说实话,在大学期间,很少去规划自己的职业道路,甚至大三在学校的时候,也都没怎么去想过,基本 上对就业算是迷茫的.其实人就是这样,只有真正面临了才会去想或者去付诸行动. 学习Java也是我考虑很久的问题,很清楚大学毕业以后更多的就业岗位是销售跟工厂.在假期,这两个职业都经历过.工厂的日子只能用…
/* Animal.java */ package animal; public abstract class Animal { public abstract void cry(); public abstract String getanimalName(); } //Dog.java package animal; public class Dog extends Animal { String aa="旺旺"; String dog_name ="旺财";…
代码: /* test.java */ package test; public class test { public static void main(String args[] ) { CPU ccp= new CPU(); HardDisk hhd=new HardDisk(); PC pc =new PC(); ccp.setSpeed(2200); hhd.setAmount(200); pc.setCPU(ccp); pc.setHardDisk(hhd); pc.show();…
/*第二章第四小题*/ /* * (1)编写一个应用程序,给出汉字“你” ,“我”,“他”在Unicode 表中的位置 * (2)编写一个java应用程序,输出全部的希腊字母 */ public class hello { public static void main( String args[] ) { char str[] = {'你','我','他'}; //采用Unicode编码 for(int i=0;i<3;i++) System.out.println(+str[i]+"在…
初学算法,肯定会编写排序算法 其中两个最为有名的就是冒泡排序和快速排序 理论上冒泡排序的时间复杂度为O(N^2),快速排序的时间复杂度为O(NlogN) 下面本门使用JAVA,分别编写三段排序程序 对十万个0-9999的整数进行一次冒泡排序 对十万个0-9999的整数进行1000次快速排序,使用递归完成 对十万个0-9999的整数进行1000次快速排序,使用堆栈完成 对十万个0-9999的整数进行一次冒泡排序: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17…
上一篇讲完了抽象类,这一篇主要讲解比抽象类更加抽象的内容--接口. 什么是接口呢?先来看个栗子: /** * @author Frank * @create 2017/11/22 * @description 可比较接口,用于实现类对象排序 */ public interface Isortable { //a>b则返回正整数,相等则返回0,否则返回负整数 int sort(Object a,Object b); } 这是一个简单的接口,使用interface关键字来定义接口. 接口是描述可属于…
今天要介绍的是基础容器类(为了与并发容器类区分开来而命名的名字)中的另一个成员——PriorityQueue,它的大名叫做优先级队列,想必即使没有用过也该有所耳闻吧,什么?没..没听过?emmm...那就更该认真看看了. 通过本篇你将了解到: 1.PriorityQueue是什么? 2.PriorityQueue的内部结构是什么? 3.二叉堆.大顶堆.小顶堆分别是什么?有什么特性? 4.小顶堆是如何实现的,如何用数组表示? 5.小顶堆的删除.插入操作是如何进行的? 6.PriorityQueue…
冒泡排序原理: 这一篇百度经验讲得很好,我不多说了 https://jingyan.baidu.com/article/6525d4b13f920bac7d2e9484.html 他讲的是C语言,没有关系,冒泡原理都是一样的 空间复杂度是O(1) 时间最优复杂度是O(n),时间最差复杂度是O(n^2); 时间最优复杂度推导 假如我们要对一个数组1,2,4,5进行升序排序,我们第一趟循环就完成了,即3次,理想的情况下只需排序一趟,以此类推,n个数只需n-1次即可排序完成.所以复杂度是O(n) 时间…
动手动脑,第六次Tutorial--数组 这次的Tutorial讲解了Java中如何进行数组操作,包括数组声明创建使用和赋值运算,写这篇文章的目的就是通过实际运用已达到对数组使用的更加熟练,下面是实践代码之后的感悟与总结: 动手动脑1:PassArray.java // PassArray.java // Passing arrays and individual array elements to methods public class PassArray { public static v…
目录 关于此文 配置xml-pager.tld 分页控件-Pager 分页action集成类-BaseController 实例-Dao 实例-service 实例-action 实例-JSP 实例-SQL 实例图 回到顶部 关于此文 运用第一篇分页的例子,结果以失败告终.在网上又寻找了很多例子.大多是都是这一种.着手开发的项目采用spring MVC框架.符合需求.摘下来,试了一试. 网上的例子总是少一些东西.经过一番折腾.终于搞定了.下面分享出来,供参考. 分页基本逻辑思想懂了,重点是在于怎…
在学习算法的过程中,我们难免会接触很多和排序相关的算法.总而言之,对于任何编程人员来说,基本的排序算法是必须要掌握的. 从今天开始,我们将要进行基本的排序算法的讲解.Are you ready?Let‘s go~~~ 1.排序算法的基本概念的讲解 时间复杂度:需要排序的的关键字的比较次数和相应的移动的次数. 空间复杂度:分析需要多少辅助的内存. 稳定性:如果记录两个关键字的A和B它们的值相等,经过排序后它们的位置没有发生交换,那么我们称这个排序算法是稳定的. 否则我们称这个排序算法是不稳定的.…
 Java:高速排序算法与冒泡算法 首先看下,冒泡排序算法与高速排序算法的效率: 例如以下的是main方法: /**   *  * @Description:  * @author:cuiyaonan2000@163.com  * @date 2014年11月5日 下午1:02:10   */  public static void main(String[] args) {   //高速排序算法測试   int[] qArray = new int[100000];   for (int…