定义变量的注意事项: 1、作用域 变量在同一个大括号内有效,出了大括号外无效。 2、相同的作用域中不能定义两个同名变量。 3、没有初始化值不能直接使用,在使用之前赋值即可 定义变量的格式: 1、数据类型 变量名 = 初始化值;(推荐使用第一种,今后很有可能你忘了赋值) 2、数据类型 变量名; 变量名 = 初始化值; 4、不建议在一行上定义多个变量,强制定义一个变量为一行。
1、" + " 一般情况下,做加法运算。 2、 boolean类型的变量不能赋值给其他数据类型 3、默认转换 byte,short,char—int—long—float—double byte,short,char相互之间补转换,他们参与运算首先转换为int类型 4、强制类型转换的格式: 目标数据类型 目标变量名 = (目标数据类型)要进行赋值变量 不建议大量使用强制类型转换,因为可能会损失精度。 例
public class DataTypeDemo3 { public static void main(String[] args) { // int a = 10; // int b = 20; // int c = a + b; // System.out.println(c); // // boolean flag = true; // a = flag; byte b = 3; int a = 4;
byte b1=3,b2=4,b; b=b1+b2; b=3+4; //自动类型转换 // a = b; // b = a; // int i = 10; // long l = i; //强制类型转换 // byte b1 = a; byte b1 = (byte) a; System.out.println(a); } }
例题
byte b1=3,b2=4,b; b=b1+b2; b=3+4; 哪句是编译失败的呢?为什么呢? 变量相加和常量相加不一样: 1、变量相加首先会提升数据类型,然后再相加赋值,如果接收的数据类型范围小于计算结果后的数据类型范围,报错,不能赋值 2、常量相加,会先进行计算,计算完后看看在不在接收的数据类型范围内,如果在,直接赋值,如果不在,报错。