java对象和类
对象:对象是类的一个实例,有状态和行为
类:类是一个模板,描述类对象的行为和状态
类可以看成是创建java对象的模板
public class Dog{
String breed;
int age;
String color;
void barkin(){
}
void hungry(){
}
void sleeping(){
}
}
一个类可以包含以下类型变量:
局部变量:在方法,构造方法或者语句块中定义的变量被称为局部变量
成员变量:成员变量定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法,构造方法和特定类的语句块访问
类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。
构造方法:每个类都必须要有构造方法,若没有显示的构造方法 java编译器将会为该类提供一个默认的构造方法。
创建对象:
声明–>实例化–>初始化
java基本数据类型
-
内置数据类型
java语言提供了八种基本数据类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型
byte (-128-127) default 0
short(2^15 - 2^15-1 default 0
int -2^31 2^31-1 default 0
long -2^63 2^63-1 default 0L
float
double
boolean
char -
引用数据类型
引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型
对象,数组都是引用数据类型
所有应用类型的默认值都是null
一个引用变量可以用来应用任何与之兼容的类型 -
java常量
常量在程序运行时时不能被修改的
在java中使用final关键字来修饰常量,声明方式和变量类似
final double pi=3.1415927
虽然常量名也可以使用小写,通常使用大写字母表示常量
自动类型转换低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
-
java局部变量
局部变量声明在方法,构造方法或者语句块中;
局部变量在方法,构造方法,或者语句块被执行的时候创建,当他们执行完成后,变量将会销毁。
访问修饰符不能用于局部变量
局部变量只在声明它的方法,构造方法或者语句块中可见
局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用
- 实例变量
实例变量声明在一个类中,但在方法,构造方法和语句块之外;
当一个对象被实例化之后,每个实例变量的值就跟着确定、
实例变量在对象创建的时候创建,在对象被销毁的时候销毁
实例变量的值应该至少被一个方法,构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息。
Java修饰符
- 访问修饰符
default
private
protected:对同一包内的类和所有子类可见
public - 非访问修饰符
static 用来修饰类方法和类变量
final 用来修饰类,方法和变量,final修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
abstract 修饰符,用来创建抽象类和抽象方法
synchronize和volatile 修饰符 只要用于线程的编程
Java运算符:
- 算术运算符
加法+ 减法- 乘法* 除法/ 取余% 自增++ 自减– - 关系运算符
==检查如果两个操作数的值是否相等,如果相等则条件为真
!=检查如果两个操作数的值是否相等,如果值不相等则条件为真
大于号> 检查左边的操作数是否大于右边的操作数,如果是那么条件为真
小于号< 检查左边的操作数是否小于右边的操作数,如果是那么条件为真
大于等于>=
小于等于<= - 位运算符
& 如果相对应位都是1,则结果为1,否则为0 A&B得到12 即0000 1100
| 如果相对应位都是0 则结果为0,,否则为1
^ 如果相对应位值相同,则结果为0,否则为1
~按位取反运算符翻转操作数的每一位,即0变1,1变0
<< 按位左移运算符,左操作数按位左移右移右操作数指定的位数
按位右移>> 左操作数按位右移右操作数指定的位数
按位右移补零操作符>>> 左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充 - 逻辑运算符
&& 称为逻辑与运算符,当且仅当两个操作数都为真,条件才为真
|| 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真
! 称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true。则逻辑非运算符得到的是false - 赋值运算符
- 其他运算符
条件运算符?:也称三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。
instanceof该运算符用于操作对象实例,检查该对象是否是一个特定的类型(类类型或者接口类型)
使用格式如下:
(Object reference variable) instanceof (class/interface type)
String name="James";
boolean result=name instanceof String;
Java循环结构