003Java基础之变量及数据类型

本文详细讲解了变量在编程中的基础概念,包括变量的构成要素(类型、名称和值)、使用步骤、入门案例,以及注意事项。涵盖了基本数据类型、转换规则和编程中+号的运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

变量是程序的基本组成单位。不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位。
变量有三个基本要素:类型、名称、值

1变量概述

1、变量的概念

变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)

2、变量使用的基本步骤
1、声明变量 int a
2、赋值a=60;//应该这么说:把60赋给a使用

也可以一步到位,声明的同时并赋值:int a = 60;

2、变量快速入门

变量使用入门案例

public class Var01{
//编写一个main方法
public static void main(String[]args){
//记录人的信息
int age=30;
double score=88.9;
char gender='男';
String name="king";
//输出信息
System.out.println("人的信息如下:");
System.out.println(name);
System.out.println(age);
System.out.println(score);
System.out.println(gender);
   }
}

编译并运行
在这里插入图片描述

3、变量使用注意事项

1、变量表示内存中的一个存储区域

不同的变量,类型不同,类型不同,占用空间大小不用,比如int占4个字节,double占8个字节。

2、该区域有自己的名称(变量名)和类型(数据类型)
3、变量必须先声明,后使用
4、该区域的数据/值可以在同一类型的范围内不断变化
5、变量在同一作用域内不能重名
6、变量=类型+变量名+值

4、程序中+号的使用

当+号左右两边的都是数值类型时,作加法运算,当左右两边有一方为字符串时,作拼接运算

5、数据类型

在这里插入图片描述

1、8大基本数据类型
1、数值型
1、整数类型

(1)字节型byte(占1个字节)
(2)短整型short(占2个字节)
(3)整型int(占4个字节)
(4)长整型long(占8个字节)
在这里插入图片描述
整型的使用细节
(1)Java整型类型有固定的范围和字段长度,不受具体操作系统的影响,以保证java程序的可移植性
(2)java的整型常量(具体值,例如100)默认为int型,声明long型常量需在后面加“l”或“L”
(3)java程序中整型常量常声明为int型,除非不足以表示大数,才会使用long型。

2、浮点类型(小数)

(1)单精度浮点型float(占4个字节)
(2)双精度浮点型double(占8个字节)
在这里插入图片描述
浮点型的使用细节
(1)关于浮点数在机器中存放形式的简单说明,浮点数=符号位+指数位+尾数位
(2)尾数部分可能丢失,造成精度损失(小数都是近似值)。
(3)与整数类似,长度和范围不受操作系统影响
(4)默认为双精度double类型,如要声明为float,在数字后面加“f”或“F”
(5)当我们对运算结果是小数的进行相等判断时,要小心,应该是以两个数的差值的绝对值,在某个精度范围类判断

2、字符型char(占2个字节)例如:‘a’

字符类型可以表示单个字符,字符类型是char,char是两个字节(可以存放汉字)
字符型的使用细节
(1)字符常量使用单引号’‘括起来的单个字符
(2)java中还允许使用转义字符“\”来将其后的字符转变为特殊字符型常量,例如:’\n’,表示换行符。
(3)在java中,char的本质是一个整数,在输出时是unicode码对应的字符
(4)可以给char变量直接赋值一个整数,然后输出时会按照unicode对应的字符输出
(5)char变量可以直接进行运算,是因为其本质是一个整数
在这里插入图片描述
unicode码
在这里插入图片描述
utf-8
在这里插入图片描述

3、布尔型boolean(占1个字节),只有两个值true、false

boolean类型一般用在程序流程控制语句中
与其他语言不一样,java语言中的boolean类型不能使用0、1来代表false和true

2、引用类型
1、类
2、接口(Interface)
3、数组([])

注意,在java中String不是基本数据类型,它属于引用数据类型中的类

3、基本数据类型转换
1、自动类型转换

在这里插入图片描述
自动类型转换的注意细节
(1)有多种数据类型混合运算时,系统首先会自动将所有数据转换成容量最大的那种数据类型,然后再进行计算,并且结果为容量最大的数据类型
(2)当我们把精度大的数据类型复制给精度小的数据类型时,会报不兼容的数据类型错误,反之则会进行自动类型转换
(3)(byte、short)和char之间不会相互自动转换
(4)byte、short、char三者之间可以进行计算,在计算时首先转换为int类型,即使是byte与short计算,或者byte与byte计算,结果都会提升为int。即这三者只要有其一参与运算,结果都会转为in
(5)boolean不参与转换
(6)自动提升原则:表达式的结果自动提升为操作数中精度最大的类型

//自动类型转换细节
public class AutoConvertDetail{
//编写一个main方法
public static void main(String[] args){
//细节1:有多种类型的数据混合运算时,
//系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算
int n1=10;//ok
//float d1=n1+1.1;//错误n1+1.1=>结果类型是double
//double d1=n1+1.1;//对n1+1.1=>结果类型是double
float d1=n1+1.1F;//对n1+1.1=>结果类型是float
//细节2:当我们把精度(容量)大的数据类型赋值给精度(容量)小的数据类型时,
//就会报错,反之就会进行自动类型转换。//
//int n2=1.1;//错误double->int
//细节3:(byte,short)和char之间不会相互自动转换
//当把具体数赋给byte时,(1)先判断该数是否在byte范围内,如果是就可以
byte b1=10;//对,-128-127
//int n2=1;//n2是int
//byte b2=n2;//错误,原因:如果是变量赋值,判断类型
////char c1=b1;//错误,原因byte不能自动转成char
   }
}
2、强制类型转换

强制类型转换是自动类型转换的逆过程,即将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能造成精度降低或溢出。
强制类型转换注意细节
(1)强转符号只针对于最近的操作数有效,往往会使用小括号来提升优先级
在这里插入图片描述

(2)char类型可以保存int的常量值,但不能保存变量,需要强转。
在这里插入图片描述

6、基本数据类型与String类型转换

1、基本数据类型转String

只需要在将变量与""相加,例如:

2、String类型转基本数据类型

通过基本类型的包装类调用parse***方法即可
在这里插入图片描述

public class StringToBasic{
//编写一个main方法
public static void main(String[] args){
//基本数据类型->String 
int n1=100;
float f1=1.1F;
double d1=4.5;
boolean b1=true;
String s1=n1+"";
String s2=f1+"";
String s3=d1+"";
String s4=b1+"";
System.out.println(s1+""+s2+""+s3+""+s4);
//String->对应的基本数据类型
String s5="123";
int num1=Integer.parseInt(s5);
double num2=Double.parseDouble(s5);
float num3=Float.parseFloat(s5);
long num4=Long.parseLong(s5);
byte num5=Byte.parseByte(s5);
boolean b=Boolean.parseBoolean("true");
short num6=Short.parseShort(s5);
System.out.println("===================");
System.out.println(num1);//123
System.out.println(num2);//123.0
System.out.println(num3);//123.0
System.out.println(num4);//123
System.out.println(num5);//123
System.out.println(num6);//123
System.out.println(b);//true
//怎么把字符串转成字符char->含义是指把字符串的第一个字符得到
//解读s5.charAt(0)得到s5字符串的第一个字符'1'
System.out.println(s5.charAt(0));
}
}

当然,前提是要能转换。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值