1、变量的分类
1.1、第一种分类
long a=34546789L;//通常赋值给long型时,后面要加l或者L
float b=1.25f;//float取值范围其实比long要大
char c='\n';//是可以存放转义字符的,而且\0也可以放,所以经常用char[]数组存放字符串
char d='\u0043';//也可以是unicode表示
着重说一下string类型数据
1、String类型属于引用数据类型(解释一下,引用数据类型的意思,就是直接在变量对应的地址上面折腾,并不是只针对数据来说了,后面会有讲)
2、String开头是大写,Java严格区分大小写,所以这里不要写错
3、String可以和8种数据类型变量做运算,且运算只能是+运算,和String做运算的数据自动转换成String数据类型
1.2、第二种分类
上面一种分类方式就不多说了,注意字符串其实是类就好,下面这个概念对没有接触过面向对象语言的童靴可能会有些懵逼,所以这里说明一下。
有过C语言基础的童靴知道有个东西叫做函数,方法体就是函数,没有学过也没关系,方法体可以理解成我不想在解决同一个问题写重复的代码,所以将重复代码提出来,形成一个只需要参数和函数名的简短代码,这就是函数和方法体的作用。
public class test{
private int n=0;//成员变量——实例变量
static int cnt=0;//成员变量——类变量
public int fun(int x){//局部变量——形参
int i=0;//局部变量——方法局部变量
return i+x;
}
{
int m=2; //局部变量——代码块局部变量
n=m;
cnt++;
}
public static void main(String[] args){
System.out.println("n"+n+"cnt"+cnt+fun(1));
}
}
简单说一下几个变量的特点
1、成员变量是跟着类的实例化对象走的,创建一个,新建一个。
2、类变量是跟着类走的,简单来说就是所有对象用的都是这一个类变量。
3、形参是定义方法体用的一个模板,不一定int x,就一定要用x这个变量名,可以用y,只要是同数据类型就好。
4、方法局部变量是跟着方法走的,一个对象一个方法,那么这个方法就只有这一个变量,方法用完了这个数据就销毁了,对象再次调用这个方法的时候变量再初始化一次。
5、代码块局部变量,因为类当中除了成员变量和成员方法之外不能再有其他的代码出现,所以如果想操作一手,那么就使用代码块就好了,与方法局部变量理解一样。
2、自动类型提升和强制转换
- 自动类型提升
byte\char\short–>int–>long–>float–>double
特别注意的是:
1、byte、char、short进行计算的时候转换成int类型
2、long在没有加上l的情况下会被认为是int类型。
3、在自动类型转换上,大容量不能向小容量进行转换,float a = 123.5;//会报错,因为在float不加f的情况下默认是double类型,而不能向小容量转换。
- 强制类型转换
int a=128;
byte b=(byte)a;//-128注意复习一下计组的知识,这里有上溢出的知识点