java变量、数据类型和运算符-1

简介: 本章工作任务实现购物结算,打印购物小票模拟商场幸运抽奖,计算会员卡各位数字之和根据商品折扣判断折扣价本章技能目标

本章工作任务


实现购物结算,打印购物小票

模拟商场幸运抽奖,计算会员卡各位数字之和

根据商品折扣判断折扣价

本章技能目标


掌握变量的概念

会使用常用数据类型

会使用赋值运算符、算术运算符和关系运算符

掌握键盘输入

本章简介


第 1 章主要学习了 Java 程序的基本框架,以及如何在 IDE 环境 IDEA 中创建 Java 应用程序。编写 Java 程序,在控制台显示信息,让我们对 Java 程序有了一个感性的认识。


Java 是一门高级程序语言,使用 Java 语言可以实现人机沟通,告诉计算机人让它做的事情。既然是语言,不可避免地要学习 "词汇"(变量、关键字、运算符等)、"句子"(一条指令)、"段落"(指令集)等。在本章,将学习到 Java 的一些基本 "词汇",包括变量、运算符和一些关键字等。使用它们,能编写出更多的指令。


预习作业


请按以下步骤预习本章内容:


1. 阅读、学习本章内容。


2. 标注出本章看不懂或存在疑惑的部分。


3. 整理、记录学习中的问题。


4. 熟记本章的英文单词。


1.背诵英文单词


请在预习时找出下列单词在教材中的用法,了解它们的含义和发音。


(1)  double     [ˈdʌbl]: adj. 两倍的;成对的;v. 加倍;对折


(2)  string     [strɪŋ]:n. 线,弦,细绳;一串,一行


(3)  character  [ˈkærəktər]:n. 性格,品质;特性;角色;[计] 字符


(4)  integer    [ˈɪntɪdʒər]:n. 整数


(5)  scanner    [ˈskænər]:n. [计] 扫描仪;扫描器;光电子扫描装置


(6)  score      [skɔːr]:n. 分数;二十;配乐;刻痕; vi. 得分;记分;刻痕


(7)  name       [neɪm]:n. 名称,名字;姓名;名誉


(8)  boolean    [ˈbuːliən]:adj. 布尔数学体系的


(9)  true       [trui]:adj. 真实的;正确的;n. 真实;准确


(10) false      [fɔːls]:adj. 错误的;虚伪的;伪造的


2.预习并回答以下问题


请阅读本章内容,在作业本上完成以下简答题。


(1) Java 中常见的数据类型有哪些?


(2) 如何声明一个变量?


(3) boolean 类型的变量可以取哪些值?


(4) 关系运算符的作用是什么?


3.预习并完成编码题


(1) 编写并完成本章中所有示例代码。


(2) 请使用 Java 语言编写代码,完成以下功能。


① 使用变量存储自己的姓名并输出。


② 使用变量存储两个整数,求这两个整数的和并输出。


4.记录预习的问题


记录学习中遇到的问题,填写于下面的横线上,以便集中探讨解决。


技术内容


2.1变量和数据类型


2.1.1  变量


计算机的内存类似于人的大脑,计算机使用内存来记忆大量运算时要使用的数据。内存是一个物理设备,如何来存储一个数据呢?很简单,把内存想象成一间旅馆,要存储的数据就好比要住宿的客人。试想一下去旅馆住宿的场景。首先,旅馆的服务人员会询问要住什么样的房间,如单人间、双人间、总统套间;然后,根据选择的房间类型,服务员会安排一个合适的房间。"先开房间,后入住"就描述了数据存入内存的过程。首先,根据数据的类型为它在内存中分配一块空间(即找一个合适的房间),然后数据就可以放进这块空间中(即入住)。那么数据为什么对存储空间有要求呢?试想有三个客人,服务员安排了一个单人间,这能入住吗?分配的空间过小会导致数据无法存储。在下面的课程中将详细介绍。


到底使用内存做什么呢?看一看下面的问题,就可一目了然了。


问题:在银行中存储 1000 元钱,银行一年的利息是 5%, 那么一年后存款是多少?


分析:很简单,首先计算机在内存中开辟一块空间用来存储 1000, 然后把存储在内存中的数据1000 取出后进行计算,根据公式:本金×利率+本金(即1000×5%+1000), 获得的结果1050重新存入该存储空间,这就是一年后的存款了。图 2.1 显示了内存中存储数据的变化。可见,数据被存储在内存中,目的是便于在需要时取出来使用,或者如果这个数据被改变了,内存中存储的值也会随之进行相应的更新,以便下次使用新的数值。那么,内存中存储的这个数据到底在哪里,我们怎样获得它呢?

dac5a3b0d96d4e1697fb095c3991c01c.png


                                                 



图 2.1 数据在内存中的存储


通常,根据内存地址可以找到这块内存空间的位置,也就找到了存储的数据。但是内存地址非常不好记,因此,我们给这块内存空间起一个别名,通过使用别名找到对应空间存储的数据。变量是一个数据存储空间的表示。变量和旅馆中的房间存在如表 2-1 所示的对应关系。


表 2-1 变量与房间的对应关系


image.png


通过变量名可以简单快速地找到它存储的数据。将数据指定给变量,就是将数据存储到以别名为变量名的那个房间;调用变量,就是将那个房间中的数据取出来使用。可见,变量是存储数据的一个基本单元,不同的变量相互独立。


2.1.2 数据类型


1.不同的数据类型


计算机的基本作用就是运算。要运算就需要数据,这些数据可以由用户输入、从文件获得,甚至从网络中得到。数据不计其数,但是我们可以把数据归类。例如,根据是整数还是小数,是一串字符还是单个字符来分类。例如,对下面的数据分类。


手机品牌:"三星"、"小米"、"苹果"。


手机价格(单位:元): 4500.34、1200.00、3900.5。


手机电池待机时间(单位:天):2、5、3。


这里,手机品牌都是由一串字符组成的,手机价格都是小数,手机电池待机时间都是整数。当然还会经常碰到别的数据,如手机"开"或"关",这就是一个字符。


2. Java 常用数据类型


如何在程序中表示不同类型的数据呢?  Java 中定义了许多数据类型,生活中的数据都能在这里得到匹配。表 2_2 列出了常用 Java 数据类型。


表 2-2 常用 Java 数据类型



image.png

image.png


在 2.1.1 节的讲解中提到了 "根据数据的类型为它在内存中分配一块空间",数据的类型是整数、小数还是字符,不同的数据在存储时所需要的空间各不相同。例如,int 型的数值要占四字节,而 double型的数值占八字节。因此,不同类型的数据就需要用不同大小的内存空间来存储。其中,int 、double 、char 都是 Java 定义的关键字。


2.1.3 变量声明及使用


在程序运行的过程中,将数值通过变量加以存储,以便程序随时使用,整体步骤如下。


(1) 根据数据的类型在内存中分配一个合适的"房间",并给它命名,即"变量名"。


(2) 将数据存储到这个"房间"中。


(3) 从"房间"中取出数据使用,可以通过变量名来获得。


现在,大家一定能够很清楚地想象到一个数据如何被存储到内存中及如何被取出来使用了。如何使用 Java 语言真正实现这一过程呢?


问题:根据 2.1.1 节中描述的问题,在内存中存储本金 1000 元,显示内存中存储的数据的值。


示例1


package cn.dbit.demo;
public class MyVariable {
    public static void main(String[] args) {
        int money = 1000;             //存储本息
        System.out.println(money);  //显示存储的数据的值
    }
}

示例 1 展示了存储数据和使用数据的过程,输出结果如下。

1000

关键代码虽只有两行,但展示了如何定义和使用变量,任何复杂的程序都由此构成。下面对其进行分析。

(1) 声明变量,即"根据数据类型在内存中申请一块空间",这里需要给变量命名。

语法

数据类型 变量名;

其中,数据类型可以是 Java 定义的任意一种数据类型。例如,要存储 Java 考试最高分 98.5 、获得最高分的学生姓名 "张三" 及性别 ’男’。

double score;    //声明双精度浮点型变量score存储分数

String name;     //声明字符串型变量name存储学生姓名

char sex;        //声明字符型变量sex存储性别

(2) 给变量赋值,即"将数据存储至对应的内存空间"。

score = 98.5;    //存储98.5


name = "张三";    //存储”张三”


sex = '男';       //存储 1 男'


这样的分解步骤有些烦琐,也可以将步骤 (1) 和步骤 (2) 合二为一,如示例 1 所示,在声明一个变量的同时给变量赋值。


语法

数据类型 变量名 = 值;


例如:


double score = 98.5;  

String name = "张三";

char sex = '男';


(3) 调用变量。使用存储的变量, 我们称之为 "调用变量"。


System.out.println(score);    //从控制台输出变量score存储的值


System.out.println(name);     //从控制台输出变量name存储的值


System.out.println(sex);      //从控制台输出变量sex存储的值


可见,使用声明的变量名就是使用变量对应的内存空间中存储的数据。


另外,需要注意的是,尽管可以选用任意一种自己喜欢的方式进行变量声明和赋值,但是要记住 "变量都必须声明和赋值后才能使用"。因此要想使用一个变量,变量的声明和赋值必不可少。


相关文章
|
14天前
|
Java 程序员 容器
Java中的变量和常量:数据的‘小盒子’和‘铁盒子’有啥不一样?
在Java中,变量是一个可以随时改变的数据容器,类似于一个可以反复打开的小盒子。定义变量时需指定数据类型和名称。例如:`int age = 25;` 表示定义一个整数类型的变量 `age`,初始值为25。 常量则是不可改变的数据容器,类似于一个锁死的铁盒子,定义时使用 `final` 关键字。例如:`final int MAX_SPEED = 120;` 表示定义一个名为 `MAX_SPEED` 的常量,值为120,且不能修改。 变量和常量的主要区别在于变量的数据可以随时修改,而常量的数据一旦确定就不能改变。常量主要用于防止意外修改、提高代码可读性和便于维护。
|
1月前
|
Java 编译器
java“变量 x 可能未被初始化”解决
在Java中,如果编译器检测到变量可能在使用前未被初始化,会报“变量 x 可能未被初始化”的错误。解决方法包括:1. 在声明变量时直接初始化;2. 确保所有可能的执行路径都能对变量进行初始化。
|
2月前
|
Java
Java运算符
Java运算符
51 12
|
22天前
|
Java 编译器
Java重复定义变量详解
这段对话讨论了Java中变量作用域和重复定义的问题。学生提问为何不能重复定义变量导致编译错误,老师通过多个示例解释了编译器如何区分不同作用域内的变量,包括局部变量、成员变量和静态变量,并说明了使用`this`关键字和类名来区分变量的方法。最终,学生理解了编译器在逻辑层面检查变量定义的问题。
Java重复定义变量详解
|
17天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
41 4
|
15天前
|
存储 消息中间件 NoSQL
使用Java操作Redis数据类型的详解指南
通过使用Jedis库,可以在Java中方便地操作Redis的各种数据类型。本文详细介绍了字符串、哈希、列表、集合和有序集合的基本操作及其对应的Java实现。这些示例展示了如何使用Java与Redis进行交互,为开发高效的Redis客户端应用程序提供了基础。希望本文的指南能帮助您更好地理解和使用Redis,提升应用程序的性能和可靠性。
31 1
|
1月前
|
算法 Java 测试技术
🌟Java 零基础 | 详解 单目运算符
【10月更文挑战第14天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
40 7
|
30天前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
|
1月前
|
Java 测试技术 开发者
🌟Java 零基础 | 深入理解三目运算符
【10月更文挑战第13天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
24 3
|
30天前
|
存储 Java 关系型数据库
[Java]“不同族”基本数据类型间只能“强转”吗?
本文探讨了不同位二进制表示范围的计算方法,重点分析了Java中int和char类型之间的转换规则,以及float与int类型之间的转换特性。通过具体示例说明了显式和隐式转换的条件和限制。
36 0
[Java]“不同族”基本数据类型间只能“强转”吗?
下一篇
无影云桌面