作为一个技术分享贴,首先呢还是先瞻仰一下我们的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();
以上便是我个人的笔记心得分享,希望大家能从我收集的知识点中获取到前所未有的新知识,也欢迎大家能在评论里指出我的不足,谢谢!
|