Java成长之路【第一篇】 变量与数据类型
目录
一.变量
-
概念:变量相当于内存中一个数据存储空间的表示,简单比喻,可以把一个房间的门牌号看作变量,通过门牌号可以找到房间,而通过变量名可以访问到变量(值)
-
变量使用的基本步骤
-
声明变量
int a;
-
赋值
a=90;
-
也可以一步到位
int a=90;
-
-
变量使用入门案例
public class Demo{ public static void main(String[] args){ //1.定义变量 int age = 20; double score = 88.6; char gender = '男'; String name = "Jack"; } }
二.数据类型
1.综述
Java数据类型一般分为基本数据类型和引用数据类型两种,基本数据类型包括数值型、字符型(char)和布尔型(boolean);引用数据类型包括类(class)、接口(interface)、数组([ ]).具体如下:
2.基本数据类型详解
(1)整数类型
Java的整数类型就是用于存放整数值的,比如2,4等
-
byte: 1个字节,8bit,存储范围为 -128~127
-
short: 2个字节,16bit,存储范围为-32768~32767
-
int: 4个字节,32bit,整数类型默认是int类型,取值范围约21亿.
-
long: 8个字节,64bit,long类型表示long类型常量,要加L或者l,建议加L
public class Demo{
public static void main(String[] args){
//1.定义变量
byte a = 10;
short b = 128;
int c = 4;
long d = 6L;
}
}
(2)浮点数类型
Java的浮点数类型就是存放浮点数的,例如8.64等
-
float: 4个字节,32bit,单精度,能精确到小数点后6-7位,声明一个小数类型,要加F或f,建议加F
-
double: 8个字节, 64bit ,双精度,能精确到小数点后15~16位,浮点数默认double类型
public class Demo{
public static void main(String[] args){
float a = 6.1F;
double b = 6.1;
}
}
-
注意: 浮点数使用陷阱: 2.7与8.1 / 3
public class Demo {
public static void main(String[] args) {
//1.定义浮点型
double num1 = 2.7;
double num2 = 8.1 / 3;
System.out.println(num1);//2.7
System.out.println(num2);//2.6999999999999997
//所以在使用运算结果产生的小数做出判断的时候,一定要使用绝对值判断
if(Math.abs(num1-num2)<0.00001){
System.out.println("应该使用绝对值判断,不能直接判断是否相等");
}
}
}
(3)字符类型
-
字符型存储到计算机中,需要将字符对应的码值(整数)找出来,比如 'a' ,存储: 'a' ==>码值 97 ==>二进制 ==>存储,反过来读取则是
二进制 ==> 97 ==> 'a' ==>显示
-
字符和码值的对应关系是规定好的,以下是一些常见编码
-
ASCII码: 一个字节表示,一共表示128个字符
-
Unicode: 固定大小的编码,使用两个字节表示字符,字符和汉字统一,缺点是会造成一定的空间浪费
-
UTF-8: 大小可变的编码,使用三个字节表示汉字,使用一个字节表示字符
-
gbk: 可以表示汉字,且范围更广
-
big5: 繁体中文
-
-
字符类型使用细节
-
字符常量是使用( ' ')括起来的单个字符
-
Java中还允许使用转义字符'\'来将其后的字符转变为特殊字符常量,如 char a = '\n';
-
Java中,char本质是一个整数,在输出时,是Unicode码对应的字符
-
可以直接赋给char一个整数,然后输出的时候,会按照对应unicode字符输出
-
public class Demo{
public static void main(String[] args){
//1.定义字符型
char a = 'a';
char b = '\t';
char c = '赵';
char d =97;//说明:字符类型可以直接存放一个数字
}
}
(4)布尔类型
-
布尔类型即boolean类型,boolean类型数据只允许取值true和false,不能取值null
-
boolean类型占1个字节
-
boolean类型适合逻辑运算,一般用于程序流程控制
public class Demo{ public static void main(String[] args) { boolean isPass = true;//定义布尔类型变量 if ( isPass ){ System.out.println("考试通过"); }else{ System.out.println("考试不通过"); } } }
-
注意:Java中不允许使用0或非0代表false或true
3.引用数据类型(略讲)
在Java中,引用数据类型是指那些不直接存储数据值,而是存储对数据值的引用的数据类型。Java中的引用数据类型包括对象、数组和接口
(1)类(class)
类(class):类:具有相同属性和方法的多个对象的集合。
(2)接口(interface)
接口(Interface):接口是一种引用数据类型,它定义了一组方法的规范,没有具体的实现。类实现接口时,必须实现接口中定义的所有方法。接口可以用来实现多态性和解耦。 这些引用数据类型在Java中用于存储和处理复杂的数据结构,使得开发人员可以更灵活地操作数据。
(3)数组([])
数组(Array):数组也是一种引用数据类型,它可以存储相同类型的多个数据值。数组的长度是固定的,一旦创建后,长度就不可改变。通过索引可以访问数组中的元素。