数据类型
强类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
弱类型语言
Java的数据类型分为两大类
基本类型 primitive type
- 数值类型
- 整数类型
- byte占1个字节范围:-128 ~ 127
- short占2个字节范围:-32768 ~ 32767
- int占4个字节范围:-2147483648 ~ 2147483647
- long占8个字节范围:-9223372036854775808 ~ 9223372036854775807
- 浮点类型
- float占4个字节
- double占8个字节
- 字符类型char占两个字节
- 整数类型
- boolean类型:占1位其值只有true和false两种
public class Demo02 {
public static void main(String[] args) {
//八大基本数据类型
//整数
int num1=10; //int最常用
int num2=20;
short num3=30;
long num4=30L; //long类型要在数字后面加个L,以区分
//小数:浮点类型
float num5=50.1F; //float类型要在数字后面加个F,以区分
double num6=3.1415926;
//字符,区分以下
//char name="中国";(错误范例)
char name3 ='中';
char name2 ='a';
//字符串,String不是关键字,是类
//String name3="邓士豪“;
//布尔值,boolean:是否
boolean flag1 =true;
boolean flag2 = false;
}
}
public class Demo03 {
public static void main(String[] args) {
// 整数拓展 进制 二进制(0b开头) 十进制 八进制(0) 十六进制(0x)
int i=10;
int i2=010; //八进制0
int i3=0x10; //十六进制0x
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("===================================================");
//============================================================================
//浮点数扩拓展? 面试真题:银行业务如何表示?钱
//BigDecimal 数学工具类
//============================================================================
//float 离散的,具有舍入误差,无限接近但不等于
//double
//最好完全避免使用浮点数进行比较
float f=0.1f; //0.1
double d=1.0/10; //0.1
System.out.println(f==d); //运行结果为false
System.out.println(f);
System.out.println(d);
float d1=2333333333333333333333333333f;
float d2=d1+1;
System.out.println(d1==d2);//true
//====================================
//字符拓展
//=========================
char q1='士';
char q2='豪';
System.out.println(q1);
System.out.println((int)q1);//强制转换类型
System.out.println(q2);
System.out.println((int)q2);//强制转换类型
//所有字符本质都是数字
//编码问题 Unicode (编码表:97=a 65=A) 占2字节 可表示0~65536六个字符(Excel里最多可表示2^16=65536)
//U0000 UFFFF
char q3='\u0061';
System.out.println(q3); //输出结果为a
//转义字符
//(\t)制表符
//(\n)换行
//还有很多
System.out.println("hello\tworld");
System.out.println("hello\nworld");
System.out.println("===================================================");
String sa="hello world";
String sb="hello world";
System.out.println(sa==sb); //true
String sc=new String("hello world");
String sd=new String("hello world");
System.out.println(sc==sd); //false
//对象,从内存地址分析
//布尔值扩展
boolean flag=true;
if (flag == true) {} //新手操作
if (flag) {} //二者作用一样
}
}
引用类型 reference type
- 类
- 接口
- 数组
字节
位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数
字节(byte):计算机中数据处理的基本单位,习惯上用B表示
1B(byte,字节)=8bit(位)
字符:是指计算机中使用的字母、数字、字和符号
1bit表示1位
1Byte表示1个字节,1B=8b
1024B=1KB,1024KB=1M,1024M=1G
变量
变量:就是可以变化的量
Java是一种强类型语言,每个变量都必须声明其类型
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域