Java基础
JAVA小白的晋升之路
謹言
测试工程师(世上没有白走的路,每一步都算数)
展开
-
JAVA基础学习目录
java开发环境以及eclipse-IDE(集成开发环境)变量以及基本数据类型的介绍数据类型间的转换以及运算分支结构JAVA中的三种循环数组方法原创 2021-05-18 11:29:01 · 209 阅读 · 0 评论 -
get、set结构
因为程序中,数据都是私有的,私有的作用域只能在本类中使用,所以如果想在其他类中使用这个私有的属性,必须借助get取值、set赋值,也就是将其公开化演示:第一步:创建一个Student类,创建两个私有属性name和agepublic class Student { private String name; private int age; //get取值,需要返回结果,所以需要有返回值,返回值类型是String public String getName(){原创 2021-06-02 17:16:39 · 104 阅读 · 0 评论 -
Arrays.toString()用法
将arr数组转换成字符串并输出Arrays.toString()只适用于基本类型的数组,因为引用类型的数组转换出来的是地址import java.util.Arrays;public class More { public static void main(String[] args) { int[] arr={1,2,3,4,5,6,7,8}; //将arr数组转换成字符串并输出 System.out.println(Arrays.to原创 2021-06-02 17:16:31 · 1752 阅读 · 0 评论 -
final
final:最终的、不能改变的----------单独应用几率极低1)修饰变量:变量不能被改变2)修饰方法:方法不能被重写3)修饰类:类不能被继承,但是他可以继承其他类//final的演示public class FinalDemo { public static void main(String[] args) { }}//演示final修饰类final class Hoo{}//class Ioo extends Hoo{} //编译错误,final的类不能被继承原创 2021-05-30 14:51:21 · 76 阅读 · 0 评论 -
Scanner类的用法--练习正推反推(理解类和对象以及import)
这是我们在正常用Scanner的时候的用法首先导入Scanner类import java.util.Scanner;访问类中成员,首先需要new对象 Scanner scanner=new Scanner(System.in); 接受了int类型的返回值,引用 点 类中成员(含参的构造方法)int num1=scanner.nextInt();double num2=scanner.nextDouble();boolean num3=scanner.nextBoolean();....原创 2021-05-30 14:35:00 · 189 阅读 · 0 评论 -
重写与重载的区别
重写与重载的区别:------------常见面试题(答的时候只答1.1和2.1即可)1)重写(override/overriding):发生在父子类中,方法名相同,参数列表相同,方法体不同 遵循"运行期绑定",看对象类型来调用方法2)重载(overload/overloading):发生在同一类中,方法名相同,参数列表不同,方法体不同 遵循"编译期绑定",看参数/引用类型来绑定调用方法//重写与重载的区别演示public class OverloadOverrideDemo {原创 2021-05-30 12:09:31 · 77 阅读 · 0 评论 -
方法的重写(override)
方法的重写(override):重新写、覆盖1)发生在父子类中,方法名相同,参数列表相同,方法体不同2)重写方法被调用时,看对象的类型---------这是规定,记住就行了3)重写需遵循"两同两小一大"原则:-----------了解,一般都是一模一样的3.1)两同:3.1.1)方法名相同3.1.2)参数列表相同3.2)两小:3.2.1)派生类方法的返回值类型小于或等于超类方法的1)void时,必须相等2)基本类型时,必须相等3)引用类型时,小于或等于3.2.原创 2021-05-30 12:08:08 · 962 阅读 · 0 评论 -
向上造型
向上造型1.向上造型:1)超类型的引用指向派生类的对象2)能" 点" 出来什么是看引用的类型,也就是超类型--------这是规定,记住就行了//向上造型的演示public class UploadDemo { public static void main(String[] args) { Aoo o1 = new Aoo(); o1.a = 1; o1.show(); //o1.b = 2; //编译错误,超类不能访问派生类的 //o1.test(); //编原创 2021-05-30 10:52:38 · 92 阅读 · 0 评论 -
null和NullPointerException
null:表示空,没有指向任何对象若引用的值为null,则该引用不能再进行任何 点 操作了, 若操作则发生NullPointerException空指针异常原创 2021-05-30 00:26:56 · 289 阅读 · 0 评论 -
构造方法以及this的用法
构造方法:构造函数、构造器、构建器------------复用给成员变量赋值的代码 1) 给成员变量赋初值 2) 与类同名,没有返回值类型(连void都没有) 3) 在创建(new)对象时被自动调用 4) 若自己不写构造方法,则编译器默认提供一个无参构造方法, 若自己写了构造方法,则不再默认提供 5) 构造方法可以重载...原创 2021-05-29 22:51:43 · 1033 阅读 · 0 评论 -
方法的重载(overload)
方法的签名方法名+参数列表方法的重载(overload):------------简化用户的调用 1) 发生在同一类中,方法名相同,参数列表不同,方法体不同 2) 编译器在编译时会根据方法的签名来自动绑定调用的方法...原创 2021-05-29 21:57:22 · 146 阅读 · 0 评论 -
飞机大战游戏设计步骤
射击游戏的需求:1.所参与的角色:英雄机、子弹、小敌机、大敌机、小蜜蜂、天空2.角色间的关系: 1)英雄机发射子弹(单倍火力、双倍火力) 2)子弹射击敌人(小敌机、大敌机、小蜜蜂),若击中了: 2.1)子弹直接消失、敌人先爆破再消失 2.2)若击中的是小敌机,则玩家得1分 2.3)若击中的是大敌机,则玩家得3分 2.4)若击中的是小蜜蜂,则英雄机得奖励(1条命或40火力值) 3)敌人(小敌机、大敌机、小蜜蜂)和英雄机撞,若撞上了: 3.1)敌人先爆破再...原创 2021-05-29 21:50:29 · 708 阅读 · 0 评论 -
Java中的get()和set()方法
set和get这两个词的表面意思,set是设置的意思,而get是获取的意思,顾名思义,这两个方法是对数据进行设置和获取用的,一般来说set和get方法都是对私有域变量进行操作的,因为私有域的变量其他类不能访问,所以需要借助get和set方法用于访问私有域变量。import java.util.Arrays;public class More { public static void main(String[] args) { /* int[] arr = {24,56,3,18,5};.原创 2021-05-27 20:01:10 · 10577 阅读 · 0 评论 -
面向对象三大特征
面向对象三大特征:-----------面试题(问答题:你对面向对象的理解)面向对象是以对象的方式解答问题的一种方式,具备以下三种特征封装1.1)类:封装的是对象的属性和行为1.2)方法:封装的是对象具体的逻辑实现1.3)访问控制修饰符:封装的是具体的访问权限继承2.1)作用:代码复用2.2)超类:所有派生类所共有的属性和行为 接口:部分派生类所共有的属性和行为 派生类:派生类所特有的属性和行为2.3)单一继承、多接口实现,具有传递性多态3.1)行为多态:所有抽象原创 2021-05-26 16:21:12 · 162 阅读 · 0 评论 -
简单了解 内存管理
1.内存管理:由JVM来管理的 1)堆: 1.1)存储new出来的对象(包括实例变量) 1.2)垃圾:没有任何引用所指向的对象 垃圾回收器(GC)不定时到内存中清扫垃圾, 回收过程是透明的(看不到的),不一定一发现就立刻回收, 通过调用System.gc()可以建议虚拟机尽快调度GC来回收 1.3)实例变量的生命周期: 创建对象时存储在堆中,对象被回收时一并被回收 1.4)内存泄漏:不再使用的内存还没有被及时的回收,严重的泄漏会导致系统的崩溃 建议:不再使用的对象及时将引用设置为null 2)栈: 2.1)原创 2021-05-26 15:55:46 · 65 阅读 · 0 评论 -
多态
多态意义:1.1)同一类型的引用在指向不同的对象时,有不同的实现(所有抽象方法都是多态的) ----行为的多态:cut()、step()、getImage()...1.2)同一个对象被造型为不同的类型时,有不同的功能(所有对象都是多态的--明天上午第3节课讲) ----对象的多态:我、水...向上造型/自动类型转换:2.1)超类型的引用指向派生类的对象2.2)能造型成为的类型有: 超类+所实现的接口2.3)能点出来什么,看引用的类型强制类型转换,成功的条件只有如下两种:3原创 2021-05-26 10:04:44 · 58 阅读 · 0 评论 -
适合初学者的软件设计规则
设计规则:1.将派生类所共有的属性和行为,抽到超类中-------------抽共性2.派生类的行为都一样,设计为普通方法,派生类的行为都不一样,设计为抽象方法3.原创 2021-05-23 13:29:24 · 104 阅读 · 0 评论 -
接口
接口1)是一种数据类型(引用类型)2)由interface定义3)接口中只能包含常量和抽象方法4)接口不能被实例化5)接口是需要被实现/继承的,实现类/派生类: 必须重写接口中的所有抽象方法6)一个类可以实现多个接口,用逗号分隔 若又继承又实现时,应先继承后实现7)接口可以继承接口接口的演示//接口的演示public class InterfaceDemo { public static void main(String[] args) { //Inter4 o原创 2021-05-25 10:35:56 · 109 阅读 · 0 评论 -
成员内部类和匿名内部类
成员内部类:应用率低,了解1)类中套类,外面的称为外部类,里面的称为内部类2)内部类通常只服务于外部类,对外不具备可见性3)内部类对象通常在外部类中创建4)内部类中可以直接访问外部类的成员(包括私有的) ,内部类中有个隐式的引用指向了创建它的外部类对象 eg: 外部类名.this,如果有this的话,类名是不可省略的,否则会报错,但是可以全部省略,直接写变量名//成员内部类的演示public class InnerClassDemo { public static void..原创 2021-05-24 14:39:46 · 157 阅读 · 0 评论 -
抽象方法和抽象类
抽象方法1)由abstract修饰2)只有方法的定义,没有具体的实现(连{}都没有)抽象类1)由abstract修饰2)包含抽象方法的类必须是抽象类3)抽象类不能被实例化(new对象)abstract class Aoo{//抽象类}Aoo o = new Aoo(); //编译错误,因为抽象类不能被实例化Aoo[] os = new Aoo[3]; //正确,因为这是在创建数组对象4)抽象类是需要被继承的,抽象类一定要有派生类:4.1)重写所有抽象方法---原创 2021-05-23 14:23:43 · 67 阅读 · 0 评论 -
mac电脑如何配置mysql环境变量
1.打开终端,输入如下命令cd ~touch .bash_profileopen -e .bash_profile 2.此时会打开 一个空白文档,在文档中输入以下命令PATH=${PATH}:/usr/local/mysql/bin3.保存,关掉这个文档4.端输入命令source .bash_profile5.此时终端输入mysql -uroot -p,如果未显示command not found,说明此命令有效,环境变量配置成功...原创 2021-05-22 22:31:55 · 1499 阅读 · 1 评论 -
static
final:最终的、不能改变的----------单独应用几率极低1)修饰变量:变量不能被改变2)修饰方法:方法不能被重写3)修饰类:类不能被继承static:静态的1)静态变量:1.1)由static修饰1.2)属于类,存储在方法区中,只有一份1.3)常常通过类名点来访问1.4)何时用:所有对象所共享的数据(图片、音频、视频等)2)静态方法:2.1)由static修饰2.2)属于类,存储在方法区中,只有一份2.3)常常通过类名点来访问2.4)静态方法原创 2021-05-21 10:08:06 · 68 阅读 · 0 评论 -
package和import访问控制
package:1)作用:避免类的命名冲突2)同包中的类不能同名,包名常常是有层次结构的3)类的全称:包名.类名4)建议:包名所有字母都小写import:1)同包中的类可以直接访问 不同包中的类不能直接访问,若想访问:1.1)先import声明类再访问类------建议1.2)类的全称--------------------太繁琐、不建议2.访问控制修饰符:-------------保护数据的安全1)public:公开的,任何类2)private:私有的,本类原创 2021-05-20 17:19:58 · 82 阅读 · 0 评论 -
继承
继承 1)作用:代码复用 2)通过extends来实现继承 3)超类/父类:派生类所共有的属性和的行为 派生类/子类:派生类所特有的属性和行为 4)派生类继承超类后,派生类具有:派生类的+超类的 5)一个超类可以有多个派生类 一个派生类只能继承一个超类------单一继承 6)继承具有传递性 7)java规定:构造派生类之前必须先构造超类 ---在派生类的构造中若自己没有调用超类构造,则默认super()调用超类的无参构造 ---在派生类的构造中若...原创 2021-05-20 10:11:01 · 134 阅读 · 0 评论 -
java最简单最全入门基础笔记(不简单,不全你打我)
刚开始学习java的时候,可能是一头雾水,不知道从何学起,这里跟大家分享一下!(仅仅只供初级学者学习,大佬勿喷)一、初始java1.生活中的程序:从起床到教室上课的过程穿衣打扮》起床》洗漱》出宿舍》》吃早餐》到教室按照特定的顺序去完成某一件事的过程我们叫做生活中的程序2.计算机中的程序:一组有序指令的集合,需要和计算机交流就要使用计算机语言,java就是计算机语言的一种3.java能做什么:1、开发桌面应用程序,比如:QQ、酷狗2、开发internet应用程序,比如:淘宝、转载 2021-05-19 18:22:36 · 1204 阅读 · 0 评论 -
引用类型数组
Student[] stus = new Student[3]; stus[0] = new Student("zhangsan",25,"LF"); stus[1] = new Student("lisi",26,"JMS"); stus[2] = new Student("wangwu",27,"SD"); System.out.println(stus[0].name); //输出第1个学生的名字 stus[1].age = 24; //给第2个学生的年龄修改.原创 2021-05-18 15:44:29 · 226 阅读 · 0 评论 -
对象和类
什么是类?什么是对象?1)现实生活中是由很多很多的对象组成的,基于对象抽出了类 2)对象:软件中真实存在的单个东西/个体 类:类型/类别,代表一类个体 3)类是对象的模板/模子,对象是类的具体的实例 4)类中可以包含: 4.1)对象所共有的属性/特征--------------成员变量 4.2)对象所共有的行为/动作--------------方法 5)一个类可以创建多个对象如何创建类?如何创建对象?如何访问成员? 1)创建类: class 2)创建...原创 2021-05-18 11:58:07 · 400 阅读 · 0 评论 -
方法简介
方法:函数、过程1)封装一段特定的业务逻辑功能实现2)方法尽可能的独立,一个方法只干一件事3)方法可以被多次调用4)方法可以减少代码重复,有利于代码的维护方法的定义:五要素修饰词 返回值类型 方法名(参数列表){ 方法体 }4.方法的调用:1)无返回值: 方法名(有参传参);2)有返回值: 数据类型 变量 = 方法名(有参传参);5.return:1)return 数; //1.1)结束方法的执行 1.2)返回结果给调用方----用在有返回值的方法中2)r原创 2021-05-18 11:28:35 · 135 阅读 · 0 评论 -
基本类型数组
数组1)是一种数据类型(引用类型)2)相同数据类型元素的集合3)数组的定义:int[] arr = new int[10]; //声明整型数组arr,包含10个元素,每个元素都是int类型,默认值为04)数组的初始化:初始化的是数组中的元素int[] arr = new int[3]; //0,0,0int[] arr = {2,5,8}; //2,5,8int[] arr = new int[]{2,5,8}; //2,5,8int[] arr;ar.原创 2021-05-18 11:14:57 · 459 阅读 · 0 评论 -
JAVA中的三种循环
循环:反复多次执行一段相同或相似的代码循环三要素:1)循环变量的初始化2)循环的条件(以循环变量为基础)3)循环变量的改变(向着循环的结束变)循环变量:在整个循环过程中所反复改变的那个数循环结构:1)while结构:先判断后执行,有可能一次都不执行public class WhileDemo { public static void main(String[] args) { //2)输出9的乘法表: /* int num = 1; while(num<原创 2021-05-18 10:59:54 · 814 阅读 · 0 评论 -
分支结构
分支结构:基于条件执行的语句1)if结构: 1条路//if结构的演示public class IfDemo { public static void main(String[] args) { //1)有一个整数num,判断num是否是偶数: int num = 6; //6, 5 if(num%2==0) { System.out.println(num+"是偶数"); } System.out.println("继续"); //2)有一个商品的价格pr原创 2021-05-18 10:42:37 · 53 阅读 · 0 评论 -
数据类型间的转换以及运算
数据类型间的转换数据类型从小到大依次为: byte,short,int,long,float,double char1)两种方式:1.1)自动/隐式类型转换:小类型到大类型1.2)强制类型转换:大类型到小类型语法:(要转换成为的数据类型)变量 强转有可能溢出或丢失精度2)两点规则:2.1)整数直接量可以直接赋值给byte,short,char,但不能超出范围2.2)byte,short,char型数据参与运算时,系统会自动将其先转换为int再运算1.运算符:1)算术运原创 2021-05-18 10:26:02 · 630 阅读 · 0 评论 -
变量以及基本数据类型的介绍
变量:存数的1)声明:-------在银行开了个帐户int a; //声明一个整型的变量,名为aint b,c,d; //声明三个整型的变量,名为b,c,d//int a; //编译错误,变量不能同名2)初始化:-----给帐户存钱int a = 250; //声明整型变量a并赋值为250;int b; //声明整型变量b b = 250; //给变量b赋值为250b = 360; //修改变量b的值为3603)使用:-------使用的是帐户里面的钱3.1)对变量的使用原创 2021-05-18 10:14:47 · 269 阅读 · 0 评论 -
java开发环境以及eclipse:-IDE(集成开发环境)
java开发环境:1)编译运行过程:1.1)编译期:.java源文件,经过编译,生成.class字节码文件1.2)运行期:JVM加载.class并运行.class 特点:跨平台、一次编程到处使用2)名词解释:2.1)JVM:java虚拟机 加载.class并运行.class2.2)JRE:java运行环境 除了包含JVM以外还包含了运行java程序所必须的环境 JRE=JVM+java系统类库(小零件) 2.3)JDK:java开发工具包 除了包含JRE以外还包含了开发java程序所原创 2021-05-18 09:56:32 · 341 阅读 · 0 评论 -
初次使用eclipse的配置
方法/步骤 双击打开Eclipse软件,如下图所示: 弹出Eclipse Launcher对话框,提示进行工作空间目录设置,设置完成后,点击“OK”,如下图所示: 首次打开Eclipse时,默认显示Welcome页,此时我们需要将该右小角的“Always show Welcome at start up”前面的复选框反勾选掉(不选中),这样下次打开Eclipse时就不会显示Welcome页了,如下图所示: 接下来依次点击菜单栏中的“Window"->转载 2021-05-14 21:56:24 · 1581 阅读 · 0 评论 -
Mac下安装及配置Eclipse
1.安装Eclipse前先确认你的Mac上是否已安装java运行环境。进入终端,输入”java -version”,如果返回了java版本号则说明已安装,否则,请先安装java运行环境:2.访问eclipse官方首页http://www.eclipse.org/home/index.php,点击右上角“Download”按钮:3.这里列出了多种下载安装包,根据你的需求来选择。由于我们需要开发基于web的jsp程序,所以要选择Java EE的这个:4.选择一个镜像站点下载...转载 2021-04-26 12:45:49 · 3050 阅读 · 0 评论 -
苹果(mac)电脑安装eclipse步骤
方法/步骤 1 打开mac后,点击桌面上的浏览器图标,打开safari浏览器。然后打开百度搜索eclipse,官网如下面第二张图中所示: 打开eclipse官网后,点击右上角的downloads下载按钮,进入到下载页面。在下载页面中默认是下载windows64位,要下载mac版本,需要点击按钮下方的download packages链接。 然后会跳转到版本选择页面,在这里我们会看到mac 64位版本的链接,点击它。 然后会跳转到mac版本转载 2021-04-26 12:24:56 · 8986 阅读 · 6 评论