
Java基础
werdzs
这个作者很懒,什么都没留下…
展开
-
04_第一个Java程序
使用最原始方法编写一个Java程序源代码->编译->执行原创 2017-05-22 15:41:31 · 301 阅读 · 0 评论 -
05-Hello Word深入-Java代码规范
1.常用的Java开发工具2.Java书写规范原创 2017-05-22 18:44:03 · 424 阅读 · 0 评论 -
06_标识符_字符集及Java的数据类型
1.标识符(Identifier) 给变量、类及方法命名Java标识符的命名规则原创 2017-05-22 23:37:24 · 307 阅读 · 0 评论 -
07_整数类型_进制转换_编程中的L问题
1.整数类型原创 2017-05-22 23:25:10 · 404 阅读 · 0 评论 -
08_浮点类型_浮点数误差问题
1.浮点类型 类型 占用存储空间 表述范围 float 4字节 -3.403E38~3.403E38 double 8字节 -1.798E308~1.798E308 float 单精度浮点型,尾数可以精确到7位有效数字 double 双精度浮点型,数值精度为float的两倍;原创 2017-05-23 00:07:17 · 523 阅读 · 0 评论 -
09_char_字符串入门和boolean
1.字符型(2个字节)单引号用来表示一个字符常量:如’A’是一个字符,它与”A”不同,”A”表示含有一个字符的字符串。char类型内部采用Unicode编码表中的字符(Unicode:2,0~65535)原创 2017-05-23 14:04:42 · 303 阅读 · 0 评论 -
10_基本数据类型自动转换_强制转型_类型提升问题
1.自动类型转换 容量小的数据类型可以自动转换为容量大的数据类型; 容量指的是表数范围而不是字节数; 特例: 可以将整型常量直接赋值给byte、short、char等类型变量,而不需要进行强制类型转换,只要不超过其表数范围。2.强制类型转换 用于显式的转换一个数值的类型原创 2017-05-23 15:13:01 · 991 阅读 · 0 评论 -
11_[补充]JDK7新特性_二进制整数_下划线分隔符
增加了二进制整数(以0b开头)以及可以用下划线_来分隔二进制、十进制等数。原创 2017-05-23 16:16:09 · 371 阅读 · 0 评论 -
23_break和continue_带标签的break和continue
//打印101-150之间所有的质数原创 2017-06-05 13:16:36 · 594 阅读 · 2 评论 -
24_方法_方法的本质_形参_实参_return语句
方法 设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。 我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。方法的要点:Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段,声明格式:[修饰符1 修饰符2 …] 返回值类型 方法名(形式参数列表){Java语句;… … …}形式参数:在方法被调用时原创 2017-06-05 14:07:19 · 356 阅读 · 0 评论 -
25_递归算法详解
递归算法 A方法调用B方法,我们很容易理解!递归就是:A方法调用A方法!就是自己调用自己,因此我们在设计递归算法时,一定要指明什么时候自己不调用自己。否则,就是个死循环!递归算法要点: 递归是一种常见的解决问题的方法,即把问题逐渐简单化。递归的基本思想就是“自己调用自己”,一个使用递归技术的方法将会直接或者间接的调用自己。 利用递归可以用简单的程序来解决一些复杂的问题。比如:大多数排原创 2017-06-05 14:31:03 · 341 阅读 · 0 评论 -
26_api文档_package的概念_生成自己项目的api文档
1.API API是什么? API:Application Programming Interface,应用程序编程接口。2.package为什么需要package?为了便于管理类:合适的类位于合适的包!为了解决类之间的重名问题。package怎么用?通常是类的第一句非注释性语句。包名:域名倒着写即可,再加上模块名,并与内部管理类。其实内部实现就是靠目录结构来做到的。注意事原创 2017-06-05 15:07:23 · 276 阅读 · 0 评论 -
27_键盘输入_Scanner类的使用_import简单入门
1.import为什么需要import? 如果不适用import,我们如果用到其他包的类时,只能这么写:java.util.Date,代码量太大,不利于编写和维护。通过import可以导入其他包下面的类,从而可以在本类中直接通过类名来调用。import怎么使用?import java.util.Date; import java.util.*; //导入该包下所有的类。会降低编译速原创 2017-06-05 15:22:50 · 1553 阅读 · 0 评论 -
68-69_常用类_可视化日历程序
可视化日历的编写 编写程序,利用GregorianCalendar类,打印当前月份的日历原创 2017-06-16 11:46:16 · 526 阅读 · 0 评论 -
70_常用类_file类的使用
File类File类的基本用法 java.io.File类:文件和目录路径名的抽象表示形式。 File类的常见构造方法: public File(String pathname) 以pathname为路径创建File对象,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储。原创 2017-06-16 12:00:41 · 259 阅读 · 0 评论 -
71_常用类_file类_打印目录树状结构_递归算法_(枚举补充)
树状结构展现文件结构编写一个程序,在命令行中以树状结构展现特定的文件夹及其子文件(夹),利用File类和递归知识,实现树状结构的展示原创 2017-06-16 12:10:19 · 281 阅读 · 0 评论 -
28_面向对象_01_面向过程和面向对象的本质区别
语言的进化发展跟生物的进化发展其实是一回事,都是”物以类聚”。相近的感光细胞聚到一起变成了我们的眼睛,相近的嗅觉细胞聚到一起变成了我们的鼻子。 语句多了,我们将完成同样功能的相近的语句,聚到了一块儿,便于我们使用。于是,方法出现了! 变量多了,我们将功能相近的变量组在一起,聚到一起归类,便于我们调用。于是,结构体出现了! 再后来,方法多了,变量多了!结构体不够用了!我们就将功能相近的变量和方法原创 2017-06-05 15:57:00 · 246 阅读 · 0 评论 -
29_面向对象_02_面向对象的方式思考问题
面向过程的思维模式 面向过程的思维模式是简单的线性思维,思考问题首先陷入第一步做什么、第二步做什么的细节中。这种思维模式适合处理简单的事情,比如:上厕所。 如果面对复杂的事情,这种思维模式会陷入令人发疯的状态!比如:如何造神舟十号!面向对象的思维模式 面向对象的思维模式说白了就是分类思维模式。思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细原创 2017-06-05 16:21:02 · 398 阅读 · 0 评论 -
32_面向对象_05_程序执行过程的内存分析_02
package cn.bjsxt.oop; public class Computer { String brand; int cpuSpeed; }package cn.bjsxt.oop; public class Student { //静态的数据 String name; int id原创 2017-06-05 20:06:30 · 225 阅读 · 0 评论 -
31_面向对象_04_程序执行过程的内存分析_01
栈: 1. 每个线程私有,不能实现线程间的共享! 2. 放置局部变量。 3. 栈是由系统自动分配,速度快!栈是一个连续的内存空间!(后进先出)堆: 1. 放置new出来的对象! 2. 堆是一个不连续的内存空间,分配灵活,速度慢!方法区(也是堆): 1. 被所有线程共享! 2. 用来存放程序中永远是不变或唯一的内容。(类代码信息、(static)静原创 2017-06-05 19:55:50 · 244 阅读 · 0 评论 -
35_面向对象_08_方法重载_构造方法重载
方法的重载(overload),构造方法的重载 方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法。 调用时,会根据不同的参数表选择对应的方法。 方法调用时,匹配离得最近的类型 不同的含义:类型,个数,顺序不同 只有返回值不同不构成方法的重载 只有形参的名称不同,不构成方法的重载 与普通方法一样,构造方法也可以重载 两同三不同:同一个类,同原创 2017-06-06 12:55:41 · 232 阅读 · 0 评论 -
36_面向对象_09_static变量和方法_内存分析static
static关键字 在类中,用static声明的成员变量为静态变量(类变量)。1.它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化。 2.对于该类的所有对象来说,static成员变量只有一份。被该类的所有对象共享!!3.可以使用”对象.类属性”来调用。不过,一般都是用“类名.类属性”。4.用static声明的方法为静态方法: 不需要对象,就可以调用(类名.方法原创 2017-06-06 14:03:22 · 287 阅读 · 0 评论 -
39_面向对象_12_继承_方法的重写
方法的重写(override) 在子类中可以根据需要对从父类中继承来的方法进行重写。 重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型。 重写方法不能使用比被重写方法更严格的访问权限。(由于多态) 方法重写(override)和方法重载(overload)的区别 没有一毛钱的关系 很多人问重写和重载什么区别? 他们两个完全是两回事。除了名字都带一个“原创 2017-06-06 18:37:49 · 210 阅读 · 0 评论 -
40_面向对象_13_继承_Object类用法_toString和equals方法_重写toString
Object类 Object类是所有Java类的根基类 如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类 public class Person { ... } //等价于: public class Person extends Object { ... }toString方法原创 2017-06-06 19:10:58 · 655 阅读 · 0 评论 -
42_面向对象_15_继承_组合
继承和组合 共同点:都可以实现代码的复用 不同点: is-a关系:使用继承has-a关系:使用组合/** * 测试组合 * @author * */public class Animal2 { String eye; public void run(){ System.out.println("跑跑!"); } publ原创 2017-06-06 19:44:21 · 209 阅读 · 0 评论 -
38_面向对象_11_继承_基本概念
为什么需要继承?继承的作用? 第一好处:继承的本质在于抽象。类是对对象的抽象,继承是对某一批类的抽象。 第二好处:为了提高代码的复用性。 extands的意思是“扩展”。子类是父类的扩展。继承的要点继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。如何实现继承:使用extends关键字即可。子类继承父类,可以得到父类全部的属性和方法(除了父类的构造方法原创 2017-06-06 17:15:44 · 339 阅读 · 0 评论 -
44_面向对象_17_封装
访问控制符原创 2017-06-06 20:21:26 · 220 阅读 · 0 评论 -
45_面向对象_18_多态_基本概念_强制转型问题_instanceof运算符
面向对象三大特征: 继承、封装、多态多态(polymorphism) 多态性是OOP中的一个重要特性,主要是用来实现动态联编的,换句话说,就是程序的最终状态只有在执行过程中才被决定而非在编译期间就决定了。这对于大型系统来说能提高系统的灵活性和扩展性。 多态可以让我们不用关心某个对象到底是什么具体类型,就可以使用该对象的某些方法,从而实现更加灵活的编程,提高系统的可扩展性。原创 2017-06-07 01:53:45 · 450 阅读 · 0 评论 -
46_面向对象_19_多态_内存分析
public class Animal { String str; public void voice(){ System.out.println("普通动物叫声!"); }}class Cat extends Animal{ public void voice(){ System.out.println("喵喵喵"); }原创 2017-06-07 02:09:01 · 402 阅读 · 0 评论 -
47_面向对象_20_多态_内存分析深化(模拟servlet中方法的调用)
public class HttpServlet { public void service(){ System.out.println("HttpServlet.service()"); this.doGet(); } public void doGet(){ System.out.println("HttpServlet.do原创 2017-06-07 02:25:45 · 309 阅读 · 0 评论 -
48_面向对象_21_抽象类_抽象方法
抽象方法 只声明了方法,同时使用了abstract修饰,没有方法体!必须要子类来重写!抽象类 包含抽象方法的类,必须设计成抽象类!抽象类的使用要点 通过抽象类,可以避免子类设计的随意性。 有抽象方法的类只能定义成抽象类 抽象类不能实例化,及不能用new来实例化抽象类。 抽象类可以包含属性、方法、构造方法。但是构造方法不能用来new实例,只能用来被子类调用。 抽象原创 2017-06-07 02:42:02 · 242 阅读 · 0 评论 -
49_面向对象_22_接口详解
接口(interface)普通类:只有具体实现抽象类:具体实现和规范(抽象方法) 都有!接口:只有规范!为什么需要接口? 接口就是比“抽象类”还“抽象”的“抽象类”,可以更加规范的对子类进行约束。全面地专业地实现了:规范和具体实现的分离。 抽象类还提供某些具体实现,接口不提供任何实现,接口中所有方法都是抽象方法。接口是完全面向规范的,规定了一批类具有的公共方法规范。 从接原创 2017-06-07 03:24:22 · 334 阅读 · 0 评论 -
03_JDK和JRE和JVM
1.JDK、JRE、JVM基本概念原创 2017-05-22 17:51:25 · 281 阅读 · 0 评论 -
12_变量_成员变量和局部变量_常量_命名规范
1.变量(Variable) 我们通过变量来操纵存储空间中的数据,变量就是指代这个存储空间!空间位置是确定的,但是里面放置什么值不确定!原创 2017-06-03 11:38:16 · 3144 阅读 · 0 评论 -
13_运算符_01_算术_逻辑_位运算符_扩展运算符
1.运算符(operator)Java 语言支持如下运算符: 算术运算符: +,-,*,/,%(取余数),++,– 赋值运算符 = 关系运算符: >,<,>=,<=,==,!= instanceof 逻辑运算符: &&,||,! 位运算符: &,|,^,~ , >>,<<,>>> (了解!!!) 条件运算符 ?: 扩展赋值运算符:+=,-=,*=,原创 2017-06-03 13:33:59 · 457 阅读 · 0 评论 -
14_运算符_02_字符串连接_三元运算符_优先级问题
字符串连接符 “+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。int c = 12;System.out.println("c=" + c); //c12三目条件运算符 三目条件运算符,语法格式:x ? y : z其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个三目运算的结果为表达式原创 2017-06-03 13:55:55 · 738 阅读 · 0 评论 -
15-16_Eclipse开发环境的使用
Eclipse常用快捷键a) 命令提示:alt+/ (main, syso)b) 文件选择: i. Shift+ 上下左右,home,end键ii. Ctrl+Shift+ 左右 单词选中c) 删除一行:ctrl+dd) 复制一行到下面或上面: ctrl+alt+上下e) 换行:alt+上下f) 编辑文件切换:ctrl+F6,或者ctrl+E,上原创 2017-06-03 14:26:35 · 207 阅读 · 0 评论 -
72_异常机制_Exception_Throwable_Error的概念
引言 实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据可能是空的等。我们的程序再跑着,内存或硬盘可能满了。等等。原创 2017-06-19 11:29:10 · 334 阅读 · 0 评论 -
73_异常机制_常见异常分类_异常简单处理
异常分类 JDK 中定义了很多异常类,这些类对应了各种各样可能出现的异常事件,所有异常对象都是派生于Throwable类的一个实例。如果内置的异常类不能够满足需要,还可以创建自己的异常类。 Error Error类层次描述了Java运行时系统内部错误和资源耗尽错误。这类错误是我们无法控制的,同时也是非常罕见的错误。所以在编程中,不去处理这类错误。 Error表明系统JV原创 2017-06-19 11:54:21 · 462 阅读 · 0 评论 -
74_异常机制_try_catch_finally_return执行顺序
异常的处理办法之一,捕获异常 上面过程详细解析:try块try语句指定了一段代码,该段代码就是一次捕获并处理的范围。在执行过程中,当任意一条语句产生异常时,就会跳过该段中后面的代码。代码中可能会产生并抛出一种或几种类型的异常对象,它后面的catch语句要分别对这些异常做相应的处理原创 2017-06-19 12:00:35 · 345 阅读 · 0 评论