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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

guihuang2002

初级黑马

  • 黑马币:52

  • 帖子:20

  • 精华:0

       作为一个技术分享贴,首先呢还是先瞻仰一下我们的java之父,詹姆斯·高斯林。没有这个大胡子,我也就不会在这分享java知识的快乐了。
       废话不多说,直接进入主题吧。以我目前基础班未毕业的水平,也最多能给大家分享一些我觉得重要的知识点,也有我觉得会在面试考到的,好了,开始吧。
1.    第一个还是要说说java本身的特性,导致它火的主要特性是开源和跨平台,正是因为他的开源,才让它在千千万万的程序员手中日新月异,成为世界上最受欢迎的编程语言。
2.    关于java的安装就不多言了,环境变量的配置是必须的,关于各种关键字呀,变量常量标识符呀,他的命名规则:关键字的字母全部小写,标识符规则:数字,英文字母,下划线,美元符号,但不能以数字开头,不能是java的关键字,main可以作为标识符,但main本身在public static void main里存在是不能更改的,只能为main。之后就是默认的一些命名规则:
a.    类名和接口名:首字母大写,如果多个单词,每个首字母都大写
b.    方法名:字母全小写,如果多个单词,第二个单词开始首字母大写。
c.    常量名:所有字母都大写,如果多个单词,每个字母都用下划线 _ 隔开。
3.    最小的信息单元是bit,最小的存储单元是byte(-127-128)。Byte的范围请务必记住。
4.    隐式转换和强制转换,最重要的还是要记住每个数据类型的默认提升类型,整型为int,浮点为double。
接下来呢则是一些关于eclipse快捷键的用法以及运算符等零碎知识点:
1.    eclipse快捷键:
a)     alt + /  内容辅助键。很常用的快捷键
b)     ctrl + /是单行注释, Ctrl + shift + /是多行注释,Ctrl + shift + \取消多行注释。
c)     Ctrl + shift + F 是格式化,就是帮你把代码的格式规范化,但最好还是自己养成正确格式的习惯。
d)     Ctrl + shift + o是导包,Scanner sc = new Scanner(System.in);写完直接按快捷键就能完成导包。Random也一样可以。
e)     alt + shift +s +r,按顺序按,设置get和set类型,这算是面向对象的知识,在这提前先说了。
2.    字符参与加法运算,其实是拿字符在计算机中存储的数据值来参与运算的。(‘A’是65,‘a’是97,‘0’是48),重点是单引号里面只能有一个字符。有浮点数参与运算必须用浮点类型来接收.
3.    小知识点:赋值运算符其实隐含了强制类型转换。
4.    Scanner不是关键字!所以可以用来命名。
关于if,while,之类的循环的话,个人没有觉得有什么难点,在这便不多提了,给大家分享两个知识点:
public class KeyPoint {
       publicstatic void main(String[] args) {
              booleanc = true;
              inta =1;
              intb =2;
              intd =3;
              if(c=false){
                     System.out.println("a");
              }elseif(c){
                     System.out.println("b");
              }elseif(!c){
                     System.out.println("c");
              }else{
                     System.out.println("d");
              }
       }
}
因为第一个if里面是boolean类型,所以不会出错,而且c的值会被代替。所以输出的值将会是c。
public class KeyPoint1 {
       publicstatic void main(String[] args) {
              intx = 2,y=3;
              switch(x)
              {
                     default:
                            y++;
                     case3:
                            y++;
                            break;
                     case4:
                            y++;
              }
              System.out.println("y="+y);
       }
}
因为default没有break,将会执行case穿透,直到遇到break为止或者到最后一个大括号为止,当然先后顺序还是先case再default。
       数组在这我只分享一个java中的内存分配,其他关于格式,初始化什么的都是基础中的基础。还有方法的各类知识点。

1.    java中的内存分配
a)     栈(存储的是局部变量)
b)     堆(存储的是new出来的东西)
c)     方法区(面向对象进阶)
d)     本地方法区(系统相关)
e)     寄存器(给CPU使用)
2.    单独调用为:方法名();    (有明确返回值的方法单独调用没有意义)
赋值调用: 数据类型 变量 =方法名();      void为返回值类型时无法使用
输出调用: System.out.println(方法名());     void为返回值类型时无法使用
3.    方法重载只会发生在同一类中,名字可以相同,但参数列表必须不同。要么参数个数不同,要么参数类型不同,与返回值无关。
同一参数类型时,例如整型中int,short,long,若不在调用中利用强制转换,会默认调用int的方法。要调用long类型的方法需要在数据后面加L。
4.    形式参数(即方法里的参数)的改变不会影响实际参数。
但是,如果参数是引用数据类型,形式参数的改变会直接影响实际参数。
又到了大家最喜欢的面向对象环节了,基础部分我就不多分享了,懵逼点都在最后的类名作为形式参数时和类名作为返回值时,所以下面我会奉上我自己的分析,如果依旧没懂或者解析有错还请多多谅解。
1.    面向对象思想是基于面向过程思想的。
面向过程就好比于将一步步步骤自己写出来,而面向对象就是将这一步步步骤总结成一个对象,然后直接调用对象即可,以达到偷懒的效果。
2.    类名作为形式参数时,你需要调用这个方法就需要传递这个类,所以要先在主方法那创建一个这个的类的对象,在用对象名传递过去。
例如:第一个类为Student, 在第二个类Teacher里面就存在一个名为test方法,参数为Student s,内容是调用Student里面的一个名为show方法。那么在第三个主类里面,你就要先创建一个Teacher的对象,Teacher t = new Teacher();  又因为teacher类里的参数为Student S,你需要传递过去一个Student类的对象,所以在主方法里你需要创建一个Student的对象,Student s = new Student();   再将这个s通过t传递过去,即
t.test(s);
3.    类名作为方法返回值时,返回的是类的一个对象。
例如:依旧是第一个类为Student, 在第二个类Teacher里面就存在一个名为getStudent方法,参数没有,但返回值类型Student,方法里还有个return s,那么在第三个主类里面,一开始还是创建一个Teacher的对象,即Teacher t = new Teacher();   因为他是个return s,所以你需要一个student的对象去接受它,所以你首先在主类创建个Student的对象并让它得到Teacher方法里的返回值,即Student s = t. getStudent ();    然后直接调用Student类型里的方法即可,即s.study();

以上便是我个人的笔记心得分享,希望大家能从我收集的知识点中获取到前所未有的新知识,也欢迎大家能在评论里指出我的不足,谢谢!

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马