JAVA基础知识
剑雨巍巍
这个作者很懒,什么都没留下…
展开
-
4.方法操作实例变量
引言:对于对象而言,状态(实例变量表示)影响行为(方法表示),行为影响状态类的每个实例(即特定类型的每个对象)可以维持自己的实例变量编写类,即在描述JVM如何制作该类型的对象传值给方法:方法会运用形参,调用的一方会传入实参实参是传给方法的值,当它传入方法后就成了形参,形参类比于局部变量JAVA是通过值传递的,即通过拷贝传递,这样意味着在方法中无法改变调用方传入的参数原创 2017-10-27 15:34:51 · 267 阅读 · 0 评论 -
18.1 集合与泛型
前言:Java集合框架能支持大多数数据结构,如创建自动排除重复项目的列表,可加入元素的列表应用场景:点歌数据记录在一个文本文件目标:管理点播记录,产生报表,管理歌本(依靠内存上的数据集合)原创 2018-01-30 21:59:24 · 345 阅读 · 0 评论 -
18.2 集合和泛型
接18.1内容,若排序过程,出现数据重复,则需要使用Set集合Collection的三个主要接口:List,Set和Map1)LIST:应对排序问题知道索引位置的集合,但可能多个元素引用相同的对象2)SET:注重唯一性不允许重复3)MAP:用key来搜索的专家使用键值对,两个key可能引用相同的对象,但key不可重原创 2018-02-04 22:29:20 · 116 阅读 · 0 评论 -
1.3 J2SE复习(4月23日)
7.4 this关键字使用1)使用原因:避免如下的尴尬public void setName(String name){name = name;//都成局部变量,errorthis.name = name;//第一个name为类的属性,第二个为局部变量}2)用法1.在方法内部使用,即这个方法所属对象的引用;2.在构造器内部原创 2018-04-23 11:51:47 · 155 阅读 · 0 评论 -
1.1 Java之变量和基本运算
前言:本系列主要复习Java的一些重要知识点,天马行空,不成体系,望见谅!目录常用命令行指令Java概述环境变量的配置(在任何目录下均可运行命令)Java程序运行准备与步骤Java程序结构注释文档注释标识符命名规则命名规范(可不遵守)Java变量概述整型变量浮点型变量字符型变量字符型常量布尔型变量自动类型转换自动类型转换的...原创 2018-03-23 16:49:04 · 287 阅读 · 0 评论 -
1.2 Java之运算符和条件语句(if+switch)
目录算术运算符+=符号=与==符号*=符号逻辑运算符^异或“&”和“&&”位运算符交换数值的方法三元运算符判断三数中最大数(三元运算符实例)进制转换练习(与运算符的妙用)程序基本结构if语句if-else语句的嵌套获取键盘输入if语句练习(待补)switch语句if与switch语句辨析日...原创 2018-03-29 10:25:27 · 498 阅读 · 0 评论 -
1.3 Java之循环语句
目录 循环for 循环结构for循环实例while 循环do/while 循环无限循环嵌套循环结构嵌套循环练习找100以内的质数(循环)法一(最笨)法二法三(best)法四循环循环语句的四个组成部分初始化部分(init_statement) 循环条件部分(test_exp) 循环体部分(body_statement) 迭代部...原创 2018-05-11 10:12:11 · 257 阅读 · 0 评论 -
1.4 Java之break和continue语法
目录break和continuebreak和continue练习break和continuebreak用在switch-case和循环中,不能用于if-else语句中 break在循环中表示跳出当前循环(在内循环则跳出内循环) continue在循环中表示跳出当次循环 break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句,简而言...原创 2018-05-11 21:25:37 · 248 阅读 · 0 评论 -
1.5 Java之数组
目录数组一维数组初始化的两种方式数组长度数组元素默认值数组的内存结构一维数组练习多维数组多维数组静态初始化二维数组的内存结构1二维数组长度二维数组内存结构2数组异常类型数组练习打印杨辉三角常见数组算法实现数组元素排序冒泡排序直接选择排序数组数组元素可以是任何数据类型,包括基本数据类型和引用数据类型(一维数组,...原创 2018-05-11 21:55:02 · 278 阅读 · 0 评论 -
1.7 Java之封装性,构造器,this关键字和JavaBean
目录封装性权限修饰符封装性实例构造器构造器练习this关键字JavaBean封装性 Java中通过将数据声明为私有的(private),再提供公共的(public)方法:getXxx()和setXxx()实现对该属性的操作,以实现下述目的:隐藏一个类中不需要对外提供的实现细节; 使用者只能通过事先定制好的方法来访问数据,可以方便地加入 控制逻辑,...原创 2018-05-26 12:22:37 · 485 阅读 · 0 评论 -
1.6 Java之创建和调用对象(对象结构+重载+参数传递)
目录 面向对象思想面向对象的三大特征设计对象方法类对象的内存结构成员变量局部变量类的方法类的访问机制方法的封装重载重载练习创建对象练习匿名类对象可变个数形参的方法参数传递方式参数传递练习面向对象思想面向对象的三大特征封装 (Encapsulation) 继承 (Inheritance) 多态 (Polymor...原创 2018-05-23 12:17:35 · 418 阅读 · 0 评论 -
4.1 Java之String类
文章目录#回顾集合:创建的多个对象存放地方,统一管理,看作容器IO:程序与硬盘或网络资源交互四个基本的抽象类以及具体的不同实现,不同流处理IO特点不同数据流:只读基本数据类型和字符串节点流(4个):处理文本和非文本文件#字符串字符串常量池存放字符串信息没有,则创建一个,JavaEE字符串底层用字符数组存取堆空间引用变量指向常量池信息value为char型数组,引用变量类型...原创 2018-09-25 10:47:08 · 212 阅读 · 0 评论 -
4.2 Java之时间类与数学类
文章目录Date类Date类打印date实例,相当于调用其toString方法(重写)每个date对应一个long型值格式化相关text包下原创 2018-09-26 09:51:29 · 132 阅读 · 0 评论 -
4.3 Java之反射
文章目录编译时不指定,运行时动态获取某东西从而进行相应操作(动态性)一段通用性的代码(模板)然后对应数据库,每一条数据看作类的对象代码作用:获取数据库连接 返回一条数据对应的一个对象(相当于在程序中对应一个customer类)对象的动态创建通过反射的方式根据传入参数,动态创建对应类的对象任何一个类对于反射的Class来说是完全暴露的都是类编译时到字节码文件中,运行时把字节码文件对...原创 2018-09-30 10:35:35 · 142 阅读 · 0 评论 -
1.进入JAVA的世界
本章主要从JAVA工作方式认识JAVA 1.JAVA特点: 语法友好,面向对象,内存管理,跨平台可移植性(写一次可在所有地方执行) 2.JAVA工作方式: 编写源代码文件->编译器运行源代码(检测错误)->编译器产生字节码(字节码与平台无关,任何支持JAVA的装置能将其转译为可执行的内容)->JVM(JAVA虚拟机,通过软件实现的,JVM可读取与JA执行原创 2017-10-20 15:26:18 · 386 阅读 · 0 评论 -
0.从零开始学JAVA
目标:从零系列系统学习JAVA 参考书目:Head First JAVA(第二版) 笔者编程基础:基本掌握C语言 另外对CSDN文字代码编辑方式正在慢慢了解,排版问题请见谅!原创 2017-10-20 15:16:30 · 193 阅读 · 0 评论 -
17 网络与线程
网络联机 前言:Java程序可以向外拓展并与其他程序产生联系。所有网络运行的底层细节已经由java.net函数库处理掉了,传送与接收数据只不过是链接上使用不同链接串流的输入/输出而已。使用socket连接世界。聊天程序概述客户端必须要认识服务器。服务器必须认识所有的客户端工作方式1.客户端连接到服务器2.服务器建立连接并把客户端加到来宾清单中3.其他用户连接4.原创 2018-01-25 15:19:03 · 205 阅读 · 0 评论 -
5.超强力方法
引言:让方法产生更大的作用创建战舰游戏游戏目标:以最少的猜测次数打掉目标.获得相应分数初始设置:计算机在7*7的方格安排3个目标,每个目标占用3个格子(横竖连着).安排完成后,玩家需要猜测坐标游戏过程:猜测目标坐标,直到全部猜中,结算分数首先进行高层设计1.玩家启动游戏A.计算机创建三个目标B.将此三个目标停在虚拟战场2.游戏开始重复下列操作原创 2017-10-27 16:14:04 · 210 阅读 · 0 评论 -
3.认识JAVA变量
变量概述JAVA变量分为两种:primitive主数据类型和对象引用,变量具有大小和类型.主数据类型保存基本类型的值,包括整数,布尔,浮点数对象的引用保存的是对象的引用.(PS废话)X类型的Y对象,此处类型与类是相通的同义字变量分类之主数据类型主数据类型具有不同的大小和名称,如下所示(共8种):boolean true or falsechar 16 0-655原创 2017-10-20 19:19:48 · 192 阅读 · 0 评论 -
7.继承与多态
设计继承时,把共同的程序代码放入某个类,告诉其他类:此类是它们的父类子类继承父类意味着继承了父类的成员,类的成员指的是实例变量和方法,但是子类可以加入自己的方法和实例变量,可以覆盖掉继承自父类的方法,实例变量不会被覆盖.设计父类,辨别出所有子类共同的,抽象的特征,以此为基础设计.当调用子类覆盖的父类方法时,会调用与该对象类型最接近的方法,即最低阶的会胜出,即层次树最下面.继承关系通原创 2017-11-02 15:26:27 · 298 阅读 · 0 评论 -
8.接口与抽象类
前言:继承只是个开始,要使用多态还需要接口.接口是100%纯抽象的类.抽象类是无法初始化的类Animal anim=new Animal();初始化animal显得很奇怪,换句话说animal不应该被初始化,你只应该初始化老虎,狮子等具体动物,不能被初始化可以通过标记类为抽象类,实现该类不能创建如何类型的实例,但是还可以用这种抽象的类型作为引用变量类型如Animal aHippo=原创 2017-11-03 12:01:12 · 218 阅读 · 0 评论 -
9.1 构造器与垃圾收集器
前言:对象有生有死。要为对象的生命循环周期负责,要决定何时创建,怎么创建,何时销毁对象(声明要放弃对象,GC垃圾收集器将回收其所占的内存空间)。内存中的两种区域:对象的生存空间堆和方法调用及局部变量的生存空间栈。当JVM启动时,从底层的操作系统取得一块内存,并以此区段执行程序。局部变量也叫栈变量。实例变量声明在类中,代表每个独立对象(实例)的字段,即实例变量存在于所属的对象中。原创 2017-11-14 16:52:36 · 161 阅读 · 0 评论 -
9.2 构造器与垃圾收集器
前言上节提到构造函数,若是涉及到父类呢?本章将对此问题进行论述。回顾每个对象不只是保存自行声明的变量,还有从父类继承来的东西(至少带有Object类)。构造函数的运行过程对象在创建时,对象会取得的所有实例变量所需的空间,包括继承的东西,若父类有setter方法调用私有变量(私有本来不继承),则此变量也有空间。对象带有setter所包装的实例变量,这些实例变量是子类被初始化时原创 2017-11-16 21:10:54 · 201 阅读 · 0 评论 -
11 异常处理
创建MIDI音乐播放器创建音效应用程序,包括BeatBox Drum播放机,涉及创建Swing GUI,网络连接,连接到输入,输出设备JavaSoundAPI放在J2SE类函数库的一组类与接口,分为两部分:MIDI)和取样。MIDIMusic Instrument Digital Interface,不同电子发声装置沟通的标准协议,本身不具备声音,带的是有MIDI播放功能装置的原创 2017-11-24 16:45:49 · 526 阅读 · 0 评论 -
14 序列化和文件的输入/输出
保存对象对象可以被序列化也可以展开对象有状态和行为属性,行为存在于类中,而状态存在于个别的对象中。当需要存储对象的状态时,一是可以对每个对象逐个把每项变量值写到特定格式的文件中或采用面向对象方式,把对象经过一系列流程保存,再逆过程恢复,但有时要来硬的,特别是程序所存储的文件需要给非Java的应用程序所读取。原创 2017-12-13 12:19:13 · 444 阅读 · 0 评论 -
10.2 数字与静态
静态的final变量是常数标记为final代表一旦被初始化就不会改动,即类加载后静态final变量一直会维持原值如public static final double PI=3.14 static代表不需要math实例 注意常数变量名称为大写字母静态初始化程序是一段在加载类时会执行的程序代码,会在其他程序使用该类之前就执行,很适合放final静态变量的初始程序。如下所示:原创 2017-11-21 17:03:24 · 238 阅读 · 0 评论 -
10.1.数字与静态
每日一句:努力的理由:怕委曲求全卑躬屈膝,活的没有尊严。前言:数字的用途很广:取整,计算绝对值,更改显示格式,字符串转化为数字Math方法最接近全局的方法,因为Java中没有东西是全局的,存在一类方法不依赖实例变量的值,如Math类的round()方法,1000个Math实例执行round(42.2)都是42,所以不会为了执行round而在宝贵堆上建立Math的实例,即不存在空间被原创 2017-11-17 15:16:03 · 223 阅读 · 0 评论 -
13.2 运用Swing
操作Swing组件前面介绍了布局管理器,本章节关注常用的组件:text field,可滚动的text area,check box以及list构造函数JTextField field = new JtextField(20); //20代表字宽,而不是像素JTextField field = new JtextField("your name");原创 2017-12-13 10:55:53 · 186 阅读 · 0 评论 -
13.1 运用Swing
前言:Swing很容易写也很难控制的原因在于布局管理器,这个对象控制widget的大小与位置。本章主要学习Swing和布局管理器。组件组件(widget),也称为元件(Component),因为几乎所有组件继承自javax.swing.JComponent组件可以嵌套,即组件上能安置其他组件,大部分情况是将按钮等交互组件放置在框架和面板等背景组件上。布局管理原创 2017-12-07 17:05:25 · 160 阅读 · 0 评论 -
12 图形用户接口
上次学习内容未保存,待补!回到图形上面前言:之前大概了解事件的运行方式,现在回到屏幕的绘制上。在GUI上加东西的三种方法1.frame上放置widget(javax.swing包中),如按钮,窗体等frame.getContentPane().add(myButton);2.在widget上绘制2D图形(图形绘制方法在Java 2D原创 2017-12-05 15:26:57 · 483 阅读 · 0 评论 -
4.4 Java之动态代理(反射应用)
文章目录动态代理概述静态代理动态代理概述由代理类决定何时及如何调用被代理类被代理类要完成接口定义的功能——》创建代理类,实现接口(不同接口则要不同的代理类)编译期不用确定代理类类型,运行时动态创建代理类被代理类实现某接口——》代理类动态实现该接口——》代理目标对象声明是接口类型,实际传入被代理类对象,进行实例化静态代理参考接口章节...原创 2019-01-07 19:23:34 · 130 阅读 · 0 评论