一、初始变量

初始变量就是对变量进行第一次赋值,运行代码以最终的赋值结果进行输出。

public classdatatype {public static voidmain(String[] args) {int a =1; //声明初始变量
a =2;
System.out.println(a);int b =1; //声明初始变量
int c =10;
b=c;
System.out.println(b);
}
}

输出结果为:

java 变量重新赋值前是否要设置为null java变量赋初值_赋值

二、自动类型转换(隐式转换)

短的类型可以赋值给长的类型,反过来则会编译异常。

java 变量重新赋值前是否要设置为null java变量赋初值_赋值_02

public classdatatype {public static voidmain(String[] args) {byte c = 10;int d =c;
System.out.println(d);
}
}

运行结果:

java 变量重新赋值前是否要设置为null java变量赋初值_java变量自动转化_03

当然也有强制转换,但是有丢失精度和溢出的风险:

java 变量重新赋值前是否要设置为null java变量赋初值_字符串_04

三、有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。

java 变量重新赋值前是否要设置为null java变量赋初值_字符串_05

四、byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。

char 会按照ASICC码的值进行计算。

java 变量重新赋值前是否要设置为null java变量赋初值_字符串_06

五、当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。

java 变量重新赋值前是否要设置为null java变量赋初值_java变量自动转化_07

java 变量重新赋值前是否要设置为null java变量赋初值_字符串_08

六、boolean 不能转换为其他类型

总结:

数字类型的运算规则:

1、有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种做据类型,然后再进行计算。数字类型的从小到大分别是byte、short、int、long、float、double。

2、数字类型的运算中,多个相同类型变量参与的运算,变量要先转换为相对应的数据类型的默认类型(比如两个byte类型的变量相加,会先把两个byte类型的变量转换成默认的int类型之后再计算,得到的结果是int类型)。

3、byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。

练习题:

String str1 = 4; //判断对错:错 需要加上双引号
String str2 = 3.5f + “”; //判断str2对错:对 这里的f是只浮点型float
System.out.println(str2); //输出:3.5
System.out .println(3+4+“Hello!”); //输出:7Hello!   说明java是按照数学的从左往右的运算方式
System.out.println(“Hello!”+3+4); //输出:Hello!34
System.out.println(‘a’+1+“Hello!”); //输出:98Hello!
System.out.println(“Hello!”+‘a’+1); //输出:Hello!a1

ASCII码:上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码。ASCII码一共规定了128个字符的编码,比如空格“SPACE"是32(二进制00100000),大写的字母A是65(二进制01000001