A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 18660975056 中级黑马   /  2015-6-18 18:09  /  1372 人查看  /  22 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Java基础知识总结(超级经典)
写代码:
1,明确需求。我要做什么?
2,分析思路。我要怎么做?1,2,3。
3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。
4,代码实现。用具体的java语言代码把思路体现出来。

学习新技术的四点:
1,该技术是什么?
2,该技术有什么特点(使用注意):
3,该技术怎么使用。demo
4,该技术什么时候用?test。
-----------------------------------------------------------------------------------------------
一:java概述:
1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;
1994年将Oak语言更名为Java;

Java的三种技术架构:
JAVAEE:Java Platform Enterprise Edition,企业版,为开发企业环境下的应用程序,主要针对web程序开发;
JAVAME:Java Platform Micro Edition,小型版,为开发电子消费产品或嵌入式设备提供了解决方案(现在用的是安卓Android);
JAVASE:Java Platform Standard Edition,标准版,为普通的桌面应用程序的开发或商务应用程序提供解决方案(超市的收银),是其它两者的基础;
Java 5.0之前分别为:J2SE、J2ME、J2EE。


1,JDK:Java Development Kit,java的开发工具包,包括JRE和Java开发工具。
2,JRE:Java Runtime Environment,java运行环境,java运行的所需的核心类库和JVM(java虚拟机)。
3,Java语言特点,开源性,跨平台。跨平台原理是需要运行java程序的操作系统上,先安装一个java虚拟机,由jvm来实现java程序的运行。Jvm是不具备跨平台的。
4,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。
环境变量的配置:
    1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdk
                          path=%JAVA_HOME%\bin
        2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin
特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。
classpath的配置:
    1):永久配置方式:classpath=.;c:\;e:\
        2):临时配置方式:set classpath=.;c:\;e:\

注意:在定义classpath环境变量时,需要注意的情况
如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件;
如果指定了classpath,那么会在指定的目录下查找要运行的类文件。
还会在当前目录找吗?两种情况:
        1):如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。
        2):如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找。
        一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。

4,javac命令和java命令做什么事情呢?
        要知道java是分两部分的:一个是编译,一个是运行。
        javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。 生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。
        java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.
        一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数.
----------------------------------------------------------------------------------------------
二:java语法基础:

1,关键字:其实就是某种语言赋予了特殊含义的单词。
        保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。例如:goto,const。
2,标示符:其实就是在程序中自定义的名词。比如类名,变量名,函数名。包含 0-9、a-z、$、_ ;
        注意:
        1),数字不可以开头。
        2),不可以使用关键字。
3,常量:是在程序中的不会变化的数据。
4,变量:其实就是内存中的一个存储空间,用于存储常量数据。
        作用:方便于运算。因为有些数据不确定。所以确定该数据的名词和存储空间。
        特点:变量空间可以重复使用。
什么时候定义变量?只要是数据不确定的时候,就定义变量。

变量空间的开辟需要什么要素呢?
        1,这个空间要存储什么数据?数据类型。
        2,这个空间叫什么名字啊?变量名称。
        3,这个空间的第一次的数据是什么? 变量的初始化值。

变量的作用域和生存期:
变量的作用域:
    作用域从变量定义的位置开始,到该变量所在的那对大括号结束;
生命周期:
    变量从定义的位置开始就在内存中活了;
    变量到达它所在的作用域的时候就在内存中消失了;

数据类型:
        1),基本数据类型:byte、short、int、long、float、double、char、boolean
        2),引用数据类型: 数组、类、接口。
级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double
自动类型转换:从低级别到高级别,系统自动转的;
强制类型转换:什么情况下使用?把一个高级别的数赋给一个别该数的级别低的变量;

运算符号:
        1)、算术运算符。
                + - * / %   %:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。
                +:连接符。
                ++,--
        2)、赋值运算符。
                =  += -= *= /= %=
        3)、比较运算符。
                特点:该运算符的特点是:运算完的结果,要么是true,要么是false。
        4)、逻辑运算符。
                &  |  ^  !   &&   ||
                逻辑运算符除了 !  外都是用于连接两个boolean类型表达式。
                &: 只有两边都为true结果是true。否则就是false。
                |:只要两边都为false结果是false,否则就是true
                ^:异或:和或有点不一样。
                         两边结果一样,就为false。
                         两边结果不一样,就为true.
                & 和 &&区别: & :无论左边结果是什么,右边都参与运算。
                                          &&:短路与,如果左边为false,那么右边不参数与运算。
                | 和|| 区别:|:两边都运算。
                                        ||:短路或,如果左边为true,那么右边不参与运算。
        5)、位运算符:用于操作二进制位的运算符。
                &  |  ^
                <<  >>   >>>(无符号右移)
        练习:对两个变量的数据进行互换。不需要第三方变量。
                        int a  = 3,b = 5;-->b = 3,a = 5;
                        a = a + b; //a = 8;
                        b = a - b; //b = 3;
                        a = a - b; //a = 5;
                        a = a ^ b;//
                        b = a ^ b;//b = a ^ b ^ b = a
                        a = a ^ b;//a = a ^ b ^ a = b;
                练习:高效的算出 2*8 = 2<<3;
5,语句。
        If  switch  do while   while  for
        这些语句什么时候用?
        1)、当判断固定个数的值的时候,可以使用if,也可以使用switch。
        但是建议使用switch,效率相对较高。






22 个回复

倒序浏览
总结的很详细,谢谢.
回复 使用道具 举报
mark,第一段的写代码思路总结得非常好,学习了。
回复 使用道具 举报
值得借鉴 ,学习
回复 使用道具 举报
我去!给力   就是  只总结了一点   期待更多哟!!
回复 使用道具 举报
第一段写的非常好,学习新技术的方法,受教了。
回复 使用道具 举报
总结的很好,学习了!!
回复 使用道具 举报
DAN66 中级黑马 2015-6-18 22:40:01
8#
总结很好啊,尤其是思路那,感谢楼主
回复 使用道具 举报
多总结些就好了
回复 使用道具 举报
总结的不错
回复 使用道具 举报
keto 中级黑马 2015-6-18 22:45:11
11#
x谢谢分享。。。。。。。。。
回复 使用道具 举报
总结的真是好,学习了
回复 使用道具 举报
加油,努力,认真
回复 使用道具 举报
yywishp 来自手机 中级黑马 2015-6-18 22:58:55
14#
很好的总结
回复 使用道具 举报
我来顶贴了
回复 使用道具 举报
印象笔记
回复 使用道具 举报
汪磊の 来自手机 中级黑马 2015-6-18 23:38:45
17#
这是入学流程里要写的blog吗?
回复 使用道具 举报
sanmy_lin 来自手机 中级黑马 2015-6-19 00:14:37
18#
看看……
回复 使用道具 举报
总结的非常好,希望楼主持续更新!
回复 使用道具 举报
很好啊。。。。。。。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马