*********************************成员变量*****************************
定义在类体内,方法体外的变量.....
public class Hello{
//一.成员变量
//1.静态变量
//static int a = 10;
//2.实例变量(非静态变量)
int b = 20;
public static void main(String[] args){
}
}
分类:
1. 静态变量
使用static修饰的成员变量叫做静态变量
2. 非静态变量(实例变量)
****************************静态代码块不能够访问非静态成员**********************
使用static来修饰的代码块叫做静态代码块
演示代码:
/**
作者: zhangzy<br>
公司: 蓝桥软件学院<br>
时间: 2017-06-21 下午
功能: 演示成员变量
*/
public class TestChengYuan{
//1.静态变量(类变量)
//static int a = 10;
//2.非静态变量(实例变量)
int b = 20;
public static void main(String[] args){
System.out.println(b);//编译报错 无法从静态上下文中 引用非静态的变量b
}
}
****************************同名的局部变量对成员变量的隐藏**********************
演示代码:
/**
作者: zhangzy<br>
公司: 蓝桥软件学院<br>
时间: 2017-06-21 下午
功能: 演示同名局部变量对成员变量的隐藏
*/
public class TestYinCang{
static int a = 10;
public static void main(String[] args){
int a = 20;
System.out.println(a);
}
}
*********************************变量按数据类型分*****************************
一.基本类型
二.引用类型
****************************************基本类型*****************************
2大类4小类8种
2大类: boolean 和 数值类型
4小类: boolean 和 整型、实型(浮点型)、字符型
8种
boolean
char
int long float double
byte short
1 2 4 8 4 8字节
****************************************boolean 布尔类型*****************************
只能用 true 和 false 来表示, 不能使用数值表示,例如0或1
true 真
false 假
c语言 0 false 非0的整数 真
****************************************char 字符型***********************************
1. 定义字符型变量 使用 ''
char c = 'a';
2. 面试题
***java中的char型 可以表示中文吗????
可以. java采用的是unicode编码, unicode编码 每个char类型占两个字节,2的16次方,65536种可能,
可以表示丰富的国际化文字..
3. 中文和英文都只能存一个
unicode编码 不管是表示中文还是英文都是使用2个字节来表示
4. char 类型的实质 是数值型
5. 转义字符
\n newLine 换行
\t tab 制表符
\r return 回车
演示代码:
/**
作者: zhangzy<br>
公司: 蓝桥软件学院<br>
时间: 2017-06-21 下午
功能: 演示转义字符
*/
public class TestZhuanYi{
public static void main(String[] args){
System.out.print("111");
System.out.print("\n");//\n 换行 \t tab 缩进 \r return 回车
System.out.print("222");
}
}
*********************************整型*****************************
int long
byte short
定义整型的时候, 右值默认是int类型
1. int
int a = 10;
2.long类型的定义
(1) 如果没有超过int的表数范围(-2的31次方 --------2的31次方-1 )可以加L也可以不加
long a = 10L;
或
long a = 10;
********************************宽转换************************************
long a = 10;//宽转换
boolean
char
int long float double
byte short
---------------------------------------------------------->宽转换
<----------------------------------------------------------窄转换
宽转换: 表数范围小的 赋值给表数范围大的叫做宽转换
特点: 安全的 自动的 不需要强制类型转换 就像把小瓶的可乐 倒进大桶的可乐里面 不会发生溢出问题
00010010 00010010 00010010 00010010
00000000 00000000 00000000 00000000 00010010 00010010 00010010 00010010
= 的实质是二进制位的拷贝 long a = 10;// 相当于把int类型的32位拷贝到long类型的低32中 肯定是没问题的
窄转换: 把表数范围大的 赋值给表数范围小的叫做窄转换...
特点: 不安全 不是自动的 可能会发生精度丢失 需要进行强制类型转换
long a = 10;
int b = a;//窄转换
窄转换的两种可能
(1) long类型数值不是很大 可以放到类型中
(2) 转换真正溢出的时候
********************************可以直接给byte short char赋值***********************************
short a = 10;// short<------int
********************************浮点类型***********************************
float 单精度
double 双精度
默认右值是 double类型
1. double类型
double d = 3.14;
2. float 类型
float f = 3.14;
****************************************引用类型***********************************
除了8种基本类型以外,其他的都属于引用类型
类、字符串、数组...
******************************************运算符*****************************
一.算数运算符
+ - * / % ++ --
++a 和a++的区别?
++a 先加后使用
a++ 先使用后加
二.关系运算符
> < >= <=
判断左右两边数值是否相等 ==
!= 不相等
= 赋值运算符
三.逻辑运算符
与 &&
或 ||
非 !
^ 异或 相同得0 不同得1
四.赋值运算符
=
五.字符串连接运算符
1.+ 表示算数加
2.+ 字符串连接
六.三目运算符
变量 = 表达式1 ? 表达式2:表达式3
表达式1的值 如果是true 整个结果 使用表达式2的值
如果表达式1 的值 是false 最终 返回 表达式3的值
******************************面试题 && 和 & 有什么区别??????******************************
&& 逻辑与 短路与 false 短路
表达式1&&表达式2 只要表达式1的结果是false 表达式2就不求了 这种运算叫做 短路运算
|| 逻辑或 短路或 true 短路
& 按位& 位运算 10&8 没有短路运算
*****************************************表达式******************************************
运算符 加上 操作数 组成的字符序列叫做表达式
10 + 20 算数表达式 int
a&&b 逻辑表达式 boolean
表达式的类型
******************************************数据类型和运算符回顾****************************
重点:
掌握变量的分类
一.按声明的位置分
1. 成员变量
(1) 静态变量
(2) 实例变量
2. 局部变量
(1)方法的形参 整个方法体
(2)方法体内的局部变量 声明的位置开始到方法体的结束
(3) 代码块中的局部变量 声明的位置开始到 代码块的结束
二.按照数据类型分
1. 基本类型
2大类4小类8种
2. 引用类型
除了这8种以外都叫引用类型