91 lines
48 KiB
JavaScript
91 lines
48 KiB
JavaScript
import{_ as h}from"./chunks/ArticleMetadata.Sb1DYAHo.js";import{_ as e,D as k,o as n,c as d,I as r,w as g,k as t,a as o,R as c,b as y,e as A}from"./chunks/framework.FVQzxbLi.js";import"./chunks/md5.RtphNWHi.js";const D="/assets/202010061318922.baC6BIxU.jpeg",C="/assets/202010061319222.yl9ewSMo.png",u="/assets/202010061319719.mTFn434V.png",F="/assets/202010061319888.DcudMZ4K.jpeg",B="/assets/202010061320187.iuWxbs9x.jpeg",m="/assets/202010061320866.n4fCopcq.jpeg",V=JSON.parse('{"title":"变量和常量","description":"","frontmatter":{"title":"变量和常量","author":"查尔斯","date":"2020/10/06 23:56","categories":["Java基础快速入门"],"tags":["Java","Java基础"]},"headers":[],"relativePath":"courses/java/01-Java语法入门/05-变量和常量.md","filePath":"courses/java/01-Java语法入门/05-变量和常量.md","lastUpdated":1661518927000}'),E={name:"courses/java/01-Java语法入门/05-变量和常量.md"},v=t("h1",{id:"变量和常量",tabindex:"-1"},[o("变量和常量 "),t("a",{class:"header-anchor",href:"#变量和常量","aria-label":'Permalink to "变量和常量"'},"")],-1),b=c('<h2 id="前言" tabindex="-1">前言 <a class="header-anchor" href="#前言" aria-label="Permalink to "前言""></a></h2><p><strong>C:</strong> 上一篇,笔者给你加了点“料”,捋了捋一个 QQ 程序从安装到运行起来究竟做了哪些事儿。在上一篇的最后,我们还分析到了一个结果就是当程序运行在内存中后,程序产生的数据也要在内存中妥善的管理起来,以方便使用和复用,这种基础的数据管理概念就是 <strong>变量</strong> 。</p><p><img src="'+D+`" alt="202010061318922"></p><p>不知道,大家是否还记得在<a href="./01-开发环境搭建">《开发环境搭建》</a>中我们介绍过一个环境变量的概念,<strong>环境变量就是操作系统里存储的一些环境参数或关键值,每个在操作系统里运行的程序都可以获取到这些存储的内容</strong> 。因为它存储的是环境信息,又因为这些信息是可变的值,所以它叫环境变量。</p><p>而本篇我们也要正式学习下 Java 程序中的变量,它是我们学习的第一个基础知识点,先来感受下它的用处吧,例如下方代码,在进行输出个人介绍时,如果想修改姓名的话,需要单个依次修改。</p><p>此时我们就可以将个人介绍中的姓名存储成变量,然后就可以很方便的修改或重复使用了。</p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 未使用变量</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"我是时间管理大师:小罗"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"我是时间管理大师:小罗"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"我是时间管理大师:小罗"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"我是时间管理大师:小罗"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span></code></pre></div><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 使用变量</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">String</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> "小罗"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"我是时间管理大师:"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> name);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"我是时间管理大师:"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> name);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"我是时间管理大师:"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> name);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"我是时间管理大师:"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> name);</span></span></code></pre></div><h2 id="变量概述" tabindex="-1">变量概述 <a class="header-anchor" href="#变量概述" aria-label="Permalink to "变量概述""></a></h2><div class="tip custom-block"><p class="custom-block-title">笔者说</p><p>变量来源于数学,是计算机语言中能 <strong>储存计算结果或能表示值</strong> 的抽象概念。在一些语言中,变量可能被明确为是能表示可变状态、具有存储空间的抽象(如在 Java 和 Visual Basic 中)。[1~2]</p></div><p>如下图,当 Java 程序运行过程中,我们需要存储一些数据,此时就可以在内存开辟一个个变量空间来存储这些可变的数据。</p><p><img src="`+C+'" alt="202010061319222"></p><p>通俗的来讲:变量就是一个数据存储空间的表示,不同数据存入具有不同内存地址的空间,彼此相互独立。</p><h2 id="变量的组成" tabindex="-1">变量的组成 <a class="header-anchor" href="#变量的组成" aria-label="Permalink to "变量的组成""></a></h2><p>将数据以 变量 形式存入内存之后,我们怎么找到和使用它呢?</p><ul><li>第1种方式:可以通过内存地址值去寻找。但是这地址值是类似于:0x12345….这种无关联的组成,每次记忆极其繁琐。</li><li>第2种方式:使用变量名来快速简便的找到存入的变量,找到变量自然也就找到数据了。</li></ul><p>其实变量这个概念,可以去类比生活中去酒店入住的场景。</p><p>酒店就是 <code>JVM</code> 内存,房间就是一个个的 <code>变量</code>,房间的名字就是 <strong>变量名</strong>(毕竟你想想酒店前台告诉你房间位置时,应该都是告诉你房间号,而不是给你指路:上3楼直走5个房间,右转后第3个房间对面);</p><p>酒店还会为不同客人提供不同类型的房间,满足特别的需求。<code>JVM</code> 内存中,也是这么来安排数据的,我们称之为<strong>变量类型</strong> ;房间里入住的客人就是 <strong>变量里存储的值</strong> 。</p><p>而且变量即可以变化的量,酒店房间的客人也是变动的,这么理解起来,简直太容易了。所以笔者建议你,以后想到变量就多想想开房。</p><p><img src="'+u+'" alt="202010061319719"></p><div class="tip custom-block"><p class="custom-block-title">笔者说</p><p>所以,变量的组成是由:变量名、变量类型、变量值三个部分组成。</p><p>变量值就没必要看了,它就是你要存储的数据,爱存啥就存啥,但是其他的两个部分我们需要详细研究研究。</p></div><h3 id="变量名" tabindex="-1">变量名 <a class="header-anchor" href="#变量名" aria-label="Permalink to "变量名""></a></h3><p><strong>变量名也就是标识符,其实就是为了方便区分不同的变量。但这个名也不是随便起的,在长久的演化中,我们有了约定俗成的规范。</strong></p><div class="warning custom-block"><p class="custom-block-title">变量名命名规范</p><ol><li><p>可以使用数字、字母,下划线和 <code>$</code> 符号组成,但数字不能开头。</p></li><li><p>不能使用关键字(<code>public</code>、<code>void</code>等)和保留字(<code>goto</code>、<code>def</code>等)!<strong>关键字:被系统定义了特殊含义的单词。保留字:现在还不是关键字,未来可能有特殊含义。</strong></p></li><li><p>起名要见名知意。 例如:<code>name</code> 一看就知道是名字,<code>password</code>是密码等。</p></li><li><p>采用小驼峰式命名法(Lower Camel Case)。(所谓小驼峰命名法,即首字母小写,如果有多个单词那么后面的每个单词首字母大写。<code>e.g. userPassword</code>) ;另外因为支持下划线,所以有些时候会有下划线连接法命名的变量。<code>e.g. user_password</code>。</p><p><img src="'+F+'" alt="202010061319888"></p></li><li><p>要么名称全为拼音,要么全为英文单词。<code>e.g.(X)myMingZi</code>。</p><p><img src="'+B+`" alt="202010061320187"></p></li></ol></div><h3 id="数据类型" tabindex="-1">数据类型 <a class="header-anchor" href="#数据类型" aria-label="Permalink to "数据类型""></a></h3><p>不同类型的值要以不同的形式存储,那么在 Java 中,它将不同的值划分了多少类型呢?</p><p><strong>数值型有:</strong></p><ul><li>整型:byte、short、int、long</li><li>浮点型:float、double</li></ul><p><strong>非数值型:</strong> char(字符型) 、boolean(布尔型) 、String(字符串型,一个比较特别的类型,先记住它不是基本数据类型,是引用数据类型即可)</p><p>下方是数值型数据类型的取值范围表:</p><table><thead><tr><th style="text-align:center;">数据类型</th><th style="text-align:center;">大小</th><th style="text-align:center;">取值范围</th></tr></thead><tbody><tr><td style="text-align:center;">byte</td><td style="text-align:center;">1字节8位</td><td style="text-align:center;">-128 ~ +127</td></tr><tr><td style="text-align:center;">short</td><td style="text-align:center;">2字节16位</td><td style="text-align:center;">-32768 (-2^15^) ~ +32767 (+2^15^ - 1)</td></tr><tr><td style="text-align:center;">int</td><td style="text-align:center;">4字节32位</td><td style="text-align:center;">-2147483648 (-2^31^) ~ +2147483647 (2^31^ - 1)</td></tr><tr><td style="text-align:center;">long</td><td style="text-align:center;">8字节64位</td><td style="text-align:center;">-2^63^ ~ +2^63^ - 1</td></tr><tr><td style="text-align:center;">float</td><td style="text-align:center;">4字节32位浮点数</td><td style="text-align:center;">1.4E-45 ~ 3.4E+38, -1.4E-45 ~ -3.4E+38</td></tr><tr><td style="text-align:center;">double</td><td style="text-align:center;">8字节64位浮点数</td><td style="text-align:center;">4.9E-324 ~ 1.7E+308, -4.9E-324 ~ -1.7E+308</td></tr></tbody></table><div class="tip custom-block"><p class="custom-block-title">笔者说</p><p>在 Java 中,如果定义一个变量,<strong>整数数据默认为 int 类型,小数数据默认为 double 类型。</strong></p><p>因为 int 和 double 的取值范围已经满足了我们大多数时的使用要求了。</p></div><h2 id="变量的使用步骤" tabindex="-1">变量的使用步骤 <a class="header-anchor" href="#变量的使用步骤" aria-label="Permalink to "变量的使用步骤""></a></h2><p>聊完了概念后,我们接下来一起用一下吧!</p><p>第一步:声明变量,根据数据类型在内存申请空间。</p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 数据类型 变量名;</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> money;</span></span></code></pre></div><p>第二步:赋值,即“将数据存储至对应的内存空间”。</p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 变量名 = 数值;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">money </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 1000</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span></code></pre></div><p>tips:第一步和第二步可以合并。</p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 数据类型 变量名 = 数值;</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> money</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 1000</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span></code></pre></div><p>第三步:使用变量,即“取出数据使用”。(也就是拿着变量名去使用)</p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">public</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> class</span><span style="--shiki-light:#6F42C1;--shiki-dark:#F69D50;"> Demo1</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">{</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> public</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> static</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> void</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;"> main</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">String</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">[] </span><span style="--shiki-light:#E36209;--shiki-dark:#F69D50;">args</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">){</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 在方法中声明的变量 被称为局部变量 局部变量如果没赋值前是无法使用的</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 第1种使用方式 先声明再赋值</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 声明变量(联想记忆:在内存中开好201双人房间)</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 此变量将用来存储银行卡存款</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> money; </span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 赋值 =号不再是数学里的相等,而是表示将右边的内容赋值给左边的</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> money </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 1000</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> </span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 第2种使用方式 声明的同时并赋值</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> money1</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 1000</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 使用变量</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"我的银行存款为:"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> money1 </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> "元"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> }</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span></code></pre></div><p>再来个小练习,吸收一下吧,案例需求如下:</p><p><strong>要求使用变量来完成如下操作:</strong></p><ul><li>输出Java课考试最高分:98.5</li><li>输出最高分学员姓名:张三</li><li>输出最高分学员性别:男</li></ul><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 声明一个变量用来存储最高分</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">double</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> score</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 98.5</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 如果是float类型来存储数据,那么必须在值后添加 f/F</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 其实double类型的后面也应该加d/D,但Java中出现的浮点类型默认为double,所以不需要加</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// float score1 = 98.5F;</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 声明一个变量用来存储学员姓名</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 双引号包裹的内容是一个字符串</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">String</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> "张三"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">; </span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 声明一个变量用来存储学员性别</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 单引号包裹的事一个字符</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">char</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> gender</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> '男'</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 使用变量:使用+号来拼接使用变量</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 只要是与字符串用+号拼接的都成为了字符串</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"最高分为:"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> score);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"姓名为:"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> name);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"性别为:"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> gender);</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 等价于下方</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"最高分为:"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> score </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> "</span><span style="--shiki-light:#005CC5;--shiki-dark:#F47067;">\\n</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">姓名为:"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> name </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> "</span><span style="--shiki-light:#005CC5;--shiki-dark:#F47067;">\\n</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">性别为:"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> gender);</span></span></code></pre></div><h2 id="常量概述" tabindex="-1">常量概述 <a class="header-anchor" href="#常量概述" aria-label="Permalink to "常量概述""></a></h2><p>在程序运行中,我们需要使用一些数据,但是这些数据在存储好后不应该再次发生变化(例如:<code>π</code>)。这时候,单纯使用变量存储,毕竟叫变量,难保未来可能被不小心重新赋值。</p><p>此时我们可以使用常量来解决此问题。</p><div class="tip custom-block"><p class="custom-block-title">笔者说</p><p>在Java中,其值不能改变的变量被称为常量。常量被final修饰,被final修饰则无法二次修改值。</p></div><p>为了和变量做出区别,常量在命名上也有一些小要求。</p><div class="warning custom-block"><p class="custom-block-title">常量名命名规范</p><ol><li><p>常量名所有字母都要大写。</p></li><li><p>如果有多个单词,多个单词之间使用下划线分隔。例如:<code>MY_NAME</code></p></li><li><p>只能被赋值一次(被final修饰),通常定义时即对其初始化。</p></li></ol></div><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">public</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> class</span><span style="--shiki-light:#6F42C1;--shiki-dark:#F69D50;"> Demo2</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">{</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> public</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> static</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> void</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;"> main</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">String</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">[] </span><span style="--shiki-light:#E36209;--shiki-dark:#F69D50;">args</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">){</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 声明一个变量 用来表示π</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 被final修饰的变量,无法再进行第二次改值 必须进行初始赋值,不能分开声明和赋值</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> final</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> double</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> PI</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 3.14</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 声明一个变量用来表示半径</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> radius</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 7</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> </span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 计算圆的面积 π * r * r</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> double</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> area</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> PI </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> radius </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> radius;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"圆的面积为:"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> area);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> }</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span></code></pre></div><h2 id="程序交互" tabindex="-1">程序交互 <a class="header-anchor" href="#程序交互" aria-label="Permalink to "程序交互""></a></h2><p>在上述的练习使用中,笔者定义的变量全是自己直接定义好值的。如果现在想要让变量值变成一个灵活动态的内容,通过键盘来灵活输入,这时候我们就需要使用 Java 给我们准备好的 <code>Scanner</code> 工具来解决。</p><p><strong>Scanner的使用需要一个固定的步骤!前期牢记即可!后期学习<code>类</code>之后就懂了。</strong></p><p>第一步:导入<code>Scanner</code>类。</p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> java.util.Scanner;</span></span></code></pre></div><p>第二步:创建<code>Scanner</code>对象。</p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;"> Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(System.in);</span></span></code></pre></div><p>第三步:获得键盘输入的数据,并自动将其转换存储为<code>int</code>类型的变量<code>now</code>。</p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> now</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">nextInt</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">();</span></span></code></pre></div><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 1.在类声明上方 添加导入语句</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> java.util.Scanner;</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">public</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> class</span><span style="--shiki-light:#6F42C1;--shiki-dark:#F69D50;"> Demo3</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">{</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> public</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> static</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> void</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;"> main</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">String</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">[] </span><span style="--shiki-light:#E36209;--shiki-dark:#F69D50;">args</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">){</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // Scanner 可以用来进行键盘录入的API</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 2.创建Scanner对象 input就是个变量名</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;"> Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(System.in);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> </span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 3.使用Scanner的方法 对象名.xxx()来调用方法</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">print</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"请输入您的年龄:"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> age</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">nextInt</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">();</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> </span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"输入的年龄为:"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> age);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> }</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span></code></pre></div><h2 id="类型转换" tabindex="-1">类型转换 <a class="header-anchor" href="#类型转换" aria-label="Permalink to "类型转换""></a></h2><p>上述就是变量的基本玩法,简单吗?接下来我们再了解一些特别的小知识,加深你对数据类型的理解。</p><h3 id="自动类型转换" tabindex="-1">自动类型转换 <a class="header-anchor" href="#自动类型转换" aria-label="Permalink to "自动类型转换""></a></h3><p>看一下下方的代码,<code>double </code>类型的变量竟然在存储整数类型?而且它不会出现任何语法错误?</p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 自动类型转换</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">double</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> num1</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 10</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(num1); </span><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 10.0</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 两个操作数只要其中一个是double类型的,那么计算结果就会提升为double类型</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 取值范围小的 自动类型转换为 取值范围大的</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">double</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> num2</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 10</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 10.1</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(num2); </span><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 20.1</span></span></code></pre></div><p>这是因为在 Java 中,如果两种类型相互兼容(例如整型和浮点型同属数值类型),那么取值范围小的类型(精度低),可以自动类型转换为取值范围大的类型(精度高)。</p><h3 id="强制类型转换" tabindex="-1">强制类型转换 <a class="header-anchor" href="#强制类型转换" aria-label="Permalink to "强制类型转换""></a></h3><p>有自动类型转换,那应该也有非自动的,我们称之为强制类型转换。</p><p>看个小例子:去年Apple笔记本所占市场份额是20,今年增长市场份额是9.8,求今年所占份额?</p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// apple 笔记本市场份额</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> before</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 20</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 增长的份额</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">double</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> rise</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 9.8</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 现在的份额</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> now</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">)before </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> rise; </span><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 29 不是四舍五入,是直接取整了</span></span></code></pre></div><p>我们发现,上面的代码最后结果使用了<code>int</code>来存储,但是却需要用<code>(int)</code>来标注一下,否则会提示语法错误。这是因为当<code>int</code>和<code>double</code>型数据计算后,它们的结果值已经自动类型转换为了<code>double</code>型,而最后又要将其转换为<code>int</code>型,也就是将一个取值范围大(精度高)的数据,存储到取值范围小的(精度低)类型里,那自然会损失精度(小数点位的值全丢了),所以需要自己手动标注一下,表明我们自己认可这件事。</p><div class="tip custom-block"><p class="custom-block-title">帮助理解类型转换的故事</p><p>假设现在有一个100斤的小麦口袋,还有一个40斤的大米口袋,如果我想把两个口袋换着装东西,40斤大米口袋内的大米自然可以放到100斤小麦口袋里(自动类型转换),但是反之则不行,如果非要这么做,多余的小麦肯定会洒出来(强制类型转换)。</p></div><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 口袋:100斤小麦</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">double</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> mian</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 100</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 口袋:40斤大米</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> mi</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 40</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">mi </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">)mian;</span></span></code></pre></div><h2 id="答题环节" tabindex="-1">答题环节 <a class="header-anchor" href="#答题环节" aria-label="Permalink to "答题环节""></a></h2><h3 id="变量练习" tabindex="-1">变量练习 <a class="header-anchor" href="#变量练习" aria-label="Permalink to "变量练习""></a></h3><details class="details custom-block"><summary>需求:使用变量分别存储个人基本信息,然后逐行输出个人基本信息。</summary><p>提示:个人基本信息可包括:姓名、年龄、性别、身高、体重、婚否等</p></details><details class="details custom-block"><summary>需求:使用 Scanner 分别录入个人基本信息、并逐行输出。</summary><p>提示:个人基本信息可包括:姓名、年龄、性别、身高、体重、婚否等</p></details><h2 id="参考文献" tabindex="-1">参考文献 <a class="header-anchor" href="#参考文献" aria-label="Permalink to "参考文献""></a></h2><p>[1]谭浩强. C程序设计(第4版):清华大学出版社,2010.6</p><p>[2]明日科技. Visual Basic从入门到精通:清华大学出版社 ,2017.6</p><h2 id="后记" tabindex="-1">后记 <a class="header-anchor" href="#后记" aria-label="Permalink to "后记""></a></h2><p>无论是学习任何编程语言,变量都是必不可少的一个基础内容,所以,结合上一篇《Java语法 | 程序的那点事儿》好好在脑海中构想一下变量在内存中的使用吧。</p><p><img src="`+m+'" alt="202010061320866"></p><div class="info custom-block"><p class="custom-block-title">笔者说</p><p>对于技术的学习,笔者一贯遵循的步骤是:先用最最简单的 demo 让它跑起来,然后学学它的最最常用 API 和 配置让自己能用起来,最后熟练使用的基础上,在空闲时尝试阅读它的源码让自己能够洞彻它的运行机制,部分问题出现的原因,同时借鉴这些技术实现来提升自己的代码高度。</p><p>所以在笔者的文章中,前期基本都是小白文,仅仅穿插很少量的源码研究。当然等小白文更新多了,你们还依然喜欢,后期会不定时专门对部分技术的源码进行解析。</p></div>',88);function q(s,_,x,S,f,j){const l=h,p=k("ClientOnly");return n(),d("div",null,[v,r(p,null,{default:g(()=>{var i,a;return[(((i=s.$frontmatter)==null?void 0:i.aside)??!0)&&(((a=s.$frontmatter)==null?void 0:a.showArticleMetadata)??!0)?(n(),y(l,{key:0,article:s.$frontmatter},null,8,["article"])):A("",!0)]}),_:1}),b])}const I=e(E,[["render",q]]);export{V as __pageData,I as default};
|