
Java学习笔记
竹和蕉的缘分
软件工程
展开
-
day05--Java面向对象复习--Java常用类
String类 说明:字符串引用类,字符串是常量,它们的值在创建之后不能更改,一般存放在常量池中。eg1: String s=”Hello”; // 首先在常量池中查找Hello对象,如果不存在则创建,如果存在则返回给seg2: 对于eg1,是否可以改变s的值? 可以的,不能改变是Hello在常量池中的内容eg3: String s1=”H”; String s2=”H”; s1=原创 2015-07-20 21:02:55 · 278 阅读 · 0 评论 -
day03--面向对象--类的继承
package day03;/* * 类的继承: 关键字 extends * * 特点:通过继承,可以将父类的成员继承过来,使得两个存在父子关系 */class Person2 {// 父类 private String name; public void setName(String name) { this.name = name; }原创 2015-07-17 17:51:36 · 262 阅读 · 0 评论 -
day3---面向对象
package day03;/* * static 修饰的成员 * * 1.静态成员变量 * 特点: * 1.随着类的加载,会在方法区的静态区中开辟内存空间,初始化数据 * 2.可以通过类名直接访问,格式:类名.静态成员变量 * 3.一般用于存储所有类的共享数据 * 2.静态成员方法 * 特点: * 1.静态方法中只能访问静态成员(不能使用this引用) *原创 2015-07-17 14:38:27 · 256 阅读 · 0 评论 -
重点:Java内存分析
Java程序运行在JVM(Java Virtual Machine,Java 虚拟机)上,可以把JVM理解成Java程序和操作系统之间的桥梁,JVM实现了Java的平台无关性,由此可见JVM的重要性。所以在学习Java内存分配原理的时候一定要牢记这一切都是在JVM中进行的,JVM是内存分配原理的基础与前提。简单通俗的讲,一个完整的Java程序运行过程会涉及以下内存区域:1.寄存器 JVM内部虚拟寄转载 2015-07-18 09:03:49 · 244 阅读 · 0 评论 -
day03--面向对象--设计模式之单例模式
package day03;/* * 静态代码块:static { },主要作用:初始化静态成员变量 * * 静态代码块:随着类的加载而执行的,只执行一次 * * 构造代码块:{ },优先于构造方法执行,主要是来初始化成员变量 * * 构造代码块:随着对象的创建而执行,每次创建对象而执行 * * static修饰符什么时候使用? * 1.在多个类之间共享成员变量时,需要原创 2015-07-17 16:17:25 · 290 阅读 · 0 评论 -
day02--函数、数组、算法
循环中两个特殊的关键字 continue关键字:结束某一次循环 break关键字:结束循环或分支 思考案例:编写程度,最多接收10个数,求这些数的和,输入999中断接收数据/* 要求: 接收用户输入的10个数字,求和,如果输入了999,则中断*/import java.util.Scanner;class Demo2{ public static void main(String[原创 2015-07-16 15:01:20 · 253 阅读 · 0 评论 -
day02--Java中数组工具类:Arrays
类全名:java.util.Arrays 核心方法: public static void sort(int[] a);排序方法 public static String toString(int [] a);将数组转成字符串方法 public static int binarySearch(int[] a,int key); 二分检索方法,返回搜索键的索引 使用二分搜索法,需要先对数组原创 2015-07-16 20:42:13 · 403 阅读 · 0 评论 -
day02--常用算法--查找
1.顺序查找 说明:从第一个位置开始依次比较查找package homework;public class a05 { static int find(int nums[], int a) { for (int i = 0; i < nums.length; i++) { if (nums[i] == a)原创 2015-07-16 17:31:39 · 231 阅读 · 0 评论 -
day03--面向对象--Demo
package day03;/* * 类的定义格式: * clsss 类名{ * 声明成员变量; * 声明成员方法; * } * * 类的命名规范: * 1.第一个字母要大写 * 2.见名知意,名字有一定的意义,Student,Person,Car * 3.具有一定功能性的描述,如OrderService,StudentMana原创 2015-07-17 11:30:23 · 326 阅读 · 0 评论 -
day1--Java基础语法--Java语言基础--思考案例
1.以最有效的方式计算2乘以8的结果package anli;public class a01 { public static void main(String[] args) { System.out.println(2<<3); }}左移(shl) 和 右移(shr) 运算符是向一个方向按位移动,空出来的用 0填齐。对于整数来说,左移n位,就相当于乘以 2的 n次原创 2015-07-16 13:07:13 · 273 阅读 · 0 评论 -
day02--常用算法--查找
1.顺序查找 说明:从第一个位置开始依次比较查找package homework;public class a05 { static int find(int nums[], int a) { for (int i = 0; i < nums.length; i++) { if (nums[i] == a) retur原创 2015-07-16 17:33:59 · 246 阅读 · 0 评论 -
day01--Java基础语法-Java分支语句
if/else语句 单行格式: if(条件) 执行语句; else 执行语句 多行格式: if(条件) { 条件为true时的执行语句; } else { 条件为false时的执行语句; }; 多个else格式: if(条件) { 语句; } else if(条件) { 语句 }原创 2015-07-16 13:36:26 · 324 阅读 · 0 评论 -
day03--面向对象--interface接口
package day04;/* * interface:接口 * * 定义格式: interface 接口名{ 全局常量;抽象方法;} * * 特点: * 1.接口可以实现多继承 * 2.接口主要用于被实现,接口中的所有方法,在子类中必须全部实现, * 在定义接口实现类时,使用implements关键字,而且可以多实现 */interface IPC原创 2015-07-18 11:43:18 · 329 阅读 · 0 评论 -
day03--面向对象---final关键字
package day04;/* * final:最终的,修饰类、成员方法、成员变量、局部变量 * * 注意: * 1.final修饰的类,不能被继承 * 2.final修饰的方法,不能被重写 * 3.final修饰的成员变量,不能被修改 */final class Test1 {// 这是一个最终的类}/* * class C_Test extends Test原创 2015-07-18 09:31:05 · 303 阅读 · 0 评论 -
day04--面向对象--多态
package day04;/* * 对象的多态性:多种形态,父类类型的引用指向子类对象 * * 前提:存在继承或实现关系 * * class 动物{ * public void eat(){} * } * * class 猫 extends 动物 { * } * * 常态:猫看成是猫 猫 c=new 猫(); * 多态:猫是动物 动物原创 2015-07-18 16:12:56 · 281 阅读 · 0 评论 -
day05--Java面向对象复习--Exception异常
概念: 1.异常是程序在运行期发生的不正常的事件,它会打断指令的正常执行流程。 2.设计良好的程序应该在异常发生时提供处理这些不正常事件的方法,使程序不会因为异常的发生而阻断或产生不可预见的结果 3.Java语言使用异常处理机制为程序提供了异常处理的能力异常类的由来: java把运行时出现的各种不正常情况,也看成对象,提取属性和行为进行描述(异常信息、异常名称、异常发生位置),形成了异常类。原创 2015-07-20 20:07:42 · 306 阅读 · 0 评论 -
day05--Java面向对象复习
Java包: 说明:为了便于管理大型软件系统中数目众多的类,解决类命名冲突的问题,Java引入了包在使用许多类时,类和方法的名称很难决定。有时需要使用与其他类相同的名称。包基本上隐藏了类并避免了,名称上的冲突。 关键字:package、import 声明包: 格式: package 包名: 说明: 1.package语句必须是源码中第一条语句 2.包名中用“.”来指明包(目录)的层次原创 2015-07-20 19:28:11 · 319 阅读 · 0 评论 -
day05--面向对象--String类
package gp;import java.io.UnsupportedEncodingException;/** * 常用类之String类 * * @author Administrator * */public class Demo11 { public static void main(String[] args) { // TODO 入口原创 2015-07-20 17:31:07 · 263 阅读 · 0 评论 -
day05--Java基础知识--Exception异常
package day05;/* * 异常:在程序运行时发生了不正常的情况,此时由系统中断程序的运行 * * 异常类的由来:当程序发生不正常情况时,Java中提供一个类描述这个不正常情况的信息, * 包含异常信息、异常类名、异常的位置 * *异常分类: * Error 错误: 由系统原因造成,一般是系统资源分配冲突时或系统崩溃等原因 * 这原创 2015-07-20 12:07:55 · 324 阅读 · 0 评论 -
day05--异常
package day05;/* * 处理异常的格式3: * try{ * }catch(...){ * * }finally{ * //肯定执行的语句,一般是释放资源的语句, * //注:如果try语句中包含return语句,finally语句在return之前执行 * } */public class Demo7 { static clas原创 2015-07-20 14:28:29 · 286 阅读 · 0 评论 -
day05--面向对象--各种类
StringBuffer类 说明:字符串的容器,里面的内容可以改变,线程不安全 构造方法 StringBuffer() StringBuffer(String s)核心方法 增加 StringBuffer append(…) 增加内容,此方法是重载方法 StringBuffer insert(int offset,…) 在指定的位置上插入内容,重置方法 删除 StringBuffe原创 2015-07-20 21:12:27 · 306 阅读 · 0 评论 -
java包的概念
编译Java程序时的包路径问题关于有包路径的类如何使用: 静态导入 说明:jdk1.5之后引入的,可以导入某个类中的指定静态属性或静态方法。 格式:import static 包名.类名.静态成员package day05;/* * 静态导入: import static 包名.类名.公共静态成员 */import static java.lang.Math.random;//静态导入原创 2015-07-20 09:41:53 · 400 阅读 · 0 评论 -
面向对象总结
接口Teaching(包含方法: 备课prepareLessons,上课teach,批改作业homeworkCorrecting,…) 接口Sports (包含方法: 跑步running, 打球playBall,…) 接口Drinking(包含方法: drink, throwup,playMad,…) 抽象类Person(包含抽象方法:getMoney,…) 子类(实现类)Student,T原创 2015-07-18 21:16:00 · 678 阅读 · 0 评论 -
day3--面向对象--interface
package day04;class Animal2{ private String name; private int age; public Animal2(String name, int age) { this.name = name; this.age = age; } public void say() {原创 2015-07-18 11:44:13 · 257 阅读 · 0 评论 -
day03--面向对象--abstract关键字
package day04;/* * abstract:抽象的,包含抽象方法的类叫抽象类 * * 特点:抽象类也是一个类,只不过没有足够的信息来描述某一事物行为的方法 */abstract class Animal { public abstract void bellow();}class Dog extends Animal {// 抽象类也是一个类,可以被继承,并且必须实现原创 2015-07-18 11:18:40 · 307 阅读 · 0 评论 -
day04--面向对象--内部类
package day04;/* * 内部类:定义在类的内部,内部类所在的类称之为外部类 * class 外部类的名{ * class 内部类的名{ * } * } */class Outer { int num = 10;// 外部类的成员变量 //内部类作为外部类的成员,如果要访问内部类,需要通过类的对象访问 class Inner {原创 2015-07-18 21:15:10 · 298 阅读 · 0 评论 -
day02--课后练习
编程题 1:计算付款金额: 一杯5元, 每两杯的第二杯半价(杯数由用户从键盘录入 ) 如: 5杯 = (5+2.5)*2 + 5 = 20 package homework;import java.util.Scanner;public class homework01 { public static void main(String[] args) { System.原创 2015-07-16 21:27:45 · 423 阅读 · 0 评论 -
day02-常用算法-排序
冒泡排序 思路: 相邻的两个数进行比较,会进行n-1轮比较,每一轮会比较N-1次之后,将数组中最大的数排在最后 注意:每一次比较之后会交换变量值package homework;public class a02 { public static void main(String[] args) { int[] nums = new int[] { 0, 13, 94, 13原创 2015-07-16 16:49:07 · 273 阅读 · 0 评论 -
day1-Java基础语法--Java循环语句
while语句 格式: while(条件表达式) { 需要重复执行的功能代码–循环体; } 工作原理:先判断条件是否为真(true),为真则执行循环体一次,然后再重新判断条件,若为true,再执行一次循环体,如此反复,直到条件为假时结束循环。do–while语句 格式: do { 需要重复执行的功能代码-循环体; }while(条件表达式) 工作原理:原创 2015-07-16 14:11:03 · 439 阅读 · 0 评论 -
6.5.2抽象类的作用
抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会大致保留抽象类的行为方式。package chap6_5;public abstract class SpeedMeter { private double turnRate; public SpeedMeter() { // TODO Auto-generated constructor原创 2015-04-06 21:42:03 · 358 阅读 · 0 评论 -
6.4.5 final方法
如果不希望子类重写父类的某个方法,则可以使用final修饰该方法。 Java提供的Object类里就有一个final方法:getclass()package chap6_4;import org.omg.CORBA.PUBLIC_MEMBER;public class FinalMethodTest { public final void test() { }}class原创 2015-04-06 20:09:47 · 242 阅读 · 0 评论 -
6.3.2 单例类
为了避免其他类自由创建该类的实例,应该把该类的构造器使用private修饰,从而把该类的所有构造器隐藏起来。且该方法必须使用static修饰。package chap6_3;class Singleton{ private static Singleton instance; private Singleton(){ } public static Singlet原创 2015-04-06 19:23:50 · 282 阅读 · 0 评论 -
6.2.2 ==和equals方法
package chap6_2;public class EqualTest { public static void main(String[] args) { int it=65; float f1=65.0f; System.out.println("65和65.0f是否相等?"+(it==f1)); char c原创 2015-04-06 19:09:53 · 261 阅读 · 0 评论 -
6.6.1 接口的概念
接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关系这些类里方法的实现细节,它只规定这批类里必须提供某些方法,提供这些方法的类就可满足实际需要。 接口是从多个相似类中抽象出来的规范,接口不提供任何实现,接口体现的是规范和实现分离的设计哲学。原创 2015-04-06 21:55:58 · 276 阅读 · 0 评论 -
6.4.3 final修饰基本类型变量和引用类型变量的区别
package chap6_4;import java.util.Arrays;class Person { private int age; public Person() { // TODO Auto-generated constructor stub } public Person(int age) { // TODO Aut原创 2015-04-06 19:46:40 · 391 阅读 · 0 评论 -
6.4.2 final局部变量
局部变量必须由程序员显式初始化package chap6_4;public class FinalLocalVariableTest { public void test(final int a) { //不能对final修饰的形参赋值,下面语句非法 // a=5; } public static void main(String[] args原创 2015-04-06 19:41:00 · 284 阅读 · 0 评论 -
5.2.3 形参个数可变的方法
在定义方法时,在最后一个形参的类型后可增加三点(…),则表明该形参可以接受多个参数值。public class Varargs { public static void test(int a,String... books) { for(String tmp:books) { System.out.println(tmp);原创 2015-04-05 22:39:12 · 423 阅读 · 0 评论 -
5.2.4 递归方法
当一个方法不断地调用它本身时,必须在某个时刻方法的返回值是确定的,即不再调用它本身,否则这种递归就变成了无穷递归,类似于死循环。public class Recursive { public static int fn(int n) { if(n==0) { return 1; } else if原创 2015-04-05 22:44:45 · 293 阅读 · 0 评论 -
5.3.1成员变量和局部变量
成员变量被分为类变量和实例变量两种。 由于实例并不拥有类变量,因此它访问的并不是这个实例的变量,依然访问的是它所对应的类变量。也就是说,如果通过一个实例修改了类变量的值,由于这个类变量并不属于它,而是属于它所对应的类。因此,修改的依然是类的类变量,与通过该类来修改类变量的结果完全相同。package chap5_3;class Person{ public String name;原创 2015-04-05 23:16:26 · 359 阅读 · 0 评论 -
5.2.2 方法的参数传递机制
面向对象原创 2015-04-05 22:26:46 · 417 阅读 · 0 评论