变量和常量

变量和常量

  1. 保留了无用的空行和注释

    • Eclipse自动生成的 // ToDo xxx

    • 记得写完后将自己下意识敲出来的空行删掉

    • public class HelloWorld{
      	public static void main(String[] args){
      
      		xxxx
      	}
      
      
      }
      
  2. 还在src的默认package中创建类

    • 包名package应该小写

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

1.1 计算机核心硬件介绍

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

1.2 程序安装的原理

将程序文件存储到 ROM 上。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HG1HxqE6-1611803175560)(变量和常量.assets/image-20210105094543881.png)]

1.3 程序运行的原理

CPUROM 上的 QQ的程序数据复制到 RAM 中, QQ 在RAM中会占据一块属于它的内存空间。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qUw6r7Lo-1611803175562)(变量和常量.assets/image-20210105095748986.png)]

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

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

2. 变量

2.1 概述

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VMHqJY6e-1611803175564)(变量和常量.assets/image-20210105102335512.png)]

2.2 变量组成

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8cX0XZEH-1611803175566)(变量和常量.assets/image-20210105104514611.png)]

2.2.1 数据类型

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

  • 数值
    • 整数:byte、short、int、long
      • 10、20、1、 -5
    • 浮点数: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%x
  2. 变量名不能使用关键字、保留字

    • 关键字:它们是Java中赋予了特殊含义的单词,例如:public、class
    • 保留字:它们是目前Java还没用,但是未来很有可能应用的,例如:goto、var(已经变为关键字)
    • 建议:命名时建议不要采用单个词汇,或者使用敏感词汇。 stuName
  3. 变量名应该见名知意(为了能够区分对应变量存储数据的含义)

    • 正例:存储名字,则命名为 name、mingZi
    • 反例:存储名字,命名为了 a
  4. 变量名应该遵循驼峰命名法(为了区分多个单词)

    • 小驼峰:首字母小写,如果有多个单词,后面的每个单词首字母大写
      • 正例:存储用户密码,userPassword
      • 反例:userpassword
    • 大驼峰(帕斯卡命名法):每个单词的首字母都大写
      • 它用于类名 HelloWorld
  5. 变量名可以遵循下划线连接法(蛇形命名法)

    单词都小写,多个单词之间使用下划线连接。

    • 正例:存储用户密码,user_password
  6. 不要将拼音和英文混合

    • 反例:学生姓名,xueshengName

2.3 变量的使用

常见的定义方式,有两种:

  1. 先声明变量,再赋值

    // 数据类型 变量名;
    String name;
    // 赋值
    // 变量名 = 变量值;
    name = "小明";
    
  2. 声明变量的同时,赋值

    // 数据类型 变量名 = 变量值;
    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中提供的一个扫描器,它可以帮助我们扫描控制台输入的内容,并将其转换为你想要的类型值。

  1. 导入Scanner

    在你想使用Scanner的类中,添加一行导入代码

    import java.util.Scanner;

    package demo4;
    
    import java.util.Scanner; // 加在类声明和包声明之间
    
    public class Demo1 {
    
    	public static void main(String[] args) {
    
    	}
    
    }
    
    
  2. 创建Scanner对象

    // 创建对象,名字是自定义的,常见名:scan、input
    Scanner scan = new Scanner(System.in);
    
  3. 使用它的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();
    

语句来辅助输入。

// 想输入年龄
System.out.print("请输入您的年龄:");
int age = scan.nextInt();
// 想输入余额
System.out.print("请输入您的余额:");
double money = scan.nextDouble();
// 想输入姓名
System.out.print("请输入您的姓名:");
String name = scan.next();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值