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存储的值


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


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


相关文章
|
6天前
|
存储 Java Go
【Java】(3)8种基本数据类型的分析、数据类型转换规则、转义字符的列举
牢记类型转换规则在脑海中将编译和运行两个阶段分开,这是两个不同的阶段,不要弄混!
59 2
|
6天前
|
Java Go 开发工具
【Java】(4)五种运算符的说明(&&、||、>=、>、<=、<)、4种控制语句(if、for、while、dowhile)、输入和输出说明
扩展类的赋值运算符不改变运算结果类型,假设最初这个变量的的类型byte类型,无论怎么进行加或追减,最终该变量的数据类型还是byte类型。注:一个表达式中有多个运算符,运算符有优先级,不确定的加小括号,优先级得到提升。当布尔表达式的结果是false的时候,选择表达式2作为整个表达式的执行结果。当布尔表达式的结果是true的时候,选择表达式1作为整个表达式的执行结果。当用户输入的时候,并且最终敲回车键的时候,键入的信息会自动赋值给a。并且,连接运算之后的结果还是一个字符串类型。表达式1 : 表达式2。
38 1
|
22天前
|
安全 Java
使用Java多态性进行数据类型转换
以上示范了如何通过多态性来执行安全有效地对于Java对象间相互之间进行正确方式与场合下正确格式与条件限定内对于各个层级关系内部成员及其功能调取与应有操作处理过程,并通过 `instanceof`关键字确保了程序运行期间遵循逻辑合理并符合预设规则条件限定内正常工作流程而无需担忧潜藏风险问题出现可能带来影响结果质量问题情况存在可能。
67 12
|
6天前
|
Java Go 开发工具
【Java】(2)Java数据类型阐述、基本数据类型的占用和范围、二进制的讲述
数据的一种表示形式。十进制表示满十进一原则。二进制表示满二进一原则。例如:十进制例如:二进制计算机在任何情况下都只能识别二进制。
24 0
|
7月前
|
存储 Java
# 【Java全栈学习笔记-U1-day02】变量+数据类型+运算符
本篇笔记主要围绕Java全栈学习的第二天内容展开,涵盖了变量、数据类型、运算符以及Scanner类的应用。首先介绍了变量的概念与命名规范,以及如何定义和使用变量;接着详细讲解了Java中的基本数据类型,包括整型、浮点型、字符型、布尔型等,并通过实例演示了数据类型的运用。随后,深入探讨了各类运算符(赋值、算术、关系、逻辑)及其优先级,帮助理解表达式的构成。最后,介绍了如何利用Scanner类实现用户输入功能,并通过多个综合示例(如计算圆面积、购物打折、变量交换及银行利息计算)巩固所学知识。完成相关作业将进一步加深对这些基础概念的理解与实践能力。
110 13
|
2月前
|
存储 缓存 算法
Java数据类型与运算符深度解析
本文深入解析Java中容易混淆的基础知识,包括八大基本数据类型(如int、Integer)、自动装箱与拆箱机制,以及运算符(如&与&&)的使用区别。通过代码示例剖析内存布局、取值范围及常见陷阱,帮助开发者写出更高效、健壮的代码,并附有面试高频问题解析,夯实基础。
|
3月前
|
存储 人工智能 JavaScript
Java中的数据类型转换
本文介绍了 Java 中常见的数据类型转换方法,涵盖字符串与整型、长整型、浮点型、布尔型及日期类型的相互转换,并讲解了可能出现的异常和处理方式。
168 0
|
4月前
|
人工智能 Java
Java运算符中的隐式转换
本文介绍了 Java 运算符中的隐式类型转换规则,涵盖算数、逻辑、位、关系、赋值及其他运算符。重点分析了算数和位运算符在处理小于 int 位长的数据时会自动转换为 int 类型的特性,并通过代码示例说明可能引发的类型不匹配错误。逻辑、关系、赋值及其他运算符则不涉及类型转换。总结指出,部分运算符在计算时会将小位长数据隐式转为 int 类型,结果也为 int。
|
4月前
|
人工智能 Rust Java
Java中的算数、关系、逻辑、条件、赋值 五大运算符详解
本文介绍了Java中的运算符及其优先级,包括算数运算符(如+、-、*、/、%、++、--)、关系运算符(如<、>、==、!=)、逻辑运算符(如&&、||、!)、条件运算符(三目运算符)和赋值运算符(如=、+=、-=等)。详细解释了每种运算符的功能与用法,例如自增自减运算符的特点、逻辑运算符的短路法运算以及位运算符的操作规则。最后还提供了运算符优先级表格,帮助开发者理解复杂表达式的计算顺序。文中提醒,在实际开发中,建议使用括号明确运算顺序以提高代码可读性。
188 0
|
7月前
|
SQL IDE 算法
《从头开始学java,一天一个知识点》之:运算符与表达式:算术、比较和逻辑运算
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问"`a==b`和`equals()`的区别",大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 这个系列为你打造Java「速效救心丸」,每天1分钟,地铁通勤、午休间隙即可完成学习。直击高频考点和实际开发中的「坑位」,拒绝冗长概念,每篇都有可运行的代码示例。明日预告:《控制流程:if-else条件语句实战》。
122 6

热门文章

最新文章