java基础笔记

java基础第一讲

一、jdk的下载 www.sun.com 选中相应版本的jdk 选择platfrom:windows 点击continue 下载到相应程序到你选择的盘符下。
二、下载成功的文件:jdk-6u 16windows-i58.exe
解释:jdk:java development 6:jdk主版本号 通常说的java6  u:update 16:副版本号 升了几次级 升了16次级 windows:安装平台
jre 与jdk 的区别: 开发用jdk, 运行的时候用jre
安装jdk-->配置环境变量(java_home:jdk路径 classpath:.;\java_home\lib  path:java_home\bin )--cmd运行查看是否安装成功:
javac  java java -version (安装的版本)

三、cmd:notepad  初学者java用记事本编写程序 、运行程序 :编译程序:javac java文件名.java 在当前目录下生成.class文件  运行程序:java java文件名

四.入门程序
HelloWord 程序 也可以称为HeolloWord类

public class HelloWord{
    public static void main(String args[]){
           System.out.println("HelloWord");
   }
}
解释:
HelloWord 程序的名字  类的名字
main方法与其他方法的不同:所有的java程序都从main方法开始执行的,这是sun公司规定 也是与其他方法最大的不同

五.为什么有了java源文件还需要用java编译器编译一下 才可以运行?
源文件 与class文件是等价的:.java文件与.class文件可以互换 但不代表他们是相等的(故事比喻:美元不能在超市里买东西)
在命令行里面java就是一个程序 调用java类库 java平台才能认识
对于class文件 java虚拟机就是windows
经过编译器生成的.class 相当于windows 里面的.exe文件

六.搭建集开发环境

集成开发环境有哪些?
netbeans
jbuider
eclipse(目前用户最多的的IDE)

工作空间设置:.\workspace (指程序所在的目录) 安装eclipse程序时就可以看到
eclipse 以前是ibm 现在由开源社区管理和维护。
eclipse:eclipse 是一款开源免费的IDE软件
八、
eclipse基础功能
行号功能 
自动编译:project-》 build automatically 打上对勾
新建功能:各种新建:类、java project、等
eclipse导入项目功能
运行功能:1:点击运行上一次的程序


九、 java 数据类型 (涉及到数据类型的 值域 和 精度 )
8种基本数据类型:精度从小到大:byte 《short 《 int 《 long 《 float double
整数类型
byte(-128~127) (数学中对数据的一种定义)
short
int
long
浮点类型:
float(用来表示有理数)
double(首选double)

char 基本数据类型都有一个范围
十、
变量的声明:
java中的变量声明和表达式语句
从创建到他的生命周期结束 他都不能变化

变量有三个属性:变量名、变量类型、变量值 如:int a=5;

什么是标识符:(变量名必须是java中一个合法的标识符)
标识符必须以英文字母(包括大写和小写)或下划线(_)开头
标识符除开头之外的字符,允许使用英文字幕(包括大写和小写),下划线(_)和数字 其余字符都不可使用。
标识符区分大小写。也就是a和A是两个不同的变量名。
标识符不能是java中的关键字。
标识符不能重名。
标识符不仅可以用来做变量名,还可以用来做类名和方法名。创建一个变量之后,我们就可以通过这个变量的名字使用这个变量。

十一、
1、数据类型转换:

两种数据类型转换
(1) 低精度转换成高精度的数据类型不需要关心。如:int-->double
(2) 需要强制类型转换前面加括号,括号里面写上你要转换的类型即可
       (如:double->int ) int a = (int)(doubevalue+0.5);


2、数据混合运算:(需要注意的)
  (1):数据精度的提升
  (2):运算结果,2个操作数中高精度的那个类型,就是运算结果的类型。
java会帮我们临时创建一个高精度的变量来存放低精度的变量 进行相加减。
double doubleVaule=9.9;
int intValue=9;

//java会帮我们实行的步骤 这一步 我们不用写 只需要知道 计算机内部是这样执行的就行
//double temp =intValue;
//double result =doubleValue+temp;
double result =doubleValue+intValue;//上面注释的部分等价于当前行

3、赋值操作符:
作用:赋值
运算结果:就是被赋值的值
int b=(a=5);
连续赋值操作什么时候使用?
(不推荐使用,因为对阅读程序的人可能不理解,多个变量赋值同一个值得情况下可以使用)
int b=a=5;
一般会这样写  赋值顺序:从右向左 5赋于a a赋于b
a=5;
int b=5;

4、浮点数的比较大小:
double 类型比较 (double类型表示数据 不是完全精确的)
double类型不是一个精确地表示浮点数的一个形式

怎样比较a和b是否相等?
double类型错误的比较方式(建议不采用 虽然有时候对)
double a=9*3.1415926/7.6789*1.1415926;
double b=9*3.1415926/7.6789*1.1415926;
boolean equal =(a==b);

浮点数本身无法精确地进行大小比较
但是java 提供了一种方式比较浮点数类型的方法
double类型正确的比较(模糊的比较方式)
double a=9*3.1415926/7.6789*1.1415926;
double b=9*3.1415926/7.6789*1.1415926;
boolean equals = (a-b<0.0000000001||(b-a<0.0000000001));

5、字符串类型
字符串类型不是 java中基本数据类型 是java中基于char类型构建的数据类型

6、8个转义字符:为了解决不能书写的源代码的字符,转义字符应用而生。
\n 换行符
\b 退格
\t 制表符
\r 回车符
\f 换页符
\" 双引号
\' 单引号
\\ 反斜杠

十二、
程序的执行流程:
1、顺序结构
2、分支结构
3、循环结构语句

(1)if语句 :
语法:
     大括号不省略:if(布尔表达式){}else{}  
      省略大括号:if(布尔表达式)语句
      备注: 大括号的省略

if(布尔表达式){

}else{
   if(布尔表达式){}else{

   }
}

等效:if(布尔表达式){}else if(布尔表达式){}else{}

(2)while语句和do while语句 for循环语句
do{}while(布尔表达式);  至少要执行一边的语句

自增操作

for语句:for(初始化语句; 控制循环的条件(布尔表达式);每次进行表达式后要执行的语句)
调试for循环的方法 解刨for循环

for循环解刨前:
for(int times=0;times<5;times++){

}
  需要调试 for循环解刨后:

for(
int times=0;
times<5;
times++){

}
(这种解刨 可以使我们debug更加灵活 发现错误 调试循环用)

break 关键字用来终止整个循环

continue 关键字用来跳出本次循环
当 把光标停在continue 只有for变成灰色 而右括号不变灰色 说明 continue 作用只是终止当前循环 进行下一个循环
break:当把光标停在break 上 for 和右大括号马上变成灰色  用来快速定位到 当前这个break 跳出那个循环
(3)switch case 分支语句

十三、
如何使用eclipse 来调试程序:
bug:错误 程序错误
debug:寻找程序出错的原因的过程,调试程序 一步一步执行 逐行执行
有对勾的断点是有效的
f6:逐行进行
f8:唤醒程序  中间没有停顿  直到遇到第二个断点变成绿色的
绿色标记的当前行:是没有执行的行

鼠标悬停的方式:
设置断点 设置一个断点 设置多个断点(断点:有小勾 是指断点处于激活状态)

switch case debug  直接跳到匹配的地方
case 后面的值是固定的值 不能重复 不要求是连续的

语句中的变量:
最大的特点:在语句中创建的变量,出了这个语句就不能再使用了

语句中可以使用外面创建的变量。
java中的所以语句:for语句 while语句 do while 语句 switch 语句 if语句和if else 语句
元素是double 类型的数组
for(){
}


十四、
1、数组:
数组下标必须是int类型的变量
double [] doubleArray = new double[int类型的变量]; 这里必须是int类型的变量
数组使用的特点:
1.数组的名字 一个中括号 一个数组下标 就代表一个数组元素
2.数组下标从0开始
3.数组下标不能超出界限
4.数组实体的大小是不可改变的,数组实体一旦创建出来,他就拥有一定的元素 不可增加不可减少。
(注意:要想增加新的元素需要创建一个新的数组)

2、数组名与实的关系

(1):一实多名:
数组名字之间的赋值操作
int[] student = new int[5];
int[] studentsame;
studentsame =student ;//这个赋值操作的意义:让studentsame 指向student 所指向的new int[5] 这个数组 完成赋值操作

就代表一个数组了
数组赋值的意义:数组的名字赋值的意义,是让他们指向同一个实体,而不是创建一个新的数组实体。
一个数组有多个名字:只要把握一点:当他们指向同一个数组实体的时候,这两个名字是等价的,
无论使用哪一个名字去操作数组实体,他们的结果都是一样的

二维数组(那个班 学生分数)
int[][] student = new int[2][5];创建了2个班 每个班5个学生
静态初始化 和动态初始化

三维和多维数组
对于数组 int类型的数组 默认值是0
对于boolea类型的数组默认值都是false;



十五、 java中的类和对象
类也就是class
创建一个对象的目的 是建立一个新的数据类型 而这个新的数据类型 和属性是我们自己定义的

Car car; 声明一个car类的变量 创建了一个引用
car = new Car();创建一个car类的实体

这个赋值关系:就是让引用指向这个对象

我们使用一个对象 其实是通过对象的一个引用来操作这个实体,而不是直接操作这个实体的
通过引用来指向这个对象的中的一个属性 表示方式: 用“.”就可以了

类、对象 、引用 之间的关系
类的引入:
java基本数据类型来表示一些本应该复合在一起的数据类型时遇到了麻烦,就是因为数据类型本应该在一起的 而没有在一起。
为了解决数据类型不够 我们引入了自定义数据类型,也就是类。

新的数据类型:自定义数据类型(基本数据类型 引用数据类型) 复合数据类型 (String:java内置的数据类型)
类只是数据类型的定义,而如何用数据类型 就牵扯到了对象的概念
对象的引入:
对象:按照数据类型的定义而创造的一个数据模型 一个数据实体。
数据类型的定义(类 数据类型) 和 数据类型对象 封装在一起(类的定义就是一张图纸 而对象根据图纸而创造的实物)

类的对象 和类的实例是一样的 根据类的定义而创建出来的封装在一起的数据

引用引入:
引用时夹在类和对象之间的一个信使。创建一个类的引用(如:Car car; 通过赋值以后(car = new Car();引用就可以创建对象了))

类:就是一个数据的模板 对象:就是根据这个模板创建出来的真正正的数据 引用:而这个引用就是指向这个真正正的数据的信使 因为我们无法和这个真真正正的对象 通话,就需要这个引用来这个信使来操作对象,也就是访问这个对象中国属性的值。



Car car=null; 表示这个引用不指向任何对象

对于空引用的值是null 我们应该怎样处理?
处理空引用的方式:
if(car == null){
System.out.println("car不指向任何对象");
}else{
//可以使用car 对象
}

debug 跟中对象赋值:深黄色表示 改变了当前对象的值了

类:来封装自己想要定义的新的数据类型 car 类 四个属性 三个Stirng 类型(java提供的基本类型) 基本数据类型
数据类型封装的角度学习类。

类不仅仅可以只包含main方法 还可以包括属性等
引用和对象相互操作而定义的数组类型 数组这个类 是java定义的类
创建一个类对象 其实就是创建这一类物体中的一个个体
类不仅仅用来封装属性的 还可以用来类封装方法

十六、
java 中的方法:为什么要有方法?

数据封装的角度来看,已经满足需求 把对属性的操作封装在一个方法中,这样 我们就可以通过引用 来调用这个方法
属性 从属性角度来看 还不满足
方法:
一个方法 一般有五部分构成:
1.访问控制符(缺省的 private protected public)
2.修饰(static/ sysnacy)
3.返回值
4.方法名
5.参数列表
6.方法体
访问控制符


笔者的话:
1.java 重点知识总结笔录-共初学者参考阅读
2.学习是个循序渐进的过程,切不可操之过急。
3.各位阅读者那有写的不妥之处望指正。

未完待续。。。。

你可能感兴趣的:(java eclispe)