变量相当于内存中一个数据存储空间的表示,通过变量名我们可以访问到变量值.
变量必须先声明再使用,变量三要素:数据类型 变量名 变量值
变量在同一个作用于下不能重名
程序中"+"的使用:左右两边都是数值型时做加法运算。当有一边时字符串时做拼接运算
数据类型
不同的数据类型在内存中分配了不同大小的内存空间(以字节为单位),Java数据类型包含基本数据类型和引用数据类型
基本数据类型:
- 整数型(byte[1],short[2],int[4],long[8],存放整数)
- 浮点型(float[4],double[8],存放小数)
- 字符型(char[2],存放单个字符)
- 布尔型(boolean[1],存放true/false)
浮点数在机器中的存放形式为符号位+指数位+尾数位
引用数据类型: - 类(class)
- 接口(Interface)
- 数组([])
自动类型转换
java程序进行赋值或运算时精度小的类型自动转换为精度大的数据类型,表达式结果的类型自动提升为操作数中最大的类型,
boolean不参与转换
在Java中,char可自动转换为int,因为char类型实际上是一个16位的Unicode字符
int a='c';
systemout.println(a);
//结果为99,99是'c'对应的Unicode编码值,即ASCII值
byte、short、char三者可以计算,参与计算时首先转换为int类型(不论单独出现还是混合出现)
(byte,short)和char之间不会自动转换
byte a1=2;
byte a2=1;
byte a3 =a2 + a1 ; //报错,a2+a1为int型
int a4=a1+a2; //正确,输出int型2
char b=a1 ;//报错,byte不能自动转换为char
强制类型转换
将容量大的数据类型转换为容量小的数据类型,使用时要加上强制转换符(),但可能会造成精度降低或数据溢出
int na=(int) 1.9; //浮点数转换为int
system.out.println(na) ; // 造成损失 1
byte b=(byte)2000; //int 转换为byte
system.out.println(b); //数据溢出 -48
基本数据类型和String类的转换
//基本数据类型转为字符串String类型
int a=101;
String sa=a+"";
//将String类转换为基本数据类型
String s="123";
int numInt=Integer.parseInt(s);
String s="123";
int numFloat=Float.parseFloat(s);
//将String转为char是指取出字符串中的第*个字符
System.out.println(s.charAt[0]) // '1'
System.out.println(s.charAt[1]) // '2'
System.out.println(s.charAt[2]) // '3'