欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java学习笔记,

来源: javaer 分享于  点击 8632 次 点评:196

Java学习笔记,



java基础


java简介

java是面向对象的语言,是由Sun公司在95年出品的,2009年Sun公司被ORACLE公司收购。

java SE是基础部分,java EE是java的企业版,相比java SE,java EE增加了JSP、EJB等技术。

JVM:Java虚拟机,JDK:Java开发工具包,JRE:Java运行环境。

Java开发环境搭建

  • 安装JDK
  • 配置环境变量
    • JAVA_HOME配置JDK安装路径
    • PATH配置JDK命令文件的位置(bin目录)
    • CLASSPATH配置类库文件的位置(lib目录)

利用文本文件编辑Java程序

  • 用文本文件去编写Java的源代码文件,源代码文件以.java结尾。
  • 用编译器(javac命令),对源代码文件进行编译的操作。把它编译成以.class结尾的字节码文件,字节码文件与平台无关,实现跨平台。
  • 在不同的平台中用不同的解释器(java命令),去解释运行字节码文件,就可以得到程序运行的结果。

Eclipse

Eclipse开发Java程序分为四步

Java基本语法

约定俗成的命名规则

变量

基本数据类型 默认值 存储格式 数据范围
short 0 2个字节 -32768到32767
int 0 4个字节 -2147483648到2147483647
byte 0 1个字节 -128到127
char
long
float
double
boolean

Java中变量需要先声明再使用。

Java运算符

算术运算符

+、-、*、/、%、++、–。

赋值运算符

=、+=、-=、*=、/=、%=。

比较运算符

,<,==,!=。(==和!=的操作数可以是数值类型和引用类型)

逻辑运算符

&&、||、!、^(一真一假结果为真,其他的都是假)

条件运算符

布尔表达式?表达式1 : 表达式2

运算符的优先级

多总结就行了

Java控制语句

条件控制语句

if(条件){
    条件成立时执行的代码
}
if(条件){
    代码块1
}
else{
    代码块2
}
if(条件1){
    代码块1
}
else if(条件2){
    代码块2
}
...
else {
    代码块n
}
    switch(表达式){
    case1:
        代码块1
        break;
    case2:
        代码块2
        break;
    ...
    default:
        默认执行的代码块
}

循环控制语句

while(条件){
    代码块
}
do{
    代码块
}while(条件);

跳转语句

break、continue

Java数组

数组定义和初始化

声明数组:

数据类型[ ] 数组名;  //或者: 数据类型 数组名[ ];

分配空间:

数组名 = new  数据类型 [ 数组长度 ];

声明的同时初始化

int [] ages = {12,18,9,33,45,60}; //声明并初始化了一个数组,它有6个元素
char [] symbol = new char[10] //声明并分配了一个长度为5的char型数组

数组遍历

int [] ages = {12, 18, 9, 33, 45, 60};
for(int i = 0; i < ages.length; i++){ //ages.length是获取数组的长度
    System.out.println("数组中第"+(i+1)+"个元素是 "+ages[i]); //数组下标是从零开始,一定要注意
}
for(元素类型 元素变量:遍历对象){
    执行的代码
}

Java方法

方法的定义

访问修饰符 返回值类型 方法名(参数列表){
    方法体
}

参数和参数列表

返回值

Java类和对象

  • 对象是一个具体的,确定的物体。
  • 是封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体被称为类。
public class 类名{
//定义属性部分(成员变量)
属性1的类型 属性1;
属性2的类型 属性2;
...
//定义方法部分
方法1;
方法2;
...
}

对象

要使用一个对象,首先要先创建一个对象。

类名 对象名 = new 类名();

构造方法

1.构造方法的名称与类名相同,并且没有返回值。
2.如果在定义类的时候没有写构造方法,系统会默认生成一个无参构造方法,不过这个构造方法什么也不会做。
3.当有指定的构造方法时,系统不会再添加无参构造方法。
4.构造方法的重载:方法名相同,但参数不同的多个方法,调用时会自动根据不同的参数选择相应的方法。

Java封装

面向对象有三大特性:封装、继承、多态。
封装的好处:

  • 隐藏类的实现细节
  • 让使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作
  • 便于修改,增强代码的可维护性

如何实现封装:

Java访问修饰符

访问修饰符 本类 同包 子类 其他
private
默认
protected
public

this关键字

使用this.属性操作当前对象的属性,this.方法调用当前对象的方法。

内部类

内部类的主要作用有:

使用方法:

静态内部类:

Java继承

语法

class 子类 extend 父类{
    ...
}

子类重写父类的方法:
重写的方法一定要与原父类的方法语法保持一致,比如返回值类型,参数类型及个数,和方法名都必须一致。

继承的初始化顺序
系统会先创建父类对象,在创建子类对象,先初始化属性,在调用构造函数

Java多态

父类的引用指向子类的对象
父类调用子类的对象的继承方法或重写方法

多态引用类型转换

例子:

Dog a = new Dog();
Animal b = a; //自动类型提升 向上类型转换(无风险)
/*
Dog c = b; 
//将父类引用转换成子类引用,编译器不允许这样做
*/
Dog c = (Dog)b; //在父类前加上小括号,里面加上子类类型,实现强制转换
//向下类型转换
/*
Cat d = (Cat)b;
//虽然编译器不会报错,但运行会出问题,因为b是指向Dog类的,它们是不同类型的对象,这里就存在风险
*/

抽象类

从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性,同是抽象类也规定和约束了子类实现哪些方法。

相关文章

    暂无相关文章
相关栏目:

用户点评