JavaSE
文章平均质量分 80
AHuier
Android应用开发工程师。关注: 移动互联网 穿戴设备 UI界面 人机交互 增强现实。 兴趣: 摄影 赛车 电影 旅行
展开
-
JavaSE第一讲:JavaSE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行
(1):Java简介Java是由Sun公司推出的(今年初被Oracle公司收购)。收购价格:74亿美金Java SE:Java Standard EditionJava ME: Java Micro EditionJava EE:Java Enterprise EditionJ2SE、J2ME、J2EE(2):JDK与JRE的区别JDK:Java Developme原创 2012-11-06 22:43:51 · 2411 阅读 · 0 评论 -
JavaSE第二讲:原生数据类型 Primitive Data Type
(1)编辑工具 Windows: notepad, editplus, ultraedit, gvim Linux: vi, vim, gedit(2)Java中的数据类型分为两大类: 1)原生数据类型 (Primitive Data Type) 2)引用类型(对象类型)(Reference Type)(3)变量与常量原创 2012-11-06 23:18:14 · 1764 阅读 · 0 评论 -
JavaSE第三讲:原生数据类型使用陷阱 Ptifall of Primitive Data Type
1. Java中的原生数据类型共有8种: 1) 整型:使用int表示。(32位) 2) 字节型:使用byte表示。(表示-128~127之间的256个整数, 8位)。 3)短整型:使用short表示。(16位) 4)长整型:使用long表示。(64位) 5)单精度浮点型:使用float表示。所谓浮点型,指的就是小数,也叫做实数,比如1.2。原创 2012-11-08 20:50:16 · 1484 阅读 · 0 评论 -
JavaSE第四讲:运算符 Operator
public class Varible{ public static void main(String[] args) { int a = 1; int b = 2; int c = a + b; int d = a - b; int e = a * b; System.out.println(c); System.out.println(d); Sys原创 2012-11-08 21:44:05 · 1205 阅读 · 0 评论 -
JavaSE第五讲:运算符续 Operator cont
1. 关系运算符:大于(>)、小于(=)、小于等于( int a = 3; int b = 2; boolean c = (a > b); System.out.println(c);输出结果:D:\src>java OperatorTesttrue2. 逻辑运算符(或真且假):重点讲解两个,逻辑运算符本身也返回一个boolean值。 1)原创 2012-11-09 20:24:31 · 1202 阅读 · 0 评论 -
JavaSE第六讲:流程控制语句 Flow Control Statement
1. 条件运算符(三元表达式),其形式为:type d = a ? b : c; 具体化形式为:int d = 2 如果a为真则将b赋值给d,否则c赋值给d。 int a = 1; int b = 2; int c = 3; int d = 4; int e = a < b ? c : d; int f = a > b ? c : d; System.原创 2012-11-09 21:21:43 · 919 阅读 · 0 评论 -
JavaSE第七讲:流程控制语句续 Flow Control Statement Cont
1. Java中的循环控制语句一共有3种,分别是while,do… while以及for循环。2. while循环,形式为:while(布尔表达式){//待执行的代码} int a = 1; //循环变量 int sum = 0; //存储相加后的结果 while(a <= 100) { sum += a; a +=原创 2012-11-09 22:07:32 · 1198 阅读 · 0 评论 -
JavaSE第八讲:理解面向对象程序设计
1. break语句:经常用在循环语句中,用于跳出整个循环,执行循环后面的代码。(注意break跳出的循环是与其最接近的循环 for(int i = 0; i < 10; i++) { if(5 == i) { break; } System.out.println(i); }执行结果:D:\src>java BreakTest01原创 2012-11-10 19:41:20 · 1236 阅读 · 0 评论 -
JavaSE第九讲:面向对象之封装
1. 面向对象程序设计的三大基本特征:继承(Inheritence)、封装(Encapsulation)、多态(Polymorphism)2. 封装:类包含了数据与方法,将数据与方法放在一个类中就构成了封装。3. 类,如何定义类?修饰符 class 类的名字{//类的内容(包含了属性与方法)}4. 方法,如何定义方法?修饰符 返回类型原创 2012-11-10 20:18:14 · 1339 阅读 · 0 评论 -
JavaSE第十讲:面向对象之封装 续
1. 类中的属性又叫做成员变量(member variable),属性用英文表示为property或者attribute。2. 对象(Object)又叫做实例(Instance)。生成一个对象的过程又叫做实例化。3. 命名约定a) 类:首字母大写,如果一个类名由多个单词构成,那么每个单词的首字母都大写,中间不使用任何的连接符。比如Person类,MemberTest原创 2012-11-10 21:04:38 · 1277 阅读 · 2 评论 -
JavaSE第十一讲:面向对象之封装 续二
1. 如果一个类包含了属性与方法,那么该类的每一个对象都具有自己的属性,但无论一个类有多少个对象,这些对象共享同一个方法。2. 【重要】关于方法参数传递的总结:对于Java中的方法参数传递,无论传递的是原生数据类型还是引用类型,统一是传值(pass by value)。public class ParamTest{ public static void main(Str原创 2012-11-11 18:49:52 · 1253 阅读 · 0 评论 -
JavaSE第十二讲:Java基础知识回顾
第三种注释方式:/***/这种注释方式与前面两种方式类似,这种注释方式是用来生成注释文档的,用javadoc命令java帮助文档生成工具来生成文档,比如JavaAPI帮助文档就是怎么生成的。public class FloatTest{ public static void main(String[] args) { double f = (f原创 2012-11-11 20:01:03 · 924 阅读 · 0 评论 -
JavaSE第十三讲:Java基础知识回顾 续
1. 类是一种抽象的概念,对象是类的一种具体表示形式,是具体的概念。先有类,然后由类来生成对象(Object)。对象又叫做实例(Instance)。2. 类由两大部分构成:属性以及方法。属性一般用名词来表示,方法一般用动词来表示。3. 如果一个java源文件中定义了多个类,那么这些类中最多只能有一个类是public的,换句话说,定义的多个类可以都不是public的。原创 2012-11-11 20:28:16 · 788 阅读 · 0 评论 -
JavaSE第十四讲:面向对象详解
方法是不能嵌套使用的,但是一个方法中可以调用另一个方法void method(){ void method2()}这种写法是不行的int add(int a, int b)//形式参数{ return a + b;}intresult =add(1,2) //实际参数public class Retu原创 2012-11-11 20:47:44 · 1007 阅读 · 0 评论 -
JavaSE第十五讲:方法参数传递详解
1.如果一个java源文件中定义了多个类,那么这些类中最多只能有一个类是public的,换句话说,定义的多个类可以都不是public的。2.在Java中进行方法的参数传递时,无论传递的是原生数据类型还是引用类型,参数传递方式统一是传值(pass by value)。Java中没有传引用(pass by reference)的概念。public class ParamTe原创 2012-11-11 21:49:22 · 1147 阅读 · 0 评论 -
JavaSE第十六讲:方法重载剖析
首先,先写以下程序来复习以下面向对象参数传递的内容。public class ParamTest3{ public void change(Person person, Person person2) { person.name = "lisi"; person2.name = "wangwu"; } public static void main(String[] a原创 2012-11-12 22:09:45 · 1090 阅读 · 0 评论 -
JavaSE第十七讲:继承剖析
public class ConstructorOverload{ public ConstructorOverload() { System.out.println("test"); } public ConstructorOverload(int i) { System.out.println(++i); } public static void main(Stri原创 2012-11-13 21:59:12 · 1100 阅读 · 0 评论 -
JavaSE第十八讲:多态剖析
1.方法重写(Override):又叫做覆写,子类与父类的方法返回类型一样、方法名称一样,参数一样,这样我们说子类与父类的方法构成了重写关系。【举例重写程序如下】public class InheritenceTest2{ public static void main(String[] args) { Dog dog = new Dog(); dog.run();原创 2012-11-14 20:38:07 · 1089 阅读 · 0 评论 -
JavaSE第十九讲:多态详解
写一个程序,输出16在内的随机数,此程序与本讲内容不相关,仅作为随机抽查来用import java.util.Random;public class RandomTest{ public static void main(String[] args) { Random random = new Random(); int result = random.nextInt(1原创 2012-11-15 07:53:28 · 1018 阅读 · 0 评论 -
JavaSE第二十讲:多态详解 续
修改上一节程序:public class PolyTest2{ public static void main(String[] args) { Animal animal = new Cat(); Animal animal2 = new Animal(); animal2 = animal; animal2.sing(); }}class Animal原创 2012-11-15 20:33:09 · 1094 阅读 · 0 评论 -
JavaSE 第二十一讲:多态详解 续2
1.抽象类(abstract class):使用了abstract关键字所修饰的类叫做抽象类。抽象类无法实例化,也就是说,不能new出来一个抽象类的对象(实例)。抽象类的定义格式:public abstract class abstractTest{}public class Test{ public static void main(String[] args原创 2012-11-16 21:06:58 · 1189 阅读 · 0 评论 -
JavaSE 第二十二讲:static于final关键字详解
1.接口(interface):接口的地位等同于Class,接口中的所有方法都是抽象方法。在声明接口中的方法时,可以使用abstract关键字,也可以不使用。通常情况下,都会省略掉abstract关键字。因为已经规定了接口中的所有方法都是抽象方法,所以有写与无写都无所谓。可以看出接口也是起到一种规范约束的作用和抽象类是一样的。public interface InterfaceTest{原创 2012-11-16 23:05:18 · 1240 阅读 · 0 评论 -
JavaSE第二十三讲:static与final使用陷阱
public class StaticTest2{ public static void main(String[] args) { //MyStatic2 test = new MyStatic2(); //test.output(); MyStatic2.output(); }}class MyStatic2{ public static void output()原创 2012-11-17 17:40:39 · 1256 阅读 · 0 评论 -
JavaSE第二十四讲:static与final使用陷阱 续
public class FinalTest4{ final int a;}编译结果:D:\src>javac FinalTest4.javaFinalTest4.java:1: 错误: 可能尚未初始化变量apublic class FinalTest4 ^1 个错误【说明】:如果变量没有用final修饰,则是可以的,因为可以在后面进行赋值,但是用f原创 2012-11-17 23:11:40 · 1492 阅读 · 0 评论 -
JavaSE第二十五讲:单例模式详解
public interface InterfaceTest{ int a;}执行结果:D:\src>javac InterfaceTest.javaInterfaceTest.java:2: 错误: 需要= int a; ^1 个错误【说明】:表示接口当中必须给其赋值。public interface Interfa原创 2012-11-18 00:28:20 · 1243 阅读 · 1 评论 -
JavaSE第二十六讲:包与导入语句剖析
1. 包(package)。用于将完成不同功能的类分门别类,放在不同的目录(包)下。包的命名规则:将公司域名反转作为包名。比如www.shengsiyuan.com,则包名字就可以写成com.shengsiyuan(包名),对于包名:每个字母都需要小写。package com.shengsiyuan;public class PackageTest{ public static v原创 2012-11-19 22:47:14 · 1042 阅读 · 0 评论 -
JavaSE第二十七讲:访问控制符详解
1. 访问修饰符(access modifier) 1)public(公共的):被public所修饰的属性和方法可以被所有类访问。 如一个类:com.test.A ,另外一个类:com.test.hello.B 在类B下面把A的包导入进来就都可以访问了。2)protected(受保护的):被protected所修饰的属性和方法可以在类内部、相同包以及该类的子类所访问(原创 2012-11-19 23:44:51 · 1009 阅读 · 0 评论 -
JavaSE第二十八讲:Object类详解
1. 相等性的比较(==) 1)对于原生数据类型来说,比较的是左右两边的值是否相等。2)对于引用类型来说,比较左右两边的引用是否指向同一个对象,或者说左右两边的引用地址是否相同。2. java.lang.Object类。java.lang包在使用的时候无需显式导入【Java中就这个包不需要显示的导入,因为这个包很常用,sun公司自动帮我们导入了】,编译时由编译器自动帮助我们导入原创 2012-11-20 22:29:58 · 1171 阅读 · 0 评论 -
JavaSE第二十九讲:String类源代码深剖析
1.JDK中的Object类里面的equals()方法: public boolean equals(Object obj) 先了解以下equals()方法,【equals[相等的]】首先要明确几点:1):equals()是定义在Object类中的。2):equals()本身接受一个Object类型的参数。3):equals()的返回类型是boolean型的。原创 2012-11-21 20:50:42 · 1091 阅读 · 0 评论 -
JavaSE第三十讲:String类陷阱深度剖析
解读第二十八讲字符串的那个程序来充分理解字符串知识点:public class ObjectTest2{ public static void main(String[] args){ Object object = new Object(); Object object2 = new Object(); System.out.println(object == object原创 2012-11-22 20:50:51 · 1040 阅读 · 0 评论 -
JavaSE第三十一讲:Java数组剖析
复习前面所讲内容:1):String Pool(字符串池),Java中需要维护字符串池的是因为在实际开发中经常会遇到String,所以不用每次都在heap中去生成一个对象,而且这个对象用完一般都是丢掉的,所以需要维护字符串池,而且一般字符串写法用这种形式:String str = "aaa"。2):StringBuffer类,String不同的是,这个可以追加字符串的内容,而Str原创 2012-11-22 21:44:40 · 1112 阅读 · 0 评论 -
JavaSE第三十二讲:Java数组内存地址解析
1. 数组,Java中的数组与C语言的数组不一样,所以这方面要认真对待。2. 数组(Array):相同类型数据的集合就叫做数组。【注意】:数组里面存放的一定的相同数据类型的,它是相同类型数据的集合。3. 如何定义数组。public class ArrayTest{ public static void main(String[] args){ in原创 2012-11-24 21:10:06 · 2708 阅读 · 0 评论 -
JavaSE第三十三讲:Java数组常见问题深度解析
针对上一讲内容的引用类型数组,这里再做一次剖析,回顾上一个程序: Person[] p = new Person[3]; p[0] = new Person(10); p[1] = new Person(20); p[2] = new Person(30);【说明】:在这一个程序中数组里面存放的只是指向Person对象的引用,也就是存放的只是一个指向各自对象的地址而已,原创 2012-11-25 21:52:48 · 1060 阅读 · 0 评论 -
JavaSE第三十四讲:Arrays类解析及数组疑难剖析
public class Swap{ public static void swap(int a, int b){ int temp = a; a = b; b = temp; } public static void main(String[] args) { int x = 3; int y = 4; Swap.swap(x, y); System.out原创 2012-11-27 21:24:19 · 1137 阅读 · 1 评论 -
JavaSE第三十五讲:冒泡排序、交换排序及快速排序原理与实现
1.写个程序将a数组的前三个元素内容拷贝的b数组中:public class ArrayCopy{ public static void main(String[] args){ int[] a = new int[]{1, 2, 3, 4}; int[] b = new int[4]; }}【说明】:如上程序所示一般实现的方法是比较传统的方法一(如下所示)【方法一】:用原创 2012-11-29 15:02:09 · 1323 阅读 · 0 评论 -
JavaSE第三十六讲:Java数组查找方式及二分查找分析
查找数组中是否存有某一个值。【方法一】:可以拿这个值与数组中的元素一一进行匹配,如果匹配成功,返回这个元素的数组下标。public class ArraySearchTest{ public static int search(int[] array, int value){ for(int i = 0; i < array.length; i++){ if(value原创 2012-11-29 18:21:53 · 2036 阅读 · 0 评论 -
JavaSE第三十七讲:几种常用排序算法比较
本讲内容基于上节排序算法的延伸,结合网上资料整理,只说一个大概,具体会等复习数据结构时一起讨论。1. 冒泡排序这里可以结合上一讲冒泡排序的写法进行改进:如果在比较完一趟之后,发现没有任何两个元素交换位置,则说明此时元素已经有序了,就不要再进行排序,可以再if语句设置一个标识量,如果交换则将这个标志量状态改变。2. 二分查找,二分查找是属于分而治之的算法思想,时间复杂度:O(lo原创 2012-12-03 16:59:45 · 959 阅读 · 0 评论 -
JavaSE第三十八讲:IDE详细介绍
Java中常量的用法,实际开发中如何去使用这些常量呢?一般项目中有一个类来专门维护常量。那常量要如何使用呢?1. 对于Java中的常量的命名规则:所有单词的字母都是大写,如果有多个单词,那么使用下划线连接即可。比如说:public static final int AGE_0F_PERSON = 20;在读过源代码的时候我们经常会遇到一个声明常量时,final和static一起出现原创 2012-11-29 22:12:34 · 1132 阅读 · 0 评论 -
JavaSE第三十九讲:深入详解ArrayList
使用Eclipse中建立好文件后,字节码文件.class是存放在bin目录下的。查看JDK Doc中的List接口:java.utilInterface ListAll Known Implementing Classes:AbstractList,AbstractSequentialList,ArrayList,AttributeList,CopyOnWriteArray原创 2012-12-03 22:33:10 · 1377 阅读 · 0 评论 -
JavaSE 第四十讲:ArrayList源代码深入剖析
Eclipse使用技巧:Eclipse中导入包:Source --> Organize Imports 快捷键[ctrl + shift + O]Eclipse中删除行:快捷键[ctrl + D]Eclipse中注释单行:快捷键[ctrl + /]Eclipse中添加多行注释:在键盘敲 /* + 回车,即可输入注释Eclipse中添加一个重写的方法,比如添加一个重写父类原创 2012-12-10 15:07:26 · 1723 阅读 · 0 评论