数据类型以及变量
数据类型
强类型语言(安全性更高,速度更慢)
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用 ★

此时的i还未初始化,实例化,需要赋值

弱类型语言(安全性更低,速度更快)
Java的数据类型分为两大类
- 基本类型
- 引用类型

什么是字节
-
位(bit):计算机内部数据储存的最小单位,10101010就是一个八位的二进制数。
-
字节(byte):计算机中数据处理的基本单位,用大写B来表示
-
1B(byte,字节)= 8bit(位)
-
字符:是指计算机中使用的字母、数字、字和符号
1bit代表一位,1Byte代表一个字节(1B = 8b)

整数
整数中具有进制关系
-
二进制:一般以0b作为开头,比如0101=5。
-
八进制:一般以0作为开头,比如010=8。
-
十进制:就是我们常用的0~9,逢十进一。
-
十六进制:一般以0x作为开头,比如0x010=16,范围09,AF。

结果:

浮点数
float: 长度有限、离散、具有舍入误差、大约,接近但不等于。
最好完全避免使用浮点数进行比较
浮点数之间具有一定的误差存在
比如
float f = 121212121212f;
float f2 = f+1;
System.out.println(f==f2);
以上这段代码,我们凭借感觉走判断,运行结果一定是false,然而

所以还是上面那句话最好完全避免使用浮点数来进行比较
字符
所有字符的本质都是数字,是进行了转换后的结果
比如:


这里为了能够更直观的看出,我们对输出结果进行了强制转换处理(直接输出是不变的)。
可以看出a和白两个字符都被数字所替代了,并且它们不是随机生成的,反过来还是相对应的字符。
在使用的过程中可以使用查询ASCII码表来查看这些字符代表的数字
布尔值
boolean flag = true;
if (flag == true){}
if(flag){}
以上的两个两个语句中的flag所表示的都是true,后一个默认表示的boolean值为true,两种表示方式都没有问题。
类型转换
在进行运算的过程中,不同的数据类型会先转化为同一类型后再进行计算。
数据优先级大小关系:
低《=======================================》高
byte,short,char => int=>long=>float=>double
强制转换
从高位数据类型转换为低位数据类型时需要进行强制转换。
格式: (转换类型)变量名
比如: int a = 127; byte b = (byte)a 高==>低
这里在程序中如果不进行强制转换的话程序在进行编译时就会报错。
自然转换
从低位数据类型转换到高位数据类型时自动发生
自然转换存在于低位数据向高位数据时,不需要像强制转换一样进行手动操作,系统会自动将其转换。
注意:
- 不能够对布尔值进行转换
- 不能够把对象类型转换为不相干的类型
- 在把高位数据转换为低位数据时需要用到强制转换
- 在转换时可能会遇到内存溢出和精度等问题,在使用过程中需要自己注意。
变量
变量:可以进行变化的量
Java是一种强类型的语言,每一个变量都必须申明其类型。
Java变量是程序中最基本的储存单元,其要素包括变量名,变量类型和做作用域。
基本格式
int a = 10; //数据类型 变量名 = 值;
int a = 10,a1 = 11,a2 = 12; //可以用逗号隔开来同时定义同一类型的变量,尽量不要这样写,最好是一个变量一个分号,保证程序的可读性
注意:
每一个变量都有类型,类型既可以是基本类型,也可以是引用类型。
变量名必须是合法的标识符。
变量声明是一个完整的语句,所以每一个变量声明都必须以分号结束。
没有给定变量初始值时,除了boolean默认为false以及八大基本类型默认为0以外,其余的变量默认初始值都为null。
常量
常量:在初始化后不能再改变(不会变动)的值
常量可以理解为一种特殊的变量,它的值在被设定后,在程序的运行过程中不允许被改变。
格式:
final 变量类型 常量名 = 值;
final double PI = 3.14;
常量名一般都是大写字母,比如此处的PI
变量的命名规范
- 所有的变量、方法和类名都要遵循见名知意的原则(即能够通过变量名一眼看出表达的意思和意义)
- 类成员变量:首字母小写和驼峰原则(keyBoard),即出了第一个单词以外,以后的单词首字母都大写oneTwoThree
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则=> Student、 MaxValue
- 方法名:首字母小写和驼峰原则:run(),runRun()
命名规范都是为了便于阅读

浙公网安备 33010602011771号