从本周开始写java学习笔记,每周总结一次,总结时间是周日,计划的是每周日不学新的知识,复习总结本周学习的内容。
不要走的太快,有时不时的回头看看也会发现不一样的风景!
java初探学习笔记(W1-week1)(这是我自己的学习笔记,记录知识点和一些自己的理解,杂乱无序)
目前学校开了java相关的课程,但是每星期课时有限,而且讲的速度太慢,现在主要是在网上自学,目前自学的平台和课程是:中国mooc《零基础学java》、金旭亮老师的java课程(网站上有,最近刚更新java的课程)、w3cschool的java相关课程。
小体会:
1.学编程重要的是什么,是想法,有一个问题,如何通过编程实现她呢?
2.平时写代码的时候要养成写适当的注释的习惯
3.Perspective(透视图)和View(视图)
--------------------------------------------------------------
1.定义变量
<类型名称><变量名称>
int price;
int amount,price;
2.常量定义
final int price=100;
3.输入
Scanner in = new Scanner(System.in);
4.java的安装
创建java文件,文件名要与类名一致
javac Hello.java该命令用于将java源文件编译为class字节码文件
java Hellojava后面跟的是java文件中的类名 其实是java
Hello.class后缀.class不能写
5.Java分为三个体系:
JavaSE(J2SE)(Java2
Platform Standard Edition,java平台标准版)
JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)
JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。
6.在正式学习java并安装配置开发环境之前,有必要了解一些有关Java的专业术语:
JDK(Java Development Kit):编写Java程序的程序员使用的软件
JRE(Java Runtime Environment):运行Java程序的用户使用的软件
Server JRE(Java SE Runtime Environment):服务端使用的Java运行环境
SDK(Software Development Kit):软件开发工具包,在Java中用于描述1998年~2006年之间的JDK
DAO(Data Access Object):数据访问接口,数据访问,顾名思义就是与数据库打交道
MVC(Model View Controller):模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法
7.设置JAVA_HOME:
一是为了方便引用,比如,JDK安装在C:\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径,那么以后要使用这个路径的时候,只需输入%JAVA_HOME%即可,避免每次引用都输入很长的路径串;
二则是归一原则,当JDK路径改变的时候,仅需更改JAVA_HOME的变量值即可,否则,就要更改任何用绝对路径引用JDK目录的文档,要是万一没有改全,某个程序找不到JDK,后果是可想而知的----系统崩溃!
三则是第三方软件会引用约定好的JAVA_HOME变量,不然,你不能正常使用该软件。
在系统环境变量那一栏中点->新建JAVA_HOME(JAVA_HOME指向的是JDK的安装路径)
path变量
path变量使得我们能够在系统中的任何地方运行java应用程序,比如javac、java、javah等等,这就要找到我们安装JDK的目录,
假设我们的JDK安装在C:\jdk1.6.0目录下,那么在C:\jdk1.6.0\bin目录下就是我们常用的java应用程序,我们就需要把C:\jdk1.6.0\bin这个目录加到path环境变量里面。
classpath变量
classpath环境变量,是当我们在开发java程序时需要引用别人写好的类时,要让java解释器知道到哪里去找这个类。通常,sun为我们提供了一些额外的丰富的类包,一个是dt.jar,一个是tools.jar,这两个jar包都位于C:\jdk1.6.0\lib目录下,所以通常我们都会把这两个jar包加到我们的classpath环境变量中set classpath=.;C:\jdk1.6.0\lib\tools.jar;C:\jdk1.6.0\lib\dt.jar。
注意在完成配置环境变量后测试JDK是否安装成功时键入命令:java-version
8.
对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
类:类是一个模板,它描述一类对象的行为和状态。
方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。
9.
类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如MyFirstJavaClass。
方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。
主方法入口:所有的Java程序由public static
void main(String []args)方法开始执行。
10.
习惯命名规则:
(1)标识符要符合语义信息。
(2)包名所有字母小写。
(3)类名每个单词首字母大写,其它小写,如:TarenaStudent。
(4)变量和方法:第一个单词小写,从第二个单词开始首字母大写,如:tarenaStudent。
(5)常量:所有字母大写,每个单词之间用_连接
11.
强制类型转换
(int)12.0
12.
true和false之间不能比较大小
判断是否相等的==和!=的优先级比其他的低,而连续的关系运算是从左到右进行的
6 > 5 > 4不可以这样比较6>5是true true不能和int进行比较
a == b == 6不可以这样比较a == b truetrue不能和int进行比较
a == b > false不可以这样比较a == b truetrue和false之间不能比较
13.
双精度浮点数计算有误差
double 1.0!=double 0.1+0.1+0.1+0.1.......
14.
两个浮点数进行比较,比较他们之间的差距
Math.abs(fl -f2 )<0.0001
15.
行断点 程序运行到时会停下来
Line BreakPoint
写程序时注意断点调试
16.
else总是和最近的if匹配
17.
在if或else后面总是用{},即使是只有一条语句的时候
18.
switch-case:
switch(){
case常量:
break;
default:
语句;
}
19.
验证:
测试程序常使用边界数据,如有效范围两端的数据、特殊的倍数等
个位数;10;0; 负数;
20.
查看javac具体做了什么
javacdong.java -verbose
21.
注释:选中ctrl +7或者ctrl + /添加注释再次按ctrl +7取消注释
单行注释://养成开发时为代码添加适当的注释的好习惯
多行注释/*
*/
22.
// TODO Auto-generated method stub在代码指定位置添加//TODO任务提示 ,点击小蓝方框跳到相应位置
23.
alt + /自动补全代码
alt + /是基于代码模板来完成自动生成代码的工作的,可查看代码模板
window--preferences --java --editor --templates
可以自己创建新的代码模板
我的在代码编辑器中输入sys,alt +/自动生成代码模块中内容
自己的一个代码模板输入sysSystem.out.println("");
24.
查看JDK源码右击一个关键词open declaration
或者是压住Ctrl键单击相应标识符
25.
在程序中添加适当的空白符
使程序更加可读
空行,空格和tab成为“空白符”(white-space-characters)
程序中的空行,一般用于给功能代码分组,养成这样一个好习惯
另外一个单独的语句可以被分为多行,可以多敲回车避免语句过长难于阅读
26.
减轻java程序员人工编写文档的工作量,实现从代码中自动地抽取注释,java中定义了一种标准的注释方式,内置了一些标准的以“@”开头的关键字:
/**
*@authordongjingwei
*@version 1.0
*/
27.
public static void main(String args[])
void表明main方法不返回任何结果
28.
包package
*相关的类被放在一起,称为包
*jak预置的所有的包构成“java标准类库”或者“java应用程序编程接口”
核心包core packages :以“java”开头,由jdk所直接提供
扩展包extension packages以 “javax”开头
29.方法名开头字母小写
30.静态方法用“类名.方法名(参数列表)”的形式调用
无须创建对象即可使用的方法是静态方法
31.system.exit(0);
调用静态类system的静态方法exit结束程序
参数0表示程序顺利结束,非0表示有错误发生
32.
1.Java修饰符
像其他语言一样,Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:
可访问修饰符: default, public , protected, private
不可访问修饰符: final, abstract, strictfp
2.Java枚举
枚举限制变量只能是预先设定好的值
3.------------------------------------------------
面向对象语言有3个重要特性:封装、继承、多态
面向对象一个重要的思想就是通过抽象得到类,将某些数据以及针对这些数据的操作封装进一个类中
抽象:数据属性
数据的操作行为
类是从具体的实例中抽取共有属性(行为)和行为(操作)
关于类、对象、方法抽象
抽象的关键点有两点:一是数据,二是数据上的操作
对象通过“.”运算符操作自己的变量和调用方法。
对象.变量;对象.方法
class类名{//类名大写
类体
类体包括声明变量:刻画属性类体中声明的变量是域变量或成员变量//变量第一个字母小写
包括定义方法:刻画行为
方法声明部分:
方法返回类型方法名(){
方法体在方法体中声明的变量和方法中的参数是局部变量
}
}
Circle circle;//声明对象;
circle = new Circle();//创建对象;
--------------------------------------------------------------------------
声明数组
数组的元素类型数组名[][]或者数组的元素类型[][]数组名
为数组分配元素
数组名= new数组元素类型[数组元素个数]
另外声明数组和创建数组可以一起完成
float boy[] = new float[4]
--------------------------
int a[] = {1,2,3,4}
System.out.println("数组a的引用=" + a)
而对于char型数组,输出char型数组的引用,必须让数组a与字符串做并置运算
System.out.println(""+ a);
------------------------------------------------------------------
源文件声明规则
一个源文件中只能有一个public类
一个源文件可以有多个非public类
源文件的名称应该和public类的类名保持一致。例如:源文件中public类的类名是Employee,那么源文件应该命名为Employee.java。
如果一个类定义在某个包中,那么package语句应该在源文件的首行。
如果源文件包含import语句,那么应该放在package语句和类定义之间。如果没有package语句,那么import语句应该在源文件中最前面。
import语句和package语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。
-------------------------------------
java常量
常量就是一个固定值。在java中用final标志,声明方式和变量类似;
final double PI =3.14159
-----------------------------------------------
1.默认情况下Eclipse字符集为GBK,但我们很多项目采用的是UTF-8
在菜单栏选择Window -> Preferences -> General ->Workspace -> Text file encoding
2.Eclipse可以同时开启多个窗口,在 菜单栏选择:Window ->
New Window来开启多窗口。
多个窗口的切换你可以使用Alt + Tab来回切
3.工作空间中查找----快捷键:Ctrl + H
4.Open Type in Hierarchy菜单允许用户在Type Hierarchy视图中查看类的继承层次。
5.如果你想设置书签,你只需要在垂直标尺上右击鼠标并选择能"Add
Bookmark"即可。
6.通过Eclipse官方市场(http://marketplace.eclipse.org/)找到并下载我们需要的插件。
7.Eclipse快捷键列表可通过快捷键Ctrl + Shift + L打开
8.通过点击window->preferences->general->keys(或直接搜索keys),进入快捷键管理界面手动设置快捷键
10.浏览器可以通过点击Window菜单并选择Show View > Other,在弹出来的对话框的搜索栏中输入"browser"。
网友评论