搭建Java开发环境
使用开发工具开发Myeclipse
基础核心:JAVASEEEME面向对象 API JVM.
JAVAEE是指java enterprise edition,java企业版,多用于企业级开发,包括web开发等等很多组建
JAVASE是指java standard edition,Java标准版,就是一般Java程序的开发就可以,可以看作是JAVAEE的子集

JVM(java virtual machine)源代码myprogram.Java--(编译器)二进制字节码myprogram.class--(解释器)myprogram
JDK:(JAVA开发工具包)
JRE:(JAVA运行时环境)JDK包括JRE,JRE包括JVM

Java开发环境搭建
第一步:安装JDK
第二部:配置环境变量 java-home 配置JDK安装路径  path(最前面前后路径用;隔开) 配置JDK命令文件bin路径 classpath(.表示当前路径,;表示路径隔开lib路径)配置类库文件lib的位置

使用记事本编写java程序
使用javac命令编译java源代码为二进制字节码文件.class,使用解释interpretor器解释.class文件。
javac编译器命令后要跟扩展名,java命令后不能跟扩展名.class

IDE是一套工具,集成开发环境,包括eclipse myeclipse netbean 等将程序开发环境和程序调试环境集合在一起。
使用eclipse进行程序的开发
1创建java项目,2创建程序包,3编写java缘程序 4运行Java程序
创建一个工程,包括源代码,图片,视频,脚本等东西。创建包是为了方便代码的管理。例如名字相同的可以放在不同的包中。包名一般命名为项目名的域名的反向,例如com.imooc
pubic 修饰符class关键字,helloworld 与源代码文件名字要一致
public static void是必须的都一样,main是程序的入口。
myeclipse是对eclipse的扩展,是一个十分优秀的用于开发java,javaee的eclipse插件集合

java语言对大小写敏感。System.out.println("welcome to imooc");

程序的移植,项目的导入和导出的操作。找到项目properties属性,有location可知道项目的存储位置,复制粘贴就导出了,然后导入是,窗口import--general--existing project--选择项目位置就倒入了进来。

常用的技巧:
1、多练,企业需要动手能力强的,嘴皮子再溜不能写也是扯淡,
2、多问,网站上论坛上去避免走弯路,拒绝钻牛角尖,节省时间,
3、多动手调试错误,会debug,复习和总结。
4、每写完一个小知识点就做一个总结,每周小总结,每月进行大总结,记笔记犯过的错误,博客,巩固学过的知识点,(技术型太强,知识点非常的多,所以需要总结巩固。)
学虽容易,学好不易,且学且珍惜。

java关键字try catch finally throw  throws true char false boolean int short long float double if else switch case break continue default  for private protected public implements extends interface super class static void main null new package byte validate class instanceof  synchronized(同步)import
另外java区分大小写,所以Void 就不是关键字。

标识符:就是用于给JAVA程序中变量、类、方法等命名的符号,其规则:
1.  标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就是不合法滴
 2.  标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以
 3.  标识符是严格区分大小写的。 所以涅,一定要分清楚 imooc 和 IMooc 是两个不同的标识符哦!
 4.  标识符的命名最好能反映出其作用,做到见名知意。
优秀攻城师的习惯:
1、变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 myAge
2、变量命名时,尽量简短且能清楚的表达变量的作用,做到见名知意。如:定义变量名 stuName 保存“学生姓名”信息
PS: Java 变量名的长度没有限制,但 Java 语言是区分大小写的,所以 price 和 Price 是两个完全不同的变量哦!

Java 语言是一种强类型语言。通俗点说就是,在 Java 中存储的数据都是有类型的,而且必须在编译时就确定其类型。整型浮点型布尔型,类,接口,数组。int 4,char 2 boolean 1 float 4 double 8 强制转化时,数值上并未进行四舍五入,而是直接将小数位截断。自动转换时,int可以自动转为double,反之不可,因为double是八位,int是4位。3转为3.0。

常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。语法:final 常量名 = 值;程序中使用常量可以提高代码的可维护性。伙计们注意啦:常量名一般使用大写字符。
我们可以通过 javadoc 命令从文档注释中提取内容,生成程序的 API 帮助文档。javadoc -d doc Demon03.java!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!文档注释!!!!!!!!!!!!!!
一定要注意哦!自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量!例如 5++ 、 8-- 等写法都是错误滴!

PS:% 用来求余数,也称为”取模运算符“
1、  > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型
2、  == 、 != 两边的操作数既可以是数值类型,也可以是引用类型
比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。
String sex = "女";
sex.equals("男");
import java.util.Arrays;
public int sort(int [] scores){
Arrays.sort(scores);
System.out.println(Array.toString(scores));
}

重载如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的,也可称该方法被重载了。
判断方法重载的依据:
1、 必须是在同一个类中
2、 方法名相同
3、 方法参数的个数、顺序或类型不同
4、 与方法的修饰符或返回值没有关系

构造方法
1、使用new+构造方法创建一个新的对象
2、构造方法是定义在java类中的一个用来初始化对象的方法,其作用是用来创建和初始化一个对象,构造方法必须与类同名且没有返回值。
3、格式为,public 构造方法名(参数){内容}
4、当没有指定的构造方法时,系统会自动的调用默认的构造方法,并赋初值
5、当有指定的构造方法,无论是有参,无参的构造方法,都不会自动添加无参的构造方法。比如定义了一个有参构造方法,而调用了无参的构造方法,则行不通。
6、有参和无参构造方法就是方法的重载
7、避免有参构造方法传值不安全的问题。

静态变量static:同一类的多个对象共享同一个成员,static修饰的成员成为静态成员,或类成员,他属于整个类所有,而不是某个对象所有,即被类的所有对象所共享,!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!静态成员可以使用类名直接访问,也可以使用对象名进行访问,鉴于其特殊性推荐使用类名访问。静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收,可被修改哦哦/

静态方法可以直接调用同类中的静态成员,但不能直接调用非静态成员。如果希望在静态方法中调用非静态变量,可以通过创建类的对象。然后通过对象访问非静态变量。静态方法可以直接被类调用,非静态方法可以直接被对象调用。
public static void print(){
HelloWorld hello = new HelloWorld();
System.out.println("欢迎你"+hello.name+"|");
System.out.println("爱好"+hobby+“、”);
}
普通成员方法中,则可以直接访问同类的非静态变量和静态变量。静态方法中不能调用非静态方法,需要通过对象来访问非静态成员。
通过输出结果,我们可以看到,程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块.

面向对象三大特性,封装,继承,多态。
封装属性,setter\getter方法,对象调用setter\getter方法来赋值。

包的概念,,更好的管理java类,解决同名文件冲突(区分同名的两个类)
包的定义,package 包名,必须放在java源程序的第一行,包名间可以使用“.”号隔开,eg:com.imooc.MyClass,区分层次
系统中的包:
java.(功能).(类)
java.lang(类)包含java语言基础的类String Integer Double /Math.......
util包含java语言中各种工具类Scander,Date,Calendar
io包含输入输出相关功能的类 每多一个点功能更加的详细。
import com.java.util.MyClass.
包的规范是全小写字母拼写。可以加载某个包下的所有文件,也可以加载某个具体包下的所有文件。

答:什么是内部类呢内部类的主要作用如下:
1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类
2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据
3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便

静态内部类是 static 修饰的内部类,这种内部类的特点是:
1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问
2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();

方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符。

继承,extends,继承子类方法的重写。
继承的初始化顺序:初始化父类再初始化子类,先执行初始化对象中的属性,再执行构造方法中的初始化。

final修饰的类不可以被继承,final 修饰的方法不可以被重写,final修饰的已经赋初值的属性不可以被更改包括在构造方法中。而没有被赋值的final属性可以在构造方法中被赋值。如果final修饰后的属性没有赋初值,那么系统会报错。
在方法中的局部变量被final修饰后也不可以被更改,也就称之为常量。

java中的super关键字:在对象的内部使用,可以代表父类对象,访问父类对象的属性就super.age,访问父类的方法,super.eat()。在子类的构造方法中隐式调用了父类的构造方法。
如果子类构造方法中没有显示调用父类构造方法,则隐式super()调用。
如果显示调用父类的构造方法,则放在子类构造方法的第一行。
如果在父类定义有参数的构造方法,在子类中第一行必须有super()方法,因为没有super会隐式调用默认构造方法,所以。。。。。

Object类
1、toString()方法,返回对象是哈希code码,(对象地址字符串)可以通过重写toString方法来显示对象的属性。
2、equals方法,比较的是对象的引用是否占用同一块内存地址。一般比较的是值是否相等,所以要重新equals方法。
Dog dog = new Dog(),是new 一个Dog类的构造方法创建一个对象,将对象付给dog,其实dog不是我们创建的对象,他是我们对象的地址,也就叫做对象的引用。==也是比较的引用的值是否相同。

多态:
1、引用多态
父类的引用可以指向本类的对象
父类的引用还可以指向子类的对象
子类的引用不可以指向父类的对象
2、方法多态
创建本类对象时,调用的方法为本类方法
创建子类对象时,如果有重写调用方法是子类的对象,如果没有重写就调用父类。
不可以用父类的引用调用子类独有的方法。

引用类型转换:
向上无风险,向下的有风险,如何规避风险,那么就用instanceof修饰符避免类型转换的安全性问题。判断是其子类型。

抽象类
abstract修饰,public abstract class ,public abstract void 方法。
抽象方法只声明,不写内容。
含有抽象方法的类叫抽象类,继承抽象类的子类可以定义其他方法。

接口 可以实现多个接口。
一般命名首字母大写
修饰符必须是public,产量和方法都是抽象方法。
继承了抽象类,必须实现抽象类的抽象方法,调用了接口,必须实现接口的抽象方法。
继承父类要在调用接口之前。

异常,thread (erro.exception(runtimeexception))

String 对象创建后则不能被修改,所谓的修改其实就是创建了新的对象,所指向的内存空间不同,
一旦一个字符串在内存中创建,则这个字符串将不可改变。如果需要一个可以改变的字符串,我们可以是用StringBuffer或者StringBuilder。每次new一个字符串就是产生一个新的对象,即便两个字符串的内容相同,使用“==”比较只是比较他们的引用或者引用的地址。比较内容要用equals

使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符

使用 indexOf 进行字符或字符串查找时,如果匹配返回位置索引;如果没有匹配结果,返回 -1

字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-1
toLowerCase()//将字符串转换为小写
charAt()//获取索引位置为1的字符
getBytes()//将字符串转换为byte[].
 
基本类型和包装类之间的转换,double b =87.6  Double a = new Double(b); Double a = b;
自动装箱,手动装箱,自动拆箱,手动拆箱。double c = a.doubleValue();  double d = a;

基本类型和字符串之间的转换:Double.toString(a);Sg.valueof(a);Double.parseDouble(str);Double.valueof(str);

java集合框架:collection (list(arraylist) queue(linkedlist) set(hashset))map(hashmap)

Class类,万事万物皆对象,静态的类和成员是对象,普通的数据类型是不是对象

127.0.0.1本地回环地址 MySQL -uroot -p -P -h127.0.0.1

我:
String Buffer append 和String+之间的区别:
我:
StringBuffer的append方法的在内存中是放在一起的,+并不放在一起

数据库的自定义函数声明,存储过程的声明,存储引擎的认识
还有各种链接,内连接,左外链接,右外链接,还有各种子查询。

Map 泛型
Oracle 邮箱为qq邮箱,密码为SHAOke12345

控制层的Action 的操作,就是要把Dao中的各个方法封装成一个Action类
然后再主方法中进行调用这个Action类,来调用各个函数,比较的方便。

java学习笔记(菜鸟原创)的更多相关文章

  1. c#转 java学习笔记(原创)

    JDK开发人员用,JRE运行时环境(比如给客户安装,客户电脑需要装JRE) 当我们调用构造方法的时候系统会执行如下操作:1.给对象的属性分配空间,并且初始值 0 or null 2.给属性赋缺省值  ...

  2. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁

    什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...

  3. 0035 Java学习笔记-注解

    什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...

  4. Java学习笔记(04)

    Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...

  5. 0032 Java学习笔记-类加载机制-初步

    JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...

  6. 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用

    垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...

  7. 0028 Java学习笔记-面向对象-Lambda表达式

    匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...

  8. 0025 Java学习笔记-面向对象-final修饰符、不可变类

    final关键字可以用于何处 修饰类:该类不可被继承 修饰变量:该变量一经初始化就不能被重新赋值,即使该值跟初始化的值相同或者指向同一个对象,也不可以 类变量: 实例变量: 形参: 注意可以修饰形参 ...

  9. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  10. Java学习笔记-多线程-创建线程的方式

    创建线程 创建线程的方式: 继承java.lang.Thread 实现java.lang.Runnable接口 所有的线程对象都是Thead及其子类的实例 每个线程完成一定的任务,其实就是一段顺序执行 ...

随机推荐

  1. ${param.xxx}获取url中的参数

    在项目中看到了一个很奇怪的EL表达式...${param.catid}...一直找不到param在哪里定义的...(主要是水平太屎...) 然后从网上查了一下才知道是啥... EL表达式${param ...

  2. PHP表单header post get

    header 是服务器以HTTP协议到浏览器前所送出的字符串 在表头与HTML文件之间需要空出一行 $_POST   $_GET 必须要有method="post" 上传文件类表单 ...

  3. 菜鸟学自动化测试(一)---- selenium IDE

    http://www.cnblogs.com/fnng/archive/2011/10/23/2222157.html

  4. examine self thrice a day2017

    1.6.2017 葰γí千萬丆γáò絠ィ壬菏鰯嚸,銣惈絠,倁噵ㄖㄅ者β淂簳掉.千澫丕楆被莂亽抓ィ主鰯點,以佌襲撃.那個記駐,吢軟劊嗐死尓垍己ㄖㄅ.絠仒槇可笑,鯟覀者βる誐手裏魢泾吺有談半リ的籌碼,還茬 ...

  5. 【安全测试】sqlmap安装方法

    参考资料:http://jingyan.baidu.com/article/60ccbceb64cc2064cbb19748.html SQLMap是利用Python语言写的,所以需要将Python这 ...

  6. 通过form表单获取值

    <!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...

  7. ws_ webpack+reactjs+redux+nodejs认识

    /** * Created by yangpu on 2016/9/18. */ //环境安装方法1.npm install //加载依赖模块2.npm run build //打包没有压缩,开发环境 ...

  8. AFNetworking到底做了什么

    写在开头: 作为一个iOS开发,也许你不知道NSUrlRequest.不知道NSUrlConnection.也不知道NSURLSession...(说不下去了...怎么会什么都不知道...)但是你一定 ...

  9. IdentityServer4 简单使用,包括api访问控制,openid的授权登录,js访问

    写在前面 先分享一首数摇:http://music.163.com/m/song?id=36089751&userid=52749763 其次是:对于identityServer理解并不是特别 ...

  10. JS 面向对象、prototype原型的克隆

    JS中的phototype是JS中比较难理解的一个部分 本文基于下面几个知识点: 1 原型法设计模式 在.Net中可以使用clone()来实现原型法 原型法的主要思想是,现在有1个类A,我想要创建一个 ...