java吧 关注:1,252,366贴子:12,739,973

[学习笔记]新手学javaSe详细记录,同时附上理解心得和相关代码

只看楼主收藏回复

楼主之前从来没学过java,只是听过,但听的最多的是c,以前一直好奇软件是怎么做出来的,大学也有c语言课,但当时看到的是DOS类窗口,发现没一点兴趣。楼主比较喜欢“现实”的东西,看到那些DOS 命令行什么的兴趣感觉没有,太抽象了,所以大学时基本没上过c语言课了。
楼主已经毕业两年多,社会经验也有一些,专业是网络工程方面,毕业后在某国企从事运维工作,后来辞掉做了一段时间市场工作
所以楼主的基础为:了解计算机,会用电脑,网络工程主要是思科华为那种,但楼主也表示没学到什么,(偷笑~)编程方面除了知道有什么语言外,0基础,市场经验就学会了坑蒙拐骗“献身”客户(害羞)
学java的目的是想既然专业是计算机,还是掌握一门一比较好,其实楼主是因为接触了市场方面的东西,想自己赚点外快。网络工程就算了,本专业干的也是本行开始,知道不符合楼主的意愿,后来想过平面设计,三维设计,程序开发,思来想去综合一下还是选了程序开发,因为楼主没学过什么画画,这方面很白痴,怕学了只会改图,而且不符合楼主的规划。
学java前,楼主百度了编程语言方面的资料,c++学成时间花费太久,php算是入门简单的,.net跟java很相似,但是.net貌似只能在windows下,楼主不喜欢被束缚的感觉,再加上楼主表示对web方面感兴趣,对比.net,但还是选了java。
选java的理由是:
1.跨平台(这里楼主表示其实好奇linux方面的东东,觉得以后顺带学了)。
2.web方面貌似很强,还附带移动开发(安卓......)
3.PHP是现在开发网站用的很多的语言,但感觉学PHP会浪费时间(想学一门基础语言,要用到再学这个应该很容易)
4..net网上看了很多,据说开发比java快,什么封装好的东西什么什么的,但觉得好像不能让自己了解更深。索性跟java差不多,不如需要的时候返回来再学
以上让楼主决定学java,其实还有一个原因就是,楼主发现培训机构的视频好像java更早,并且楼主也只下到了一套完整的java学习视频,当然还有朋友的推荐。
以上告知基本情况,如果回复楼主叫楼主不要踏入这行的就算了,楼主的主观意识比较强,什么干这行没出息,30岁后当不了管理不要学,不喜欢不要学之类的。从楼主的经历来说下基本感受:各行各业都相差不多,行行有能手也是肯定的,干程序员的羡慕做市场的,做市场的羡慕做财务的等等等,如果你没有多少社会经验,你的一切认为其他行业就是好都是相对的,楼主因为属于懒惰类型,而貌似学编程需要多敲多敲,所以选择贴吧来限制自己并希望从学习笔记得到各位前辈的指点
以下正式开始发布学习经验,前几天学的可能更新较快,楼主每天学的时间不多,但绝对不断更,就是会把学完javaSE的东西都贴上来,看我打这么多都应该相信楼主的啦


1楼2013-01-22 07:23回复
    支持一下


    来自Android客户端2楼2013-01-22 07:26
    回复
      楼主学习的准备工作:
      1.学习视频一份(在某分享论坛刷了好多资源币下载的),主体是毕向东25天的视频。后来看到官方有35天的,当时就气死我了,还以为人家故意少发10天,结果下载下来是两个版本,而且35天的声音很难听,有杂音,不推荐,看了下多了些html css啊之类的东西。
      这里专门找了单独的下载地址,分享给各位。(毕向东25天教学视频)

      2.敲代码的:EditPlus(可以设置直接编译和运行哦)


      3楼2013-01-22 07:34
      回复
        插!留名


        IP属地:湖北来自Android客户端4楼2013-01-22 07:40
        回复
          第一天内容:
          主要介绍软件开发基础常识,然后是几个dos命令,前几天学的时候表示一上来第一个视频就是DOS命令觉得很崩溃。然后是java环境搭建,配置环境变量。然后写了第一个据说是全球最牛的程序 helloworld 为了方便阅读,楼主表示截图发吧

          后面学了注释的使用 比如
          //单行注释
          /*
          多行注释
          */
          helloworld的组成部分
          1.通过class关键字定义一个类
          2.保证独立运行,在类中定义一个主函数,格式是public static void main(String args)
          3.输出语句 System.out.println("hello world");


          5楼2013-01-22 07:48
          回复
            老大,能把视频资源给发到邮箱吗1371890411@QQ.com


            IP属地:北京6楼2013-01-22 08:23
            收起回复
              插!!


              IP属地:广东来自手机贴吧7楼2013-01-22 08:40
              回复
                第二天内容:
                一:java语言基础组成(关键字,标示符,注释,常量和变量,运算符,语句,函数,数组)
                1.关键字:被java语言赋予了特殊含义的单词,都为小写(大概意思是这些都是被java收入后宫的东东)
                2.标示符:在程序中自定义名称,有26个英文字母大小写,数字0-9,符号_$组成,严格区分大小写,并且不能用关键字(java的后宫你不能用啊~),记住为了阅读性要起的有意义的名称
                3.注释:就是程序里的笔记,方便看懂,相当于上学课本的注解,程序本身不运行这些,// or /* */ 里的就是注释,如下

                4.常量和变量:常量顾名思义就是固定的数值咯,变量就是可以改变的。
                常量分类:
                1.整型常量,就是整数啦
                整数java有三种表现形式
                十进制:0-9,满10进1,我们日常用到的就是这个啦
                八进制:0-7,满8进1,用0开头表示,这个八辈子都没接触过
                十六进制:0-9,A-F,满16进1,用0x开头表示,这个还是看过
                2.小数常量,就是小数啦
                3.布尔常量:特殊,就两个值,true和false,就是真和假的意思
                4.字符常量:'xx',单引号里的东东('4','+','a')
                5.字符串常量:"xx",双引号里的东东("44","++","aa")
                6.null常量:就一个数值null
                二:进制特点
                任何数据在计算机中都是以二进制的形式存在,二进制是由电信号开关演变,二进制只有0和1
                十进制->二进制 如10 (原理:对十进制进行除2的运算)
                2|10 ->0
                2|5 ->1
                2|2 ->0
                1
                从后往前排就是1010,所以10的二进制是1010
                2.二进制 ->十进制(原理:二进制乘以2的过程)
                如:1010 (从最低位开始,0次冥开始乘)
                0*2^0 + 1*2^1 + 0*2^2 + 1*2^3
                (0乘以2的0次方 + 1乘以2的1次方 + 0乘以2的2次方 + 1乘以2的3次方)
                0+2+0+8 = 10
                总结规律:如一个二进制数 1 1 0 1 1 1 0
                64 32 16 8 4 2 1 (0次冥开始递增)
                乘以0肯定为0,所以只需要加上乘以1对应的数,则64+32+8+4+2=110
                其他进制转换-转成16进制(4个二进制位就是一个16进制位)
                如 62
                二进制是 0011 - 1110
                由规律得出3 - 14 ->3e
                而十六进制逢10进1,由a-f代替,所以14就变成了e
                转成8进制(3个二进制位代表一位)
                如 62
                二进制 000 - 111 - 110
                规律得出 0- 7 - 6 -> 76
                负数的二进制表现形式(一个字节占8个二进制位)
                比如 6的二进制是 110
                -6:其实就是6的二进制取反+1(取反:将二进制的1变成0, 0变成1)
                0000-0000 0000-0000 0000-0000 0000-0110数字6
                1111-1111 1111-1111 1111-1111 1111-1001取反
                0000-0000 0000-0000 0000-0000 0000-0001加1
                ----------------------------------------
                1111-1111 1111-1111 1111-1111 1111-1010结果-6


                9楼2013-01-22 09:14
                收起回复
                  感觉这些什么进制转换啊,还有后面的运算符什么的,先了解知道即可,具体用才记得住。楼主表示上面发的完全记住了,写帖子也是为了加强记忆


                  10楼2013-01-22 09:25
                  收起回复
                    楼主发现现在回顾视频课程写的笔记有点乱,为了方便同一套视频学习的同学看笔记或参考,楼主决定按照视频进度来记录


                    11楼2013-01-22 09:37
                    回复
                      变量:顾名思义就是可以改变的东东,在计算机里就是将不确定的数据进行存储 一般都会起一个变量名,例如: int num = 9;后期可以通过变量名操作数据
                      数据类型:1基本数据类型和2引用数据类型
                      1包括数值型(整数类型:byte,short,int,long)(浮点类型:float,double)
                      字符型(char)布尔型(boolean)
                      2.包括类 class 接口interface 数组[] ps:暂时不管,后面会学到
                      基本数据类型应该是平时会直接用到的,引用数据类型估计是需要的时候去指向或者相当于去拿一个具体事物里的东西吧?(语文表达不能
                      默认类型:整数是int,小数是double
                      相关演示数据类型:
                      (字节)byte a1 = 2;//范围是-128~127 大小是8位
                      (短整型)short a2 = 30000;//范围是-32768~32768 大小是16位
                      (整型)int a3 = 999999;//范围是-2147483648~2147483648 大小是32位
                      (长整型)long a4=999999999999L;//范围是-9233372036854477808 大小是64位
                      (浮点型)float a5=0.0f;//范围是-3.40292347E+38~3.40292347E+38 大小是32位
                      (双精度)double a6=0.001;
                      //范围是-1.79769313486231570E+308~1.79769313486231570E+308 大小是64位
                      (字符型)char a7 = "java";// 范围是\u0000~u\ffff (Unicode码)大小是16位
                      (布尔型)boolean //true或者false 默认是false 大小是1位
                      类型转换:byte a = 3;a=a+2;
                      a = (int)(a+2);//强制转换
                      System.out.println('a'+1);//ascii表里a是97
                      System.out.println((char)('a'+1));//强制转成char类型


                      12楼2013-01-22 10:32
                      收起回复
                        java吸引我的只有两点,1、免费,2、开源,如果不是这两点,果断.net


                        13楼2013-01-22 10:49
                        回复
                          其实这真是个学习的好办法把每天学的东西整理一下发一篇帖子还能巩固一下知识


                          IP属地:河北14楼2013-01-22 10:52
                          回复
                            不错,继续加油


                            IP属地:广西15楼2013-01-22 11:00
                            回复
                              支持LZ
                              本人刚刚接触java还很迷茫 以后有不懂得还要来麻烦lz


                              16楼2013-01-22 14:06
                              收起回复