1,简单易学;
2,面向对象(封装,继承,多态);
一次编译,处处运行
4,可靠性;
5,安全性;
6,支持多线程
7,支持网络编程并且很方便
jvm是java虚拟机,所有的java程序必须运行在java虚拟机上
jre是java运行环境,包含jvm和java常用类库
jdk是java开发工具,包含jre和java开发工具,
如:java.exe 运行工具;javac.exe编译工具
1.整型:byte(1个字节)、short(2个字节)、int(4个字节) 、long(8个字节)
2.浮点型:float(4个字节)、double(8个字节)
3.字符型:char(2个字节)
4.布尔型:boolean(1个字节)
int(Integer)
2.浮点型:float(Float)、double(Double)
3.字符型:char(Character)
4.布尔型:boolean(Boolean)
"++i":先自增,后赋值
"i++":先赋值,后自增
& 位运算符,也可以进行逻辑运算,表达式左边为false,表达式右边继续执行。
&& 逻辑运算符,短路与,表达式左边为false,整个表达式结果为false,因此表达式右边不执行。
&& 同真则真,有假则假
|| 有真则真,同假则假
! 取相反
^ 不同为真,相同则假
1、顺序结构
顺序结构表示程序中的操作是按照代码先后顺序执行的。
2、选择结构
选择结构表示程序的处理步骤出现了分支,它需要根据某一特定的条件选择其中的一个分支执行。
3、循环结构
循环结构表示程序反复执行某个或某些操作,直到某条件为假(或为真)时才可终止循环。
(1)java.lang.NullPointerException 【空指针异常】
(2)java.lang.ClassNotFoundException 【类找不到异常】
(3)java.lang.NumberFormatException 【数字格式化异常】
(4)java.lang.IndexOutOfBoundsException 【数组索引越界异常】
(6)java.lang.ClassCastException 【类型转换异常】
(1)break:
常用于循环中,含义:结束循环,跳出循环体
其他应用场景:switch语句中,结束语句。
(2)continue:
跳出本次循环,进行下一次循环;(注意:如果,循环进行到最后一次,continue执行,结束本次循环, 继续进行循环逻辑判断结束循环。循环结束与continue无关)
while结构在循环的开始判断下一次循环是否应该继续。
do/while结构在循环的结尾来判断是否将继续下一次循环。do结构至少会执行一次循环体。
1.int是Java的基本数据类型之一,Integer是Java为int提供的包装类;
2.int的初始化值为0,而Integer的初始化值为null。
自动装箱就是将基本数据类型自动的转换为对应的对象包装类型;
拆箱就是将对象包装类型转换为基本数据类型。
自动类型强转 范围小的数据类型自动转为为范围大的数据类型
强制类型转换,范围大的数据类型需要强制转换为范围小的数据类型
数据类型[][] 数组名= new 数据类型[长度][长度];
数据类型[][] 数组名= {
{元素1,元素2,…,元素N },
{元素1,元素2,…,元素N }
};
方法重载: 发生在同一个类中,方法名必须相同,参数列表不同(参数类型不同、个数不同、顺序不同),方法返回值和访问修饰符可以不同,发生在编译时。
1. 数组的长度是固定的,ArrayList的长度可以变化
2. 数组初始化必须指定长度,ArrayList初始化不需要指定长度。
3. 数组的元素可以是基本类型和引用数据类型,ArrayList的元素只能是引用数据类型。
1、List中的元素,有序、可重复、可为空;
2、Set中的元素,无序、不重复、只有一个空元素;
3、Map中的元素,无序、键不重,值可重、可一个空键、多个空值;
break和continue都是用来控制循环的语句、
break:1.用于switch语句中,从中途退出switch语句。 2.用于循环语句中,从循环体内直接退出当前循环
continue用户跳过本次循环,执行下次循环
面向对象是一种编程思想。面向对象把现实生活中的事物抽象成类,事物的行为抽象成方法,事物的信息封装成属性。对象是指具体的某个事物,对象通过类创建出来的,完成某项功能则通过调用对象的方法。
多态是父类或接口定义的引用变量指向子类或具体实现类的实例对象。
前提:实现或继承关系;覆写父类方法。
好处:提高了程序的扩展性。
final关键字可以修饰 类,成员方法,成员变量
final修饰的类 无法被继承。
final修饰的方法 无法被重写。
final修饰的变量 无法被二次赋值。
面向对象具有三大特性,分别是:封装、继承、多态
封装:是指隐藏内部实现的细节,仅对外提供公共访问方式。
继承:子类继承父类就拥有了父类所有的成员变量和成员方法。
多态:父类引用,指向子类对象。
抽象类:
接口:
子类根据自己的需求重新定义父类继承过来的方法叫做方法重写。
方法重写有以下几个注意实现:
public 公共的 任意位置都可以访问
protected 受保护的,本类、子类和同一个包 可以访问
缺省 ,本类和同一个包 可以访问
private 私有的,本类中可以访问
静态变量是被static修饰的变量,也称为类变量,它属于类,不属于类的任何一个对象,一个类不管创建多少个对象,静态变量在内存中有且仅有一个拷贝。静态变量可以实现让多个对象共享内存。
普通成员变量必须依存于某一个对象,需要先创建对象然后通过对象才能访问到它
1、HashMap是非线程安全的,HashTable是线程安全的。
2、HashMap的键和值都允许有null值存在,而HashTable则不行。
3、HashMap效率比HashTable的要高。