![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【Java】初学
小低能儿
Java
展开
-
千峰Java教程:005. Hello World 案例与分析
9、程序开发的步骤程序(Program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。程序一词来源于生活,指的是完成一种事情既定的方式或过程。在日常生活中,可以将程序看成一系列动作的执行过程的描述。10、HelloWorld入门代码文件内容:public class HelloWorld{ public static void main(St...原创 2019-04-10 16:49:55 · 296 阅读 · 1 评论 -
千峰Java教程:006. javadoc与跨平台原理
书接前文,对于格式问题大家心里都会有普,要按照正常格式来写,下一步,我们来说一下javadoc。javadoc:可将文档注释转化为其他格式让读者阅读方便我们重点关注index.html,打开后里面会有文档注释。12、java跨平台原理我们现在有Windows、Linux、MacOS等系统,我这边可以有.java文件,这是最初的文件,用javac以后生成了.class文件。...原创 2019-04-10 18:24:42 · 258 阅读 · 0 评论 -
千峰Java教程:007. 开发工具配置与反编译【第一章完结】
13、Java常用开发工具介绍编辑器记事本Notepad++EditplusUltraEdit (UE)其他文本编辑器集成开发环境JBuilderEclipse(http://www.eclipse.org/)NetBeans(http://www.netbeans.org/)我按照老师所说,下载了Notepad++,这个简单搜一下就能下好。但是下...原创 2019-04-10 21:02:23 · 324 阅读 · 0 评论 -
千峰Java教程:008. 变量与标识符
1、变量与标识符数学名词:变数或变量,是指没有固定的值,可以改变的数。变量以非数字的符号来表达,一般用拉丁字母。变量是常熟的相反,变量的用处在于能一般化描述指令的方式。计算机解释:变量就是系统为程序分配的一块内存单元,用来存储各种类型数据。根据所存储的数据类型不同,有各种不同类型变量。变量名代表这块内存中的数据。变量分类:按所属的数据类型划分:基本数据类型变量饮用数...原创 2019-04-11 13:21:32 · 166 阅读 · 0 评论 -
千峰Java教程:009. 八种基本数据类型
2、八种基本数据类型字节(Byte):是计算机文件大小的基本单位1个字节(Byte)= 8个位(Bit)Bit意为位或比特,是计算机运算的基础;二进制中的一位,是二进制最小信息单位,二进位可以用来表示一个简单的正/负判断,有两种状态的开关(如电灯开关)。单位换算:1个字节(Byte) 8个位(Bit) 2个字节(Byte) 16个位(Bit) 4个字节(By...原创 2019-04-11 22:44:44 · 124 阅读 · 0 评论 -
千峰Java教程:001.计算机基本概念与dos命令
1、计算机基本概念什么是计算机?计算机(Computer),全称电子计算机 ,俗称电脑。是一种能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件和软件所组成,没有安装任何软件的计算机称为裸机。常见的形式有台式计算机、笔记本计算机、大型计算机等。什么是软件?计算机软件(ComputerSoftware)是使用计算机过程中必不可少的东西,计算机软件可以使计算机按照...原创 2019-04-08 18:48:01 · 200 阅读 · 0 评论 -
千峰Java教程:002. dos命令 续
现在说|more,|more的作用按字面理解来说,就是更多的意思在001中,若我们输入了dir /s,会出现很多结果,结果全部输出。此时我们输入dir /s|more,此时只会输出一部分结果,再按回车,就会出现更多结果:可以看一看我输入dir /s|more的情况,按一次\n(回车)就会往下弹一个新的结果出来,所以|more跟/s、/a、/ah…可连用2、cdcd 目录名 ...原创 2019-04-09 12:12:56 · 179 阅读 · 0 评论 -
千峰Java教程:010. 进制与转换
计算机通常有:十进制、二进制、八进制、十六进制十进制:人类算术采用十进制,可能跟人类有十个手指有关。亚里士多德称人类普遍使用十进制,只不过是绝大多数人生来就有10根手指这样一个解剖学事实结果。如:10D、150D、1050D…二进制:计算机中的数据都以二进制数字保存。二进制:逢二进一。只有0、1两个值。如:10D ==1010B这是计算机中信息的存储单位。位(Bit):...原创 2019-04-12 17:25:10 · 371 阅读 · 0 评论 -
千峰Java教程:003. 发展史体系与下载
3、Java语言发展史1991年Sun公司的James Gosling等人开始开发名称为Oak(橡树)的语言,希望用于控制嵌入在有线电视交换盒、PDA的微处理器。Internet使Java成为网上最流行的编程语言,Java对Internet的影响也意义深远1994年将Oak语言更新为Java。Java既安全,又可跨平台,而且人们发现它能够解决Internet上的的大型问题1996年获...原创 2019-04-09 17:52:24 · 206 阅读 · 0 评论 -
千峰Java教程:011基本数据类型转换
6、基本数据类型转换自动类型转换:容量小的类型自动转换成容量大的数据类型byte、short、int,他们三者在计算时会转换成int类型,如果把int值转换为float值,或者把long值转换为double值,不需要强制转换,但可能丢失精度。以上实线为自动转换,虚线为可能会丢失精度(丢失精度:float和double属于近似值,byte、short、long、char、int属于精...原创 2019-04-12 21:12:01 · 187 阅读 · 0 评论 -
千峰Java教程:004. JDK安装与环境变量配置
7、JDK安装- 打开jdk-8u192-windows-x64.exe,一路下一步就行,可以改一下路径,但是要把复制一下,保存到其他目录时把这些东西粘贴上去。-安装完成后有提示让再安装jre,但安装jdk的时候已经默认安装jre在jdk上了,可安可不安,如果安,注意路径,最好跟jdk是一个!还有,此时已经出到Java12了,我下的是192版本,最新的Java8版本,大家注意一下。...原创 2019-04-09 22:18:10 · 189 阅读 · 0 评论 -
千峰Java教程:013. 算术赋值关系与运算符
9、运算符与优先级算术运算符:运算符 描述 示例 结果 + 加法 5+5 10 - 减法 5-3 2 * 乘法 2*3 6 / 除法(整除,取整) 10/3 3 % 取余(取模) 10%3 1 ++ 自增(前,后) -- 自...原创 2019-04-16 20:01:55 · 166 阅读 · 0 评论 -
千峰Java教程:022. 多重循环示例与小结【第二章完结】
书接上文多重循环:多重循环指的是循环之间的相互嵌套,被嵌套的称为内循环,嵌套内循环的称为外循环循环可以多重循环。打印第一个图形:直角三角形public class v{ public static void main(String[] args) { int i=0 , j=0; while(i < 5)//外循环控制行数 { while(j &...原创 2019-04-20 20:01:04 · 148 阅读 · 0 评论 -
千峰Java教程:014. 逻辑运算符与示例
书接上文9、运算符与优先级逻辑运算符:用于对boolean型结果的表达式进行计算,运算结果总是boolean型,后面结合条件机构讲解。运算符 描述 示例 结果 & 与 false&true false | 或 false&true true ^ 异或 true^false t...原创 2019-04-16 22:51:30 · 155 阅读 · 0 评论 -
千峰Java教程:023. 方法的定义与参数
1、方法的定义为什么要有方法:方法(又叫函数。大一时我学过C语言函数就是数学上的方法,函数而已)就是一段特定的功能代码块。方法提高程序的复用性和可读性。比如,有了方法,我们可以把重复使用的 一段代码提炼出来然后再每个需要执行这段代码的地方调用即可。在一个打飞机的游戏中,飞机需要发射子弹,那么我们可以把发射子弹的这段代码写成方法,这样就可以避免每次写相同的代码。方法的格式:语法:...原创 2019-04-21 20:17:49 · 172 阅读 · 0 评论 -
千峰Java教程:031. 直接插入排序算法
14、直接插入排序算法直接插入排序算法(从后向前找到合适的位置后插入,稳定排序算法)基本思想:每一步将一个待排序的记录,按其顺序码大小插入到前面已经排序的子序列合适位置(从后向前找到合适位置后),直到全部插入排序完为止。假如有这样一个数组:[86,54,23,7,90,48,11,66],从小到大排:我们假设,86为基准,其他数插入86前面或后面。先插入54:首先54...原创 2019-04-25 22:26:33 · 155 阅读 · 0 评论 -
千峰Java教程:024. 方法的返回值与重载
3、方法的返回值return:结束方法的。返回值:就是功能的结果,有return带给调用者。注意:1、若当前方法没有返回值类型,即返回值类型是void,那么当前方法中可以不写return。2、return即表示结束一个方法,也可以将返回值返回给调用当前方法的调用者。3、return返回值时一次只能返回一个值,不可以返回多个值。4、一个方法中可以有多个return,但被执...原创 2019-04-21 21:35:14 · 125 阅读 · 0 评论 -
千峰Java教程:032. 二分查找法
15、二分查找法注意,这个是查找算法,不是排序算法,这里面返回的是数组下标。二分查找法(折半查找):前提是在已经在排好序的数组中,通过将带查找的元素与中间索引值对应的元素进行比较,若大于中间索引值对应的元素,去右半部分查找,否则,去左半部分查找。以此类推,直到找到为止。找不到返回一个负数(一般是-1)。所以我们需要在一个已经排好的数组中来查找下标。记不记得”/“除法符号,这个除出来是整...原创 2019-04-25 23:31:52 · 135 阅读 · 0 评论 -
千峰Java教程:015. 位运算符与变量交换
书接上文9.运算符与优先级位运算符:对两个操作数中的每一个二进制位都进行运算。与逻辑门相同。~ 按位取反 & 按位与 | 按位或 ^ 按位异或 位移运算符:左移:"a<<b;"将二进制形式的a逐位左移b位,最低位空出的b补0带符号右移:"a>>b;"将二进制形式的a逐位右移b位,最高为空...原创 2019-04-17 17:47:34 · 173 阅读 · 0 评论 -
千峰Java教程:033. Arrays工具类
16、Arrays工具类Arrays工具类:用来操作数组(比如排序和搜索)的各种方法常用方法:使用二分法查找 Arrays.binarySearch(int[] array,int value); 数组转成字符串的形式输出 Arrays.toString(int[] array); 数组排序 Arrays.sort(int[] array); 复制指...原创 2019-04-26 16:29:18 · 151 阅读 · 0 评论 -
千峰Java教程:016. 三目运算符与优先级
书接前文9.运算符与优先级三目运算符:X?Y:ZX为Boolean类型表达式,先计算X的值,若为true,整个三目运算符为表达式Y的值,否则整个运算结果为表达式Z的值。例:从键盘输入一个成绩,判断成绩是否及格。import java.util.Scanner;public class e{ public static void main(String[] args)...原创 2019-04-17 18:39:09 · 284 阅读 · 0 评论 -
千峰Java教程:017. if分支语句
10、分支语句if条件结构是根据条件判断之后再作处理简单判断语句:if(表达式){ 执行语句;}else{ 执行语句;}意为:如果…那么…执行过程:当程序执行到if时,首先会判断()里面表达式的值,如果表达式值为真,那么就执行()后的{}里执行语句,否则执行else里的执行语句。上面(表达式)中表达式出来的值是布尔类型。例:输入一个字符,判断...原创 2019-04-17 21:44:16 · 137 阅读 · 0 评论 -
千峰Java教程:034. 双色球案例(下一节是037小节)【第三章完结】
17、双色球模拟综合案例这里面涵盖了34、35、36小节一、双色球彩票玩法玩法说明:双色球投注区分为红球号码区和蓝球号码区,红球号码范围为01~33,蓝球为01~16,双色球每期从33个红球中开出6个号码,从16个蓝球中开出1个号码,作为中奖号码,双色球玩法既是竞猜开奖号码的6个红球号码和1个蓝球号码,顺序不限。二、案例分析1、如何产生蓝球和红球2、如何接受用户选号...原创 2019-04-27 13:38:25 · 676 阅读 · 0 评论 -
千峰Java教程:012. 关键字与转义字符
7、关键字abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float f...原创 2019-04-16 12:38:47 · 135 阅读 · 0 评论 -
千峰Java教程:025. Java数组的定义
5、数组的定义首先:问题:一个班里有50名同学,如何在程序中输出所有同学的学号?数组:一组能够存储相同类型值的变量的集合。当我们有一组相同类型的数据需要存储,如果此时使用单个变量来存储,我们将要定义若干个变量名,这样将会非常繁琐,并不利于维护。定义数组:方法一:使用默认的初始值来初始化数组中每一个元素语法:数组元素类型 [] 数组名 = new 数组元素类型[数组...原创 2019-04-23 11:36:57 · 144 阅读 · 0 评论 -
千峰Java教程:018. 分支语句
书接前文10、分支语句switch语句有关规则:1、表达式的返回值必须是下述几种类型:int、byte、char、short,确定的结果,jdk1.7往后支持String;2、case子句中的取值必须是常量,且所有case子句中的取值应是不同的;3、default子句时可选的;4、break语句用来再执行完一个case分支后使程序跳出switch语句块;如果case后面没写...原创 2019-04-18 15:42:05 · 123 阅读 · 0 评论 -
千峰Java教程:037. 面向对象基本概念
1、面向对象的基本概念首先,来看看面向过程和面向对象:面向过程:以步骤为单位,一步一步完成某一个具体事情面向对象:以对象为单位,通过调度组合不同的对象完成某一个事情(更高级)一、什么是面向对象1、面向对象是一种编程思想。2、面向对象是一种思考问题的思维方式。二、建立面向对象的思维方式1、先整体,再局部。2、先抽象,在具体。3、能做什么,再做什么。三、如何...原创 2019-04-27 14:37:12 · 148 阅读 · 0 评论 -
千峰Java教程:038. 类和对象的定义格式
3、类和对象的定义格式在Java中可以使用以下语句定义一个类:class 类名称{ 属性名称; 返回值类型 方法名称() { }}对象的定义:一个类想要真正的进行操作,则必须依靠对象,对象的定义格式如下:类名称 对象名称 = new 类名称();按照以上格式就可以产生对象了。如果想要访问类中的属性或方法(方法的定义),则可以依靠以下语法...原创 2019-04-27 15:48:49 · 837 阅读 · 0 评论 -
千峰Java教程:026. 数组的遍历和内存分析
7、数组的遍历(迭代)求数组的长度x.length通过下标来访问数组中的元素。下标:从0开始,到组长度-1。如:int[] scores = {80, 90};访问最后一个元素值:int lastElement = scores[scores.length - 1];遍历:一次取出数组中的每一个元素。遍历方式一:普通的for循环。语法:for(...原创 2019-04-23 19:44:57 · 185 阅读 · 0 评论 -
千峰Java教程:045. 对象的一对一关系
9、对象的一对一关系两个对象的一对一之间的关系:比如: 一个英雄(Hero)对一个兵器(Weapon)代码如何表示?/** 双向一对一:给出英雄能得到英雄所拿兵器,给出兵器也能得到对应英雄 单项一对一:给出英雄能得到英雄所拿兵器,给出兵器得不到对应英雄*/public class a{ public static void main(String[] args) {...原创 2019-05-02 13:54:33 · 217 阅读 · 0 评论 -
千峰Java教程:039.类和对象内存分析
4、对象内存分析(1)图1:图2:图1:我们首先有一个Horse的类创建了一个horse的变量,此时栈内存中就有了horse的变量,但horse变量现在值是null,空的,就是有这个变量,还没赋值,不能用Horse里的属性和方法。图2:当我们用new让horse指到堆内存以后,horse(0x0011)中下面划线的那个是horse所指的地址,指向了name和age两个变量,此时na...原创 2019-04-27 21:49:45 · 158 阅读 · 0 评论 -
千峰Java教程:019. 分支语句比较和经验总结
if vs switch同:都是选择分支语句异:1、语法不同 2、语句后表达式值的类型不同,if语句表达式的值类型是boolean,switch分支表达式值的类型是byte、short、char、int、枚举、String 3、适用场景不同:if:变量的值在某个区间内。switch:变量的值是某个定值。注意:Ⅰ、在实现分支判断时,一个好的习惯是把比配成功...原创 2019-04-18 16:58:30 · 198 阅读 · 0 评论 -
千峰Java教程:020. while与do while循环
11、循环语句循环语句分为while、do while、for语法:while(条件表达式){ 语句块;}符合条件,循环程序继续执行;否则,循环程序退出。特点:先判断,在执行。例:计算1-100之间所有整数和public class k{ public static void main(String[] args) { int a = 1 , b =...原创 2019-04-18 21:23:41 · 142 阅读 · 0 评论 -
千峰Java教程:040. 面向对象封装性
5、封装性一、封装性的概念:1、封装性就是面向对象思想的三大特征之一。2、封装就是隐藏实现细节,仅对外提供访问接口。封装有:属性的封装、方法的封装、类的封装、组建的封装、模块化的封装、系统的封装…二、封装的好处:1、模块化2、信息隐藏3、代码重用4、插件化易于调试5、具有安全性封装缺点:会影响执行效率。封装之前:class Pers...原创 2019-04-28 19:11:25 · 202 阅读 · 0 评论 -
千峰Java教程:027. 数组示例之猜数与打印三角形
10、数组示例数组示例1、猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数。2、打印正三角形多维数组示例:1、一起来参加屌丝程序员大赛吧,有3个班各3名程序员参赛,记录每个学员的成绩,并计算每个班的平均分。解示例1:import java.util.Scanner;public class a{ public static void main(St...原创 2019-04-23 22:09:17 · 215 阅读 · 0 评论 -
千峰Java教程:046. static关键字修饰属性和方法
10、static关键字static关键字的作用:1、静态变量或方法不属于对象,依赖 类2、静态变量是全局变量,生命周期从类被加载后一直到整个程序结束3、静态变量只存一份,在静态方法区中存放4、静态变量是本类所有对象共享一份5、建议不要使用对象名去调用静态数据,直接使用类名调用(Role.country = "秦国";)6、用static修饰一个方法,那么该方法属...原创 2019-05-05 20:53:19 · 321 阅读 · 0 评论 -
千峰Java教程:041. 成员变量和局部变量
书接上文成员变量和局部变量1、在类中的位置不同成员变量:在类中定义局部变量:在方法中定义或方法的参数2、在内存中的位置不同成员变量:在堆内存(成员变量属于对象,对象进堆内存)局部变量:在栈内存(局部变量属于方法,方法进栈内存)3、生命周期不同成员变量:随着对象的创建而存在,随着对象的销毁而消失局部变量:随着方法的调用而存在,随着方法的调用完毕而消失4、初...原创 2019-04-28 21:27:09 · 109 阅读 · 0 评论 -
千峰Java教程:042. 构造方法
6、构造方法1、构造方法就是类构造对象时调用的方法,用于对象的初始化工作2、构造方法是实例化一个类的对象时,也就是new的时候,最先调用的方法构造方法的定义:构造方法是在类中定义的,构造方法的定义格式:方法名称与类相同,无返回值类型的声明。对象的实例化语法:Dog dog = new Dog(); //new Dog后面有个括号,带括号表示调用了方法,此时调用的方法...原创 2019-04-29 17:05:49 · 142 阅读 · 0 评论 -
千峰Java教程:028. 二维数组与最大最小值算法
书接上文多维数组示例:1、一起来参加屌丝程序员大赛吧,有3个班各3名程序员参赛,记录每个学员的成绩,并计算每个班的平均分。/** 二位数组示例:JAVA中没有真正的多维数组,多维数组的表示方式是数组中的元素还是数组*/public class a{ public static void main(String[] args) { int[][] scores = {{...原创 2019-04-24 16:00:34 · 740 阅读 · 0 评论 -
千峰Java教程:029. 冒泡排序算法
12、冒泡排序算法冒泡排序算法运作如下:(从后往前)比较相邻的元素。如果第一个比第二个大,就交换他们两个。‘对每一对相邻元素做同样工作,从开始第一对到结尾最后一队。在这一点,最后的元素应该是最大的数。针对所有元素做同样的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法。按照...原创 2019-04-24 21:52:26 · 134 阅读 · 0 评论