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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

很久以前,看过郝斌的C语言和Java视频,把他上课的知识点一一作了记录。现在正好可以拿出来复习下。从今天开始我正式学习java,从最基本的语法学起。
这里只记载java和C#不同的语法特征,相同的就不记忆了
-------------------------------------------

Java4Android是Mars老师(这是专门为Android准备的Java课程,针对0基础)


java发展史
        1995年正式发布了java,并发布了jdk1.0
        1996年,sun公司成立了javasoft组织,各大公司纷纷向sun申请java许可证
        1998,sun公司正式将java命名为java2(java2是java发展史上的第一次飞跃)
                J2SE(基础班)  J2ME(移动版,专门为移动设备设计的语言) J2EE(企业版,功能最大)
java的成功
        Java一开始就为网络而生,所以能在互联网发展的今天如鱼得水,在未来的数十年中,会得到长足的发展

什么是编程
        学会编程可以让你和计算机随意沟通
       
        编程是一种创造性的工作

        学会编程会让你与上帝同在
                很多人使用的功能是你写的代码,

JDK的一些常识摘录
        JDK的版本:从JDK1.5开始改名为JDK5.0,以后的版本依次类推(这是为了体现JDK1.5的改进之大)
                (这个命名规范可能是sun公司的一个习惯,就像Solaris从1.1 1.2 1.3 1.4突然变到8.0)

        JDK包括哪些工具
                JDK包含的基本组件包括:
                javac – 编译器,将源程序转成字节码
                jar – 打包工具,将相关的类文件打包成一个文件
                javadoc – 文档生成器,从源码注释中提取文档
                jdb – debugger,查错工具
                java – 运行编译后的java程序(.class后缀的)
                appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
                Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
                Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
                Jconsole: Java进行系统调试和监控的工具

        Java中常用的包
                java.lang: 这个是系统的基础类,比如String等都是这里面的,这个包是唯一一个可以不用引入(import)就可以使用的包。
                java.io: 这里面是所有输入输出有关的类,比如文件操作等。
                java.nio:为了完善io包中的功能,提高io包中性能而写的一个新包 ,例如NIO非堵塞应用
                java.net: 这里面是与网络有关的类,比如URL,URLConnection等。
                java.util: 这个是系统辅助类,特别是集合类Collection,List,Map等。
                java.sql: 这个是数据库操作的类,Connection, Statement,ResultSet等。
                javax.servlet:这个是JSP,Servlet等使用到的类。


什么是编译:       
        源代码是人类理解的代码

        计算机无法理解源代码

        编译就是讲源代码翻译成计算机可以识别的代码

Java的基本概念
        什么是环境变量
                环境变量就是系统外部命令搜索路径
                path 设置为jdk的bin目录(jdk是一个绿色的文件,安装就是为了些注册表 为了自动更新)
                classpath(设置为. 意思是只在当前目录下搜索类文件)



JDK里有什么:
        bin存放java运行工具的java javac jar javadoc和一些其他功能,上面都列出来了
        include存放的是一些C语言的程序,因为java代码有一部分是C语言写的,所以编译的时候要用到C语言程序
        demo、Sample:存放的是一些演示程序
        其他的注册文件 版权文件 和 帮助文档


Jre是什么
        Jre是java运行环境,包括:Java虚拟机、Java平台核心类文件、其他支持文件




匿名类

匿名对象
        (new Dog()).SayHi();匿名对象的创建和使用


this的作用:
1.代表本类的成员属性和方法

2.调用本类的构造函数
        注意:this代表本类的构造函数,必须位于函数中的第一行代码
                public class Person{
                        void Person(){
                               
                        }

                        void Person(){
                               
                        }

                        void Person(String name, int age){
                                this();
                                this(1,"2"); //注意:这种方法是错误的,第一,构造函数没必要同时调用两个 这是没有意义的。第二,this代表构造函数的时候必须为第一条语句,所以两个代表构造函数的this不能放在同一个

                        }
                }

        这里的this和C#的:this()是一样的。

Java中的static的用法
        1.static修饰成员变量
       
        2.static修饰成员方法

        3.static修饰代码块
        //注意Java中静态的成员也可以使用对象名来访问,不像C#里,只能通过类名访问。Java中的static成员通过成员修改访问和用类名访问的效果是一样的,静态变量的存储机制依然不变



--------------------------------------------

对于专业词语的解释
jdk:
jvm:

javaSE:
javaEE:
javaME:
jsp:
javaWeb:

安装jdk:安装的路径不能有汉字否则会产生莫名其妙的错误

编译java源文件.java - javac(java compile)
        javac程序编译后的文件为字节码文件
运行java可执行文件.class - java、javaw



环境变量的配置
        配置完环境变量之后,输入的命名以在所有环境变量目录中最先找到的为准

变量命名规则 运算符 格式化输出 流程控制
        标识符:以字母、下划线,美元$开头
                后面可以跟字母、下划线,美元$和数字
                不能以关键字和保留字作为标识符
       
        关键字:所有java关键字都为小写英文
                abstract assert boolean break byte case catch char
                class const continue        default        do        double        else
                enum        extends        final        finally        float
                for        goto        if        implements        import
                instanceof        int        interface long native
                new        package        private        protected public
                return        strictfp        short        static super
                switch        synchronized        this        throw throws
                transient        try        void        volatile while
                共49个关键字

       
        Java的数据类型
                值类型
                        数值:byte short int long
                                每种数值类型所占的字节
                                        int 4, byte 1,short 2,long 8
                                        long最大支持:9223372036854775807L(19位)
                        字符:char
                                char数据类型所占的字节
                                        char 2(和C#一样是Unicode字符)
                        布尔:bool
                                bool类型所占的字节
                                        bool 1

                引用类型
                        类:class
                        接口:interface
                        数组:[]

        Java输出数据的格式控制
                输出为普通的数值格式: int long int, short byte -> %d
                输出为十六进制数据格式:int long int -> %x,%#X,%X,%#X
                输出单个字符格式:char -> char
                输出浮点型数据:float,double -> %f (java和c语言不一样,不分%f %lf)
                输出字符串数据:String(注意是大写的S) -> %s

        Java的三种输出方法的比较

                System.out.printf();
                       
                        允许使用%c %s等格式控制符,进行输出不同类型的数据
                System.out.println();
                        会把参数转化为字符输出
                        输出后换行,但是不允许使用格式控制符

                System.out.print();
                        会把参数转化为字符输出
                        输出不换行但是不允许使用格式控制符
                       
                        总结:只有printf才可使用格式控制符,其余两种都不允许使用格式控制符,这样也符合逻辑
        Java的数据常量注意点:
                如果一个整数太大,则必须在后面加L,表示这是一个长整形,否则要丢失精度(编译报错)
               

        Java中的运算符
                +:可以进行数值相加、字符串相加。
                        分析System.out.println("a"+1);输出a1,直接把字符串相加
                        和System.out.println('a'+1);输出98,直接把char类型当做整数+1
                -:
                * :
                /:
                %:操作数可以为实数(小数),但是C语言中必须为整数
               
               
       


3 个回复

倒序浏览
有的东西 知道就好,不用可以去记哦,  其实需要明确的有   javaME(手机端)  javaSE(标准) javaEE(企业),JRE>JDK>JVM ;之类的,太多就不打咯哦。 这是 java 哦, 个人感觉这个可以算是视频内容的1-2的小总结
回复 使用道具 举报 1 0
迷茫不堪的年纪 发表于 2015-9-26 11:53
有的东西 知道就好,不用可以去记哦,  其实需要明确的有   javaME(手机端)  javaSE(标准) javaEE(企业 ...

说的非常好,有些东西的确看一遍了解一下就好了。把笔记留给重要的知识。嗯,学习了。
回复 使用道具 举报 1 0
heshiwei 发表于 2015-9-26 13:32
说的非常好,有些东西的确看一遍了解一下就好了。把笔记留给重要的知识。嗯,学习了。 ...

我只能说,API是程序猿最好的伙伴。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马