
Java
XW-YYDS
虽不能至,然心向往之
展开
-
JavaSE基础 - main函数解析
为什么Java主函数要写成public static void main(String[] args),而不写成其他格式,可能我们已经习以为常,不去追究了!当然,这也是一个老话常谈的话题。那下面我们来系统的解析一下Java的main函数。1.主函数有什么特殊之处?首先,main函数的格式是固定的,毋庸置疑的。其次,main函数是JVM识别调用的入口函数。2.public static void m...原创 2018-04-03 21:56:39 · 1016 阅读 · 1 评论 -
JavaSE基础 - 方法重载
1.什么是方法重载?:在同一个类中,允许存在一个以上的同名方法(函数),则它们之间构成重载关系。2.方法重载有什么特点?(1)必须存在两个及以上的同名方法(函数)(2)方法的参数个数或者参数类型必须不同。(3)与方法的返回值类型无关。3.方法重载有啥好处?:方便阅读,优化程序。实例:编写三个不同的加法器,根据传入的参数类型和参数个数,自动选择相应的加法器。代码如下(代码不可运行,可自己粘贴修改源代...原创 2018-03-28 11:49:06 · 445 阅读 · 0 评论 -
JavaSE基础 - 数据类型转换
基本数据类型中有:byte,short,int,long,float,double,(boolean)转换规律:(1)取值范围小的 -> 取值范围大的。自动转换(隐式转换),例如:public class Cast{ public static void main(String[] args) { //小 -> 大。自动转换(隐式转换) int a = 314; doub...原创 2018-03-18 09:38:13 · 407 阅读 · 0 评论 -
JavaSE基础 - Java的加载与执行
Java学习第一弹:Java的加载与执行。这里,我仅简单叙述Java的加载与执行过程,供初学者使用。看下图:第一步:编写Java源程序。注意:后缀名必须为.java。如:HelloWorld.java。第二步:编译,检查Java的语法。注意:编译成功后,会自动生成一个.class(字节码文件),如HelloWorld.class。第三步:运行。得到程序的编译运行结果。其他介绍:JVM(Java虚拟...原创 2018-03-14 10:45:18 · 366 阅读 · 1 评论 -
JavaSE基础 - 构造函数
1.构造函数的作用是什么?:实例化对象并进行初始化。2.构造函数有什么特点?(1)函数名与类名相同。(2)不用定义返回值类型且没有具体的返回值。3.在类中定义构造函数时需要注意什么?(1)若一个类中没有定义构造函数,则该类会有一个默认的无参构造函数。(2)多个构造函数以重载的形式存在(构造函数的名称相同)。(3)由于构造函数的作用,所以构造函数不能被类中的方法(函数)调用。4.构造函数与一般函数的...原创 2018-04-02 22:03:51 · 458 阅读 · 0 评论 -
JDK,JRE,JVM三者间的关系
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。JDK 是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。JRE(Java Runtime Environment)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM(Java Virtual Machine[Java虚拟机])是...转载 2018-03-27 16:12:16 · 798 阅读 · 0 评论 -
JavaSE基础 - 匿名对象
匿名对象:没有名字的对象。格式如下:new Person().showMessage();当然,你也可以通过Person创建一个实例对象后,再去调用Person类中的方法,具体如下:Person p = new Person(); //创建对象p.//给对象的各个属性赋值。p.name = "蛋蛋";p.age = 6;p.height = 1.1;//调用类中的方法p.showM...原创 2018-04-01 22:09:10 · 923 阅读 · 3 评论 -
JavaSE基础 - 类与对象的关系
从日常生活中看对象 其实对象这个名字对我们来说一点也不陌生,因为我们的日常生活中。随处可见的都是对象,小到地上的一粒沙,大到我国的万里长城,埃及的金字塔,所有的东西都是对象(万物皆对象) 我们之所以会对对象这个词比较陌生,是因为我们平时不直接这么称呼它们,那么我们平时是怎么称呼这些...转载 2018-04-01 08:54:47 · 413 阅读 · 0 评论 -
Java - 判断一个整数是否为水仙花数(循环分解,立方相加)
判断一个数是否为水仙花数,最常规的做法就是:分解个十百位,立方相加与原数做相等判断。现在我们来换种思路判断一个三位正整数是否为水仙花数。代码如下:import java.util.*;class Method01{ public static void main(String[] args) { Scanner input = new Scanner(System.in); Sy...原创 2018-03-22 00:02:31 · 2424 阅读 · 1 评论 -
JavaSE基础 - 二维数组的创建格式以及内存分析图
二维数组常见的几种定义格式:格式1:int[][] arr = new int[3][2];创建了一个3*2的二维数组,即二维数组的长度为3。该数组中有3个一维数组,每个一维数组中有2个元素。图解如下:解释:Java中,数组就是对象,所以在首先在栈内存中为arr开辟空间,堆内存中存放new产生的数组数据,产生初期每一个一维数组的引用值为null,分配好存储空间之后,存放每个一维数组的引用值。(Ps...原创 2018-03-31 19:24:51 · 1561 阅读 · 0 评论 -
JavaSE基础 - 查表法
什么是查表法?:查表法其实就是在使用容器,当需求中存在对应关系时,就可以使用容器。查表法的用处?:在Java中,查表法的应用更多的出现在数组操作中,例如进制转换,星期显示等等。查表法练习:(1)用户键入数字获取对应的星期。(2)用户键入数字获取对应的月份。代码如下:import java.util.Scanner;class ArrayTest01{ public static void...原创 2018-03-31 16:13:47 · 1360 阅读 · 0 评论 -
Java实现整数的逆序输出(三种方法)
Java实现整数的逆序输出和C语言相似。下面我介绍三种方法。第一种:无限制整数的逆序输出。import java.util.Scanner;class Cycle01{ public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("输入一个整数:...原创 2018-03-21 19:59:26 · 53997 阅读 · 3 评论 -
JavaSE基础 - 数组的折半查找(两种方法)
一般来说,我们更擅长编写顺序查找(遍历)的代码。但是数组的折半查找效率更高一点。折半查找的原理:每次查找的范围不断缩小一半,直到max < min时终止循环。折半查找的优缺点:(优点)比较次数少,查找速度快,平均性能好;(缺点)待查表必须有序。下面我将使用原始数组为:12,31,44,67,89,101,120 来解释查找过程。如下图:第一次查找:因为 arr[mid] < key,所...原创 2018-03-30 21:47:24 · 1088 阅读 · 0 评论 -
JavaSE基础 - 数组排序之冒泡排序
冒泡排序的原理:每次把最大(或最小)的那个数,通过里层的循环冒泡到末端,然后通过外层循环对剩下的数再进行一次(重复)冒泡操作。冒泡排序的时间复杂度:冒泡排序的最好情况下时间复杂度为;最坏的情况下时间复杂度为。冒泡排序的次数:N个数比较N-1遍。(未改进的情况下)现在,我用数组元素为:89,-3,43,12,69 为例(递增排序)图解。过程解释:第一次:89大于后面的数,冒泡到最末端,得到第一次比较...原创 2018-03-30 00:23:48 · 444 阅读 · 0 评论 -
Java中的标识符,关键字,保留字
1.标识符 定义:就是一个名字。对类名,变量名,方法名,参数名,包名等的修饰。命名规则:(1)以字母,下划线_,$开头,其后可以是字母,下划线_,$。(2)标识符对大小写敏感。如Hello,hello是不同的。(3)不能把Java关键字,保留字作为标识符。命名要求:(1)标识符的长度一般不超过15个。(2)建议编写单词。(3)建议变量名称,参数名称,方法名称等采用驼峰命名法命名。(4)建议类名的每...原创 2018-03-16 21:07:13 · 2155 阅读 · 0 评论 -
JavaSE基础 - 数组排序之选择排序
选择排序的原理:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 时间复杂度:最好或者最坏的情况下时间复杂度都是。为了方便后续操作,采用数组的静态创建方式创建原始数组,如下:int[] arr = new int[]{12,-3,89,43,66};排序过程如下:过程解释:第一次比较:用arr[0]和后面的每个数组数据做比较,由于arr[...原创 2018-03-28 23:42:20 · 308 阅读 · 0 评论