变量和常量
检查问题分析
-
保留了无用的空行和注解
-
Eclipese自动生成的 // ToDo xxx
-
记得写完后将自己意识敲出来的空行删掉
-
public class HelloWorld{ public static void main(String[] args){ xxxx } }
-
-
还在src的默认packsge中创建类
- 包名package应该小写
-
单词的拼写问题
- demo->dome
- main->mian
- hello->hollo
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数据类型
- 数值
- 整数:byte、short、int、long
- 10、20、1 -5
- 浮点数:float、double
- 10.5、3.14
- 整数:byte、short、int、long
- 非数值
- 布尔型:boolean
- true(真)、false(假)
- 字符型:char(只要被单引号包裹,里面只能出现一个内容)
- ‘a’、‘你’、‘1’、‘男’
- 一种特殊的类型,字符串类型 String(被双引号包裹,里面可以出现任何值)
- “查老师真好”、“邢老师真好”、“查老师学生真好”、“1”
- 它是引用数据类型的一种,不是基本数据类型,比较特别!!!
- 布尔型:boolean
Java中将int和double分别作为整数和小数的默认类型,意味着你在Java中写了一个10,Java会将它存储为int类型。
主要原因是,这两个类型的取值范围,已经能够满足我们绝大多数的使用场景。
2.2.2变量名
变量名可以说是未来使用变量的关键,所以它也有一定命名规范。
-
变量名可以由字母、数字、下划线、美元符号组成,但是数字不能开头。
- 正例:name、name1
- 反例:1name、xx%x
-
变量名不能使用关键字,保留字
- 关键字:public、class,它们是Java赋予了特殊含义的单词,例如public、class
- 保留字:它们是目前Java还没用,但是未来很有可能应用的,例如: goto、var(已经变为关键字)
- 建议:命名时建议不要采用单个词汇,或者使用敏感词汇。stuName
-
变量名应该见名知意(为了能够区分对应变量存储数据的含义)
- 正例:存储名字,则命名为name、mingZi
- 反例:存储名字,命名为了a
-
变量名应该遵循驼峰命名法(为了区分多个单词)
- 小驼峰:首字母小写,如果有多个单词,后面的每个单词首字母大写
- 正例:存储用户密码:userPassword
- 反例:userpassword
- 大驼峰(帕斯卡命名法):每个单词的首字母都要大写
- 它用于类名 HelloWorld
- 小驼峰:首字母小写,如果有多个单词,后面的每个单词首字母大写
-
变量名可以遵循下划线连接法(蛇形命名法)
单词都小写,多个单词之间使用下划线链接。
- 正例:存储用户密码,user_passworld
-
不要将拼音和英文混合
- 反例:学生姓名,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修饰则无法二次修改值。
π:3.14
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
在你想使用Scanner的类中,添加一行导入代码
import java.util.Scanner;
package DaTuoFeng;
import java.util.Scanner; // 加在类声明和包声明之间
public class DaTuoFeng {
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();