计算机用来存储变量可变数据的内存空间。
eg: int b1 = 88; System.out.println("b1");//输出字符串:b1 System.out.println(b1);//输出:88
①变量命名规则
以字母、下划线、$开始,可以包含数字,但不能含有特殊符号,也不能使用 Java 关键字
②变量命名规范
驼峰命名法:首字母小写,如果有多个单词组成,从第二个单词开始首字母大写。 如:startGame
使用变量应注意:
①赋值时不能超过数据类型所能表示的范围;
②如果定义long类型的数据,需要在后面加L或l,float类型加F或f。
二、变量的数据类型(1)基本数据类型(8种)
③字符型:char 16位(2字节) 0-65535
用单引号包含的可打印的单个字符:'A' , 'B' , '我' 等
④布尔类型:boolean 只有两个值 true和false
用单引号包含的可打印的单个字符:'A' , 'B' , '我' 等
注:基本数据类型的最值和位数都是用引用数据类型计算的。
(2)引用数据类型(2种)
Java 中 jdk 封装的类,以及自定义的 java 类,都属于引用数据类型。
每一种基本数据类型都对应有引用数据类型(称为基本数据类型的包装类)。
注:这些引用数据类型封装了对基本数据类型进行 *** 作的方法和数据。比如:求基本数据类型的最大值、最小值以及位数都可以使用对应的引用·数据类型来进行获取。
public class Demo02 { public static void main(String[] args) { //求基本数据类型byte、short、int、long、char的最值以及位数 System.out.println("byte的最大值:"+Byte.MAX_VALUE); System.out.println("byte的最小值:"+Byte.MIN_VALUE); System.out.println("byte的位数:"+Byte.SIZE); //short、int、long与byte的求法类似 System.out.println("char的最大值:"+(int)Character.MAX_VALUE); System.out.println("char的最小值:"+(int)Character.MIN_VALUE); System.out.println("char的位数:"+Character.SIZE); } }
运行结果:
三、变量的类型转换
(1)自动类型转换(隐式类型转换) 小——>大
byte b = 125 ;
int i = b ; // byte类型的b会自动转化为int类型
(2)强制类型转换(显式类型转换) 大——>小 慎用
int i = 125 ;
byte b = (byte) i ; // int类型的 i 会强制转化为byte类型
经典面试题:
public class Demo01 { public static void main(String[] args) { // 强制类型转换 int i1 = 130; byte b1 =(byte) i1; System.out.println(b1); int i2 = -130; byte b2 =(byte) i2; System.out.println(b2); short s = 1; //对于byte、short、char类型而言,当发生运算时,运算结果会被隐式转换成int类型 // short s1 = s + s;//报错 //可改为 // short s1 = (short) (s+s); //或改为 int s1 = s +s; //s += 1 <==> 等价于s = (s的类型)(s+1); s += 1;//等价于s = (short)(s+s); System.out.println(s); } }
运行结果:
又如:
int a = 500; byte b = (byte) a; System.out.println(b);
答案为:-12
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)