第3章:变量

3.1 为什么需要变量

俗话说,一个程序就是一个世界,变量是程序的基本组成单位。无论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位。

变量有三个基本要素:类型+名称+值

比如:

class Test{
   
    public static void main(String[] args){
   
        int a = 1; // 定义了一个变量,类型int整型,名称a,值1
        int b = 3; // 定义了一个变量,类型int整型,名称b,值3
        b = 89; // 把89值赋给b变量
        System.out.println(a); //输出a变量的值
        System.out.println(b); // 输出b变量的值
     }
 }

简单的原理示意图:

在这里插入图片描述

3.2 变(变化)量(值)的介绍

3.2.1 概念

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

3.2.2 变量使用的基本步骤

● 1) 声明变量

int a;

● 2) 赋值

a = 60; //应该这么说: 把 60 赋给 a 使用 System.out.println(a);
//也可以一步到位[int a = 60; 通常我们是一步完成]

3.2.3 变量使用注意事项

  1. 变量表示内存中的一个存储区域【不同的变量,类型不同,占用的空间大小不同,比如:int为4个字节,double为8个字节,先有基本印象,后续会学到字节】
  2. 该区域有自己的名称【变量名】和类型【数据类型】
  3. 变量必须先声明,后使用,即有顺序
  4. 该区域的数据/值可以在同一类型范围内不断变化
  5. 变量在同一个作用域内不能重名
  6. 变量=数据类型 + 变量名 + 值,这一点大家注意,也是变量的三要素
public class VarDetail{
   
	public static void main(String[] args){
   
		//变量必须先声明,后使用, 即有顺序
		int a = 50;
		System.out.println(a);
		//该区域的数据/值可以在同一类型范围内不断变化 
		//a = "jack"; //×,因为不是同一类型范围内变化
		a = 88; //对
		System.out.println(a);
		//变量在同一个作用域内不能重名
		// int a = 77; //×
	}
}

class Dog{
   
	public static void main(String[] args){
   
		int a = 66; //对
	}
}

在这里插入图片描述

3.3 程序中 +号的使用

相信大家,对这个+号也很迷惑吧,有时作为运算符,有时却是连接符,到底怎么区分呢?

  1. 当左右两边都是数值型时,则做加法运算
  2. 当左右两边有一方为字符串,则做拼接运算
  3. 运算顺序,是从左到右

大家理解后,试着先做做下面题目,看是否真的掌握了。

System.out.println(100 + 98); // 198
System.out.println("100" + 98); // 10098

System.out.println(100 + 3 + "hello,小猫咪"); // 103hello,小猫咪
System.out.println("hello" + 100 + 3); // hello1003

3.4 数据类型

每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间(字节)。

在这里插入图片描述

上图说明【爱摸鱼的TT~要求小伙伴背下来!!!】

  1. java数据类型分为两大类:基本数据类型和引用数据类型
  2. 基本数据类型有8种,数值型【byte、short、int、long、float、double】、char、boolean
  3. 引用数据类型【类、接口、数组】

3.4.1 整数类型

基本介绍

Java 的整数类型就是用于存放整数值的,比如 12 , 30, 3456 等等

案例演示

byte n1 = 10; 
short n2 = 10; 
int n3 = 10;//4 个字节 
long n4 = 10; //8 个字节

整型的类型

在这里插入图片描述

整型的使用细节

  1. Java各整数类型有固定的范围和字段长度,不受具体OS【操作系统】的影响,以保证java程序的可移植性。
  2. Java的整型常量(具体值)默认为int类型,声明long型常量须后加‘l’或‘L’。
  3. Java程序中变量常声明为int型,除非不足以表示大数,才使用long
  4. bit:计算机中最小存储单位。byte:计算机中基本存储单位,1byte= 8bit。【二进制再详细说,简单举例byte 3 和 short 3】

byte n1 = 3; short n2 = 3;
思考题:long类型,有几个bit【8个字节 * 8bit = 64】
long n = 3; // 内存中存在形式

在这里插入图片描述

public class IntDetail{
   
	public static void main(String[] args){
   
		//Java 的整型常量(具体值)默认为 int 型,声明 long 型常量须后加‘l’或‘L’
		int n1 = 1; // 4个字节
		//int n2 = 1L; //对不对?不对
		long n3 = 1L; //对

	}
}

3.4.2 浮点类型

基本介绍

Java 的浮点类型可以表示一个小数,比如 123.4 ,7.8 ,0.12 等等

浮点类型的分类

在这里插入图片描述

说明一下

  1. 关于浮点数在机器中存放形式的简单说明,浮点数=符号位+指数位+尾数位

  2. 尾数部分可能丢失,造成精度损失(小数都是近似值)。

浮点型使用细节

  1. 与整数类型类似,Java浮点类型也有固定的范围和字段长度,不受具体OS的影响。【float 4个字节,double 8个字节】
  2. Java的浮点类型常量(具体值)默认为double型,声明float型常量,须后加‘f’或‘F’。
  3. 浮点型常量有两种表示形式
    ○ 十进制形式:5.12 512.0f .512(必须有小数点)
    ○ 科学计数法形式:5.12e2【5.12*10的2次方】 5.12E-2【5.12/10的2次方】
  4. 通常情况下,应该使用double型,因为它比float型更精确。
    double num9 = 2.1234567851;
    float num10 = 2.1234567851F;
  5. 浮点数使用缺陷:2.7 和 8.1/3 比较

在数学算术方面,8.1/3的结果就是2.7,而在计算机中却不是这样,那该怎么比较浮点数的大小呢?那我们看看下面的案例吧。

public class FloatDetail{
   
	public static void main(String[] args){
   
		//Java 的浮点型常量(具体值)默认为 double 型,声明 float 型常量,须后加‘f’或‘F' 
		//float num1 = 1.1; //对不对?错误 
		float num2 = 1.1F; //对的 
		double num3 = 1.1; 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涛涛同学debug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值