变量
-
局部变量
-
类变量(静态变量)
-
成员变量(非静态变量)
数据类型
强类型语言,要求变量的使用严格符合规定,所有变量都必须先定义后才能使用
八大基本数据类型(primitive type)
//整数
int num1=10;//最常用-2147483648——2147483647 占四个字节
byte num2=20;//-128——127 占一个字节
short num3=30; //占两个字节
long num4=30l;//long类型要在数字后面加个L 占八个字节
//小数:浮点数
float num5=50.1f;//float类型要在数字后面加个F 占四个字节
double num6=3.141592653589793238462643; //占八个字节
//字符
char namee='a';//char为字符 占两个字节 仅可有一个字符(如‘张’正确 ‘张张’错误)
//字符串 **String不是关键字,而是一个类**
String namea="张张"
//布尔值 仅有true false两个值 代表是非 占一位
boolean flag=true;
boolean flag=false;
引用类型(reference type)
String
类 接口 数组
拓展
整数拓展(进制)
int i1=10;
int i2=010;//八进制0 010=8
int i3=0x10;//十六进制0x 0-9 A-F 0x10=16
浮点数拓展
有限 离散 舍入误差 大约 接近但不等于
最好完全避免使用浮点数进行比较
BigDecimal //数学工具类 用其进行银行业务的办理
字符拓展
强制转换
char c1='a';
char c2-'张';
System.out.println((int)c1);//强制转换
//所有字符本质还是数字
编码 Unicode 表 2字节 0-65536 Excel 2 16=65536
U0000 UFFFF
char c3='\u0061'; // \u代表转义
System.out.println(c3);
//输出a
转义字符
\t 制表符
\n 换行
布尔值拓展
boolean flag=true;
if (flag==true){}
if (flag){}
//less is more 代码要精简易读
类型转换
强制转换
从高到低
(类型)+变量名
public static void main(String[] args) {
int i=128;
byte b=(byte)i; //内存溢出
System.out.println(i);
System.out.println(b);
}
自动转换
低到高
public static void main(String[] args) {
int i=128;
double b=i;
System.out.println(i);
System.out.println(b);
}
注意
1.不能对布尔值进行转换
2.不能把对象类型转化为不相干的类型 3.把高容量转化为低容量时强制转换,反之自动转换, 4.转换的时候可能存在内存溢出或精度问题 5.操作比较大的数时,注意溢出问题
变量
变量
1.Java变量是程序中最基本的储存单元,其要素包括变量名,变量类型和作用域 2.变量名为合法标识符 3.变零声明为一条完整语句,每个声明均以分号结束
变量的作用域
static int allClicks=0; //类变量
String str="hello world"; //实例变量
public void method(){
int i=0; //局部变量
}
类变量
加关键词 static (静态的)
实例变量
在类里面,从属于对象,如果不自行初始化,则输出这个类型的默认值 0 0.0 u000 布尔值默认false
除了基本类型,其它默认值均为null
Z z=new Z();//Z为类名
//变量类型 变量名字=new Z()
局部变量
位于方法里,必须声明和初始化值
常量
constant 理解为一种特殊的变量,其值被设定后,在程序运行过程中不允许被改变
关键字 final 常量名一般用大写字符
//final 常量名=值;
final double PI=3.14;
//修饰符,不存在先后顺序
static final double PI=3.14;
//等同于
final static double PI=3.14;