变量和数据类型(常量)

注意:

  1. 删除无用空行自动生成的注释
  2. package的名字应该小写

1. 程序从安装到运行的原理

1.1 计算机核心硬件介绍

  1. CPU
  • 中央处理器,计算机核心。
  • 用来处理/计算数据
  1. RAM(内存)
  • 用来临时存储数据的
  • 程序运行的时候,就是内存中进行数据处理
  • 速度快,空间小,价格高
  1. ROM(硬盘/磁盘)
  • 用来持久性存储数据的
  • 程序在安装完成后,或者运行结束后英国公将数据持久化到ROM
  • 速度满(IO),空间大,价格低

1.2 程序安装原理

将程序文件存储到ROM

常量 android 常量和变量的概念_变量名

1.3 程序运行原理

CPU 将ROM上的QQ的程序文件 复制到RAM中,QQ在RAM中会占据一块属于它的内存空间

常量 android 常量和变量的概念_常量 android_02

有一些数据为了能在程序中方便使用,会将它们定义为变量。

变量就是某些数据在对应程序内存中的一块空间表示。

2. 变量

2.1 概述

能表示可变状态,并且具有存储空间的抽象概念。

常量 android 常量和变量的概念_变量名_03

2.2 变量的组成

  1. 变量的数据类型
  2. 变量名
  3. 变量值
2.2.1 数据类型

按照数值和非数值划分:(8种类型)

  • 数值
  • 整数:byte、short、int 、long
  • 浮点树:float、double
  • 10.5、3.14
  • 非数值
  • 布尔型:boolean
  • true(真)、false(假)
  • 字符型:char(只要被单引号包裹,里面只能出现一个内容)
  • ‘a’、‘你’、‘1’、‘男’
  • 一种特殊类型,字符串类型 String(被双引号包裹,里面可以出现任何值)
  • “查老师真好”、“查老师的学生真好”、“1”
  • 它是引用数据类型的一种,不是基本数据类型,比较特别!!!

Java中将int 和 double分别作为整数和小数的默认类型,意味着你在Java中写了一个10,Java会将它存储为int类型。

主要原因是,这两个类型的取值范围,已经能够满足我们绝大多数的使用场景。

2.2.2 变量名

变量名可以说是未来使用变量的关键,所以它一定有命名规范

  1. 变量名可以由字母、数字、下划线、美元符号组成,但是数字不能开头。
  • 正例:name、name1
  • 反例:1name、xx%xx
  1. 变量名不能使用关键字
  • 关键字:它们是Java中赋予了特殊含义的单词,例如:public 、class
  • 保留字:它们是目前Java还没用,但是未来可能应用的,例如:goto、var(已经变为关键字)
  • 建议:命名时建议不要采用单个词汇,或者,敏感词汇stuName
  1. 变量名应该见名知意(为了能够区分对应变量存储数据的含义)
  • 正例:存储名字,则命名为 name、mingZi
  • 反例:存储名字命名为 a
  1. 变量名应该遵循驼峰命名法(为了区分多个单词)
  • 小驼峰:首字母小写,如果有多个单词,后面每个单词首字母大写
  • 正例:存储用户名密码:userPassword
  • 反例:userpassword
  • 大驼峰:每个单词首字母大写
  • 用于类名 HelloWorld
  1. 变量名可以遵循下划线连接法(蛇形命名法)
    单词都小写,多个单词之间使用下划线连接。
  • 正例:存储用户密码,use_password
  1. 不要将拼音和英文混合
  • 反例:学生姓名,xueshengName

2.3 变量的使用

常见的使用方式,有两种:

  1. 先声明变量,再赋值
// 数据类型 变量名:
String name;
// 赋值
name = "小明";
  1. 声明变量的同时,赋值
// 数据类型 变量名 = 变量值;
String name = "小红";

其实还有其他定义方式,例如:String name1,name2,name3="小明";

在定义完变量之后,可以用于输出、计算等行为

// 将数据存储到变量中
// 存储姓名
String name;
name = "野猪佩奇";

// 存储年龄
int age = 2;

// System.out.println(name);
// System.out.println(age);

// System.out.println("我的名字是:name");
// System.out.println("我的年龄是:age");

// 拼接
// 拼接为什么使用 + 号?
// println是在输出一个字符串内容,但是现在我们想输出的内容不仅仅是字符串,还需要加上一个不确定类型的变量。
// 其他类型数据(包含字符串类型)如果要和字符串拼接在一起,需要 + 号,拼接完的结果会变为一个整体字符串
System.out.println("我的名字是:" + name);
System.out.println("我的年龄是:" + age);

System.out.println("我的名字是:" + name + ",我的年龄是:" + age);

3. 常量

在Java中,其值不能改变的变量被称为常量。常量被final修饰,被final修饰则无法二次修改值。

final : 最终

// 计算圆的面积   π * r * r
// 圆的半径为 2

// 定义变量存储半径
double r = 2;

// 定义变量存储π
final double pi = 3.14;
// 不小心改动了该值(重新赋值)
// pi = 3;

// 计算结果并存储到变量
double area = pi * r * r;

System.out.println("圆的面积为:" + area);

常量的命名规范:

  • 所有单词的字母度大写,如果有多个单词,用下划线连接
  • 正例:PI、USER_PASSWORD

4. 程序交互

Scanner 使用。

Scanner 是Java中提供的一个扫描器,它可以帮助我们扫描控制台输入的内容,并将其转换为你想要的类型值。

  1. 在你想使用Scanner的类中添加一条导入代码
    import java.until.Scanner加在包与类声明之间
package demo4;

import java.util.Scanner; // 加在类声明和包声明之间

public class Demo1 {

	public static void main(String[] args) {

	}

}
  1. 创建Scanner对象
// 创建对象,名字是自定义的,常见名scan、input
Scanner scan = new Scanner(System.in);
  1. 使用它的API(功能)
// 想输入年龄
int age = scan.nextInt();
// 想输入余额
double money = scan.nextDouble();
// 想输入姓名
String name = scan.next();

可以添加一些输出语句来辅助输入

// 想输入年龄
System.out.print("请输入您的年龄:");
int age = scan.nextInt();
// 想输入余额
System.out.print("请输入您的余额:");
double money = scan.nextDouble();
// 想输入姓名
System.out.print("请输入您的姓名:");
String name = scan.next();