变量和数据类型(常量)
注意:
- 删除无用空行自动生成的注释
- 包
package
的名字应该小写
1. 程序从安装到运行的原理
1.1 计算机核心硬件介绍
- CPU
- 中央处理器,计算机核心。
- 用来处理/计算数据
- RAM(内存)
- 用来临时存储数据的
- 程序运行的时候,就是内存中进行数据处理
- 速度快,空间小,价格高
- ROM(硬盘/磁盘)
- 用来持久性存储数据的
- 程序在安装完成后,或者运行结束后英国公将数据持久化到ROM
- 速度满(IO),空间大,价格低
1.2 程序安装原理
将程序文件存储到ROM上
1.3 程序运行原理
CPU 将ROM上的QQ
的程序文件 复制到RAM中,QQ
在RAM中会占据一块属于它的内存空间
有一些数据为了能在程序中方便使用,会将它们定义为变量。
变量就是某些数据在对应程序内存中的一块空间表示。
2. 变量
2.1 概述
能表示可变状态,并且具有存储空间的抽象概念。
2.2 变量的组成
- 变量的数据类型
- 变量名
- 变量值
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 变量名
变量名可以说是未来使用变量的关键,所以它一定有命名规范
- 变量名可以由字母、数字、下划线、美元符号组成,但是数字不能开头。
- 正例:name、name1
- 反例:1name、xx%xx
- 变量名不能使用关键字
- 关键字:它们是Java中赋予了特殊含义的单词,例如:public 、class
- 保留字:它们是目前Java还没用,但是未来可能应用的,例如:goto、var(已经变为关键字)
- 建议:命名时建议不要采用单个词汇,或者,敏感词汇stuName
- 变量名应该见名知意(为了能够区分对应变量存储数据的含义)
- 正例:存储名字,则命名为 name、mingZi
- 反例:存储名字命名为 a
- 变量名应该遵循驼峰命名法(为了区分多个单词)
- 小驼峰:首字母小写,如果有多个单词,后面每个单词首字母大写
- 正例:存储用户名密码:userPassword
- 反例:userpassword
- 大驼峰:每个单词首字母大写
- 用于类名 HelloWorld
- 变量名可以遵循下划线连接法(蛇形命名法)
单词都小写,多个单词之间使用下划线连接。
- 正例:存储用户密码,use_password
- 不要将拼音和英文混合
- 反例:学生姓名,xueshengName
2.3 变量的使用
常见的使用方式,有两种:
- 先声明变量,再赋值
// 数据类型 变量名:
String name;
// 赋值
name = "小明";
- 声明变量的同时,赋值
// 数据类型 变量名 = 变量值;
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中提供的一个扫描器,它可以帮助我们扫描控制台输入的内容,并将其转换为你想要的类型值。
- 在你想使用Scanner的类中添加一条导入代码
import java.until.Scanner
加在包与类声明之间
package demo4;
import java.util.Scanner; // 加在类声明和包声明之间
public class Demo1 {
public static void main(String[] args) {
}
}
- 创建Scanner对象
// 创建对象,名字是自定义的,常见名scan、input
Scanner scan = new Scanner(System.in);
- 使用它的
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();