- 博客(25)
- 收藏
- 关注
原创 Java笔记--快速排序
快速排序原理:相当于是让从数组两头的位置,往中间走,然后与基准数字比较,大的放右边,小的放左边,第一遍比较之后找到基准数字,放到中间某个位置index上,之后将数组分成两半start到index-1,index+1到end,之后在将这两段递归调用自己的方法,一直递归下去,就可以将数组排序。下面是代码实现:package com.zhang.sort;public class Demo03 { public void quickSort(int[] arrays, int start, in
2021-04-02 20:17:28
171
原创 Java笔记--希尔排序
希尔排序我们可以将直接插入排序当作是间隔为1的比较,把希尔排序当作是间隔可变的比较。举例来说:一个长度为8的数组:{1,2,3,4,5,6,7,8};假设第一次取间隔为arrays.langth/2, 即为4,第一轮比较就是第4位和第0位比较,第5位和第1位比较,第6位和第2位比较,第7位和第3位比较;第二次取间隔位arrays.langth/4, 即为2,第二轮第一次比较就是第2为和第0位比较,第3位和第1位比较,然后第4位、第2位、第0位分别比较,然后第5位、第3位,第1位分别比较,再然后第6
2021-03-27 10:46:11
164
原创 Java笔记--插入排序
插入排序排序原理:直接插入排序,是一种最简单的排序方法,他的基本操作是将一个记录插入到长度为m的有序表中,使之保持有序。如果实在弄不懂第一个外层for循环,可以简单把它当成一个计数器来理解。/*int[] arrays = {1,12,2,6,4,7,5,3}; [1] 12 [1.12]; [1,12] 2 [1,2,12] [1,2,12] 6 [1,2,6,12] [1,2,6,12] 4 [1,2,4,6,12]
2021-03-26 22:03:37
173
原创 Java笔记--选择排序
选择排序排序原理:从0索引处开始一次和后面的元素进行比较,小的元素往前放,经过一轮比较后,最小的元素就出现在了最小索引处。分析:第一轮比较用arrays[0]和后面所有的元素比较,每次比较都将arrays[0]替换成最小的元素;第二轮比较的时候,将arrays[1]和后面所有的元素比较,再将arrays[1]替换成最下的元素。因此可以知道每一轮比较的基准索引都是递增的,而且与之比较的第一个元素索引是基准索引+1,所以考虑使用两个for循环实现需求。package com.excersice;pub
2021-03-21 22:34:46
131
原创 Java笔记--数组练习,查找元素索引
练习要求:根据数组元素,查找出该元素第一次在数组中出现的索引。 方式一:遍历数组挨个去查找 方式二:二分查找方式一:package com.excersice;public class Demo08 { public static void main(String[] args) { //定义一个数组 int[] arrays = {1,2,3,4,5,6,7,8,9,12,11,13,14,6}; //根据该元素查找出该
2021-03-21 19:40:17
1202
原创 Java笔记--打印杨辉三角
打印杨辉三角1.写出打印方法将杨辉三角内容填写进二维数组里面,然后打印,此时会出现一个问题:杨辉三角里面没有0,如果直接遍历数组会出现将0打印出来,不满足需求,所以在打印方法中增加一个判断,将0屏蔽掉。package com.excersice;public class Demo04 { public void printTriangle(int[][] arrays) { for (int i = 0; i < arrays.length; i++){
2021-03-21 10:55:26
363
原创 Java笔记--数组
数组数组定义数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称为一个数组元素,每一个数组元素可以通过一个下标来访问他们。数组声明创建首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:dataType[] arraysRefVar; //首选的方法或dataType arrayRefVar[]; //效果相同,但不是首选办法。public static void main(String[] a
2021-03-07 20:05:28
300
2
原创 Java笔记--简易计算器
简易计算器代码编写的第一个垃圾简易计算器代码,贴出来,纪念一下!import java.util.Scanner;public class Calc02 { public static void main(String[] args) { //写一个计算器,要求实现加减乘除功能,并且能够循环接收数据,通过用户交互实现 Scanner s = new Scanner(System.in); //定义3个变量结束数字 doubl
2021-03-01 15:24:01
144
原创 Java笔记--Scanner跳过
Scanner跳过在使用nextLine()接收数据时,如果在nextLine()前面使用了next()、nextInt()、nextDouble()等一些基本类型之后,会出现nextLine()接收空白的现象,如下是实例和解决办法。import java.util.Scanner;public class Demo15 { public static void main(String[] args) { //nextLine 跳过 Scanner scann
2021-03-01 14:46:37
597
原创 Java笔记--方法
方法何谓方法System.out.println—类、对象、方法Java方法是语句的集合,它们在一起执行某个功能方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合,我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成一个功能,这样利于我们后期的拓展。方法的命名规则:首字母小写驼峰规则创建一个比较两个数字大小的方法public class Demo03 { publ
2021-02-28 20:21:36
107
原创 Java笔记--打印三角形
打印三角形思路:在一个方形中,左上角和右上角打印出空白,剩下的图形就是三角形。public class Demo08 { public static void main(String[] args) { //打印三角形 5行 for (int a =0; a<5; a++){ //限定5行 for (int b = 5; b>=a; b--){ System.out.print(' ');
2021-02-28 08:26:18
902
原创 Java笔记--break&continue
break&continuebreak: 在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break也在switch语句中使用)public class BreakDemo01 { public static void main(String[] args) { int i = 0; while (i<100){ i++; System.o
2021-02-27 20:41:04
165
原创 Java笔记--循环结构
循环结构while 循环while 循环是最基本的循环,结构为:while (布尔表达式){ //循环内容}只要布尔表达式为true,循环就会一直执行下去。我们大多数情况是会让循环停下来的,我们需要一个让表达式失效的方式来结束循环。少数情况需要循环一直执行,比如服务器的请求响应监听等。循环条件一直为true,就会 造成无限循环【死循环】,我们正常的业务编程中,应该避免死循环,会影响程序性能或者造成循环卡死崩溃。public class WhileDemo02 {
2021-02-27 19:48:16
149
原创 Java笔记--选择结构
选择结构if 单选择结构我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示if (布尔表达式){ //如果布尔表达式为true将执行的语句}import java.util.Scanner;public class IfDemo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
2021-02-27 19:47:15
174
原创 Java笔记--顺序结构
顺序结构Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。顺序结构是最简单的算法结构。是任何一种算法都离不开的基本算法结构public class shunXuDemo { public static void main(String[] args) { //从上到下依次执行 System.out.println("hello1"); System.out.println("hello2"); Syst
2021-02-25 17:11:26
88
原创 Java笔记--用户交互Scanner
Scanner对象之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.until.Scanner是Java5的特性,我们可以通过Scanner类来获取用户的输入。基本语法:Scanner s = new Scanner(System.in)通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与haxNextLine()判断是否还有输入的数据。next
2021-02-25 16:50:10
154
原创 Java笔记--JavaDoc
JavaDoc用来生成自己API文档参数信息:@author 作者名@version 版本号@since 指明需要最早使用的jdk版本@param 参数名return 返回值情况throws 异常抛出情况public class Doc { String name; /** * * @param name * @return * @throws Exception */ public String test(S
2021-02-22 09:11:11
105
原创 Java笔记--包机制
包机制为了更好的组织类,Java提供了包机制,用于区别类名的命名空间包语法的格式为:package pkg1[.pkg2[.pkg3]];一般利用公司域名倒置作为包名为了能够使用一个包的成员,我们需要在Java程序中明确导入该包,使用"import"语句可完成此功能import package1[.pkg2...].(classname|*); //*表示通配符package com.kuang.operator;import java.util.Date;import co
2021-02-21 10:01:37
114
原创 Java笔记--基本运算符
基本运算符Java支持如下格式的运算符 优先级: 一般使用括号,表示得更清楚算术运算符: +(加)、—(减)、*(乘)、/(除)、%(口语余数,属于模运算)、++、——;public class Demo01 { public static void main(String[] args) { //二元运算符 //ctrl + d :复制当前行到下一行 int a = 10; int b = 20;
2021-02-21 09:21:22
188
原创 Java笔记--变量、常量、作用域
变量、常量、作用域变量:可以变化的量Java是强类型语言,每个变量都必须声明其类型。不建议在一行里面定义多个值,会很麻烦。每一个声明以分号结束。public class Demo11 { //类变量 static static double salary = 2500; //属性:变量 //实例变量:从属于对象;如果不进行初始化,这个类型的默认值 0、 0.0、u0000 //布尔值默认是false //除了基本类型,其余的都是n
2021-02-19 17:40:11
103
原创 Java笔记--类型转换
类型转换低--------------------------------------------------------------->高**byte, short, char—> int—> long—> float—> double **在运算中,不同类型的数据要转换为同一类型,然后进行运算.高到低,必须强制转换低到高,自动进行转换public class Demo06 { public static void main(String[] args
2021-02-18 16:49:07
110
1
原创 Java笔记--数据类型扩展
public class Demo05 { public static void main(String[] args) { //整数扩展 进制 二进制0b 十进制 八进制0 十六进制0x int i = 10; int i2 = 010; //八进制十 0 int i3 = 0x10; //十六进制十 0x A-F16 0-9 System.out.println(i);
2021-02-18 15:46:45
136
2
原创 Java笔记--数据类型
数据类型强类型语言 要求变量的使用都要严格符合规定,所有变量都必须先定义后才能使用。弱类型语言分为两大类基本类型 primitive type数值类型:整数类型:byte、short、int、long;浮点类型:float、double;字符类型:char;boolean类型:只有两个,true和false两个引用类型 reference type类接口数组...
2021-02-18 09:17:15
85
原创 Java笔记--标识符和关键字
标识符Java中所有的的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。标识符注意点:所有的标识符都应该是以字母(A-Z或a-z),美元符号($),或下划线(_)开始首字符之后可以是字母,美元符号,下划线或数字的任何字符组合不能使用关键字作为变量名或方法名标识符是大小写敏感的合法标识符举例:age 、$salary、_value、__1_value非法标识符举例:123abc、-salary、#abc可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,因为这样很lo
2021-02-17 20:18:10
189
原创 Java笔记--注释
注释注释代码并不会被执行,是给我们写代码的人看的。平时书写代码,一定要注意规范。书写注释是一个非常好的习惯。注释有三种单行注释 //+内容多行注释 /* 内容 */文档注释 /* * 内容 * 内容 */示例public class Demo04 { public static void main(String[] args) { System.o
2021-02-17 20:11:38
125
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人