Java数据类型
java数据类型分为两大类
1. **基本类型(primitive type)**
2. **引用类型(reference type)**
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pPwO9gBr-1601982436340)(C:\Users\dd\Pictures\Camera Roll\QQ图片20201004204039.png)]
八大基本数据类型
//整数
- int num=10;
- byte num2=20;
- short num3=30;
- long num4=30L;//long类型在数字后面加个L
//小数;浮点数
- float num5=50.1F;//float类型要在数字后面加个F
- double num6=3.1015926;
//字符
- char name=‘A’;
//字符串,String不是关键字,类
- String namea=“是安徽”;
//布尔值;是非
- boolean flag=true;
引用类型
- 类
- 接口
- 数组
字节
1B(byte,字节)=8bit(位)
1bit表示一位
1byte表示一个字节1B=8b。
1024B=1KB
1024KB=1M
1024M=1G
1024G=1TB
进制问题
- 整数问题
//进制: 二进制:0b ,十进制:正常的数 ,八进制:0,十六进制:0x 0~9 A~F;
- 浮点数拓展
//银行业务 BigDecimal 数学工具类
//float 有限 离散 舍入误差 大约 接近不等于
//double
//最好少使用浮点数进行比较!
float f=0.1f;
double d=1.0/10;
System.out.println(f) //0.1
System.out.println(d) //0.1
System.out.println(f==d)//结果false
//因为float是浮点类型的,离散的 会舍入误差,接近不等于该值
- 字符拓展
char c1='a';
char c2='中';
System.out.println(c1) //a
System.out.println(int)(c1)//强制转换 97
System.out.println(c2) //中
System.out.println(int)(c2)//强制转换 //20013
//所有的字符本质还是数字,强制转换可以转换字符成数字
//====================================
//编码 Unicode (97=a 65=A)两字节 0-65536 2**16=65536
//Unicode使用
//编码格式 U0000-Uffff
char c3=‘\u0061';//输出结果为a
- 常用转义字符
// \t 指标符 (相当于tab 中间有空格)
// \n 换行
// \“ 双引号
// \r 回车
// \\ 反斜杠
// \' 单引号
类型转算
由于java是强类型语言,所以要进行有些运算的时候你要用到类型转换
低------------------------------------------高
byte,short,char->int->long->float->double
//运算中,不同类型的数据先转化为同意类型,然后进行运算
int i=128;
byte b= (byte)i;//内存溢出,因为范围是-127-127
//强制转换:(类型)高---低 前面加()
//自动转换 低---高
/*
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的时候
3.在把高容量转换到低容量的时候,强制转换,否则不用
4转换的时候可能存在内存溢出,或者精度问题
*/
//JDK7的特性,数字之间可以用下划线分割
int money=10_0000_0000;
变量
java是一种强类型语言,每个变量都必须声明其类型,
java变量是程序中最基本的储存单元,其要素包括变量名,变量类型和作用域
type varName [=value] [{,varName[=value]}];
//数据类型 变量名=值;可以使用逗号隔开来声明多个同类型变量。
//局部变量 :只在两个大括号里面有用,必须声明和初始化值
/**
两个都用到外面
//实例对象 :从属于对象,更高级 如果不自行初始化,这个类型的默认值 0 0.0 null 布尔值 false
//类变量 static
*/
public class Demo{
//类变量 static
static double salary=2500;
//实例对象 如果不自行初始化,这个类型的默认值 0 0.0 null 布尔值 false,其余的默认值都是null;
String name;
int age;
//main方法
public static void main(String[] args){
//局部变量 :必须声明和初始化值
int i=10;
System.out.prinln(i);
//实例对象
//变量类型 变量名字=new 变量类型();
Demo demo =new Demo();
System.out.prinln(demo.name);
System.out.prinln(demo.age);
//类变量 static
System.out.prinln(salary);
}
}
常量
public class Demo{
//修饰符,不存在先后顺序 静态常量
static final double PI=3.14 //final static double PI=3.14
//main方法
public static void main(String[] args){
System.out.prinln(PI);
}
}
变量的命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则: run(),runRun()