Java基础(3)——变量
从这篇文章起开始正式进入正题啦,本文将较为简单的介绍一下变量以及常量。变量,顾名思义,就是可以变的量,常量那么久相反了,常常不变的量就叫常量。_(¦3」∠)
变量
在 Java 中,任何一个变量都得有他的 “种族”(类型)。所以每当你创造一个变量的时候,就需要告诉编译器,它是哪个“种族” 的~
类型 变量名 [ = 值];
》1. 创建这个变量的过程叫声明变量
》2. 第一次给值的这个变量叫初始化
》3. 每一句代码的后面都得加; 结尾,不支持中文
虽然说起名字这种事情是大家的自由,但是 Java 为了防止它不认识你起的名字,也有一些条件限制((2)篇编码规范中有提及)。大驼峰小驼峰就不在细说,这里说一说基本要求:只能以$、字母、下划线、数字来进行组合,且必须遵守命名规范第一条。详情见 java 基础(2)——命名规范(1)。
for example:
| 变量 | 错误原因 |
|---|---|
| 1a | 不能以数字开头 |
| $a/a$ | 不能以美元符号开头或结尾 |
| _a/a_ | 不能以下划线开头或结尾 |
| a*/Hello Ahan | 不能有除 $_字母数字外任何字符,空格也不行哦 |
| 213 | 不能为纯数字 |
| public | 不能用关键字(上节有解释关键字哈) |
变量的数据类型
说到变量的 “种族”,那就得详解一下变量的八种基本变量类型 le~
| 序号 | 类型 | 名称 | 字节 | 范围 | 默认值 | 说明 |
|---|---|---|---|---|---|---|
| 0 | byte | 字节 | 1 字节 | -128~127 | 0 | 存储一个字节数据, 超过范围报错 |
| 1 | short | 短整型 | 2 字节 | -2-15~215-1 | 0 | 兼容性考虑,一般很少使用到 |
| 2 | int | 整型 | 4 字节 | -2-31~231-1 | 0 | 存储整数,常用。 |
| 3 | long | 长整型 | 8 字节 | -2-63~263-1 | 0 | 存储长整数,long 性变量后面常加上 L |
| 4 | float | 单精度浮点型 | 4 字节 | 1.4013E-45~3.4028E+38 | 0.0F | 存储浮点数(浮点型通常是小数)后面可带 F 用以区分 |
| 5 | double | 双精度浮点型 | 8 字节 | 4.9E-324~1.7977E+308 | 0.0D | 存储浮点数,后面可带 D 用以区分 |
| 6 | char | 字符型 | 2 字节 | 0~216-1 | '\u0000' | 存储一个字符 |
| 7 | boolean | 布尔型 | 1 字节 | true,flase | flase | 存储一个逻辑变量 (true,false) |
注意:这里序号是从 0 开始,一般计算机语言都从 0 开始哦,养成这个习惯吧~
另外: 1 字节 = 8 位,215 = 32768
代码测试
上面的表可能看着比较冷酷无情 (/ω\),我们用代码执行一下看看到底上面说的有没有假话吧~
- byte
// byte的用法
byte a = 100;
System.out.println("byte变量的值为:" + a);
输出:
反例:

- short
// short的用法
short s = 400;
System.out.println(s);
- int
// int的用法
int a = 1;
System.out.println(a);
- long
// long的用法
long a = 100L;
System.out.println(a);
- float
// float的用法
float a = 100;
System.out.println("float输出结果是" + a);
输出结果:

因为定义的为浮点型,所以这里输出的值是 100.0
那么我们需要注意的是直接定义float a = 100.0;这个是错误的。

为什么呢?我们接着看下一个变量。
- double
// double的用法
double a = 100;
System.out.println("double输出结果是" + a);
输出结果:

然后我们看看 100.0~

诶?好像 double 可以了,那么这就说明小数在 Java 中是默认为双精度的浮点型存储。那么问题又来了,我就想要个 float 的单精度怎么办?
So easy~

这时候就很简单了,只需要告诉它我这个是 float 型的就 OK 啦~
- char
// char的用法
char a = '我';
char b = 'c';
System.out.println(a + "-" +b);
char c = 99;
System.out.println("c=="+c);
输出结果:
有个奇怪的输出冒出来了啊喵,为啥 99 变成 c 了呢?这就涉及到了编码的问题惹,Java 用的是 Unicode 编码(包含 8 位的 ASCII 编码),所以 99 会被转成相应的字符了~ 那这里就附上 ASCII 编码的表格以做记录吧~

以上,阿里嘎多,20190405 from ahanwhite。
Java基础(3)——变量的更多相关文章
- Java基础:变量、常量、作用域
JAVA基础:变量.常量.作用域 变量:可以变化的量.Java是强类型语言,每个变量都必须声明类型. Java变量是程序中最基本的存储单元,要素包括变量名,类型和作用域. //类变量 static s ...
- Java基础-成员变量与局部变量
Java基础-成员变量与局部变量 1.什么是成员变量与局部变量? public class Student { String name; int high; public void stu ...
- Java基础之变量
Java基础之变量 目录 Java基础之变量 1.变量概述 1.1 为什么需要变量 1.2 简单理解 1.3 变量使用注意事项 1.4 程序中+号的使用 1.5 Java数据类型 1.6 整数类型 1 ...
- Java基础(变量、运算符)
第2天 Java基础语法 今日内容介绍 u 变量 u 运算符 第1章 变量 1.1 变量概述 前面我们已经学习了常量,接下来我们要学习变量.在Java中变量的应用比常量的应用要多很多.所以变量也是尤为 ...
- java基础——各种变量你晕了不?
java 中的变量大致分为 成员变量 和 局部变量 两大类. 成员变量: 在类体里面定义的变量称为成员变量. 假设该成员变量有 static keyword修饰.则该成员变量称为 静态 ...
- 再回首,Java温故知新(六):Java基础之变量
变量在所有的编程语言中都有,属于最最基础的部分,学习这部分基本不分语言,变量可分为成员变量和局部变量 Java中变量的声明格式如下,修饰符如果不加,默认是default,关于修饰符,我们会在后续讲到, ...
- Java基础总结--变量、运算符总结
---变量基本概述----变量作用:就是用来存储数据变量的声明:变量类型 变量名;变量类型---区分不同类型的数据,变量名--按名访问变量变量名(规则):见名识意,第一个字母小写后面驼峰规则变量的作用 ...
- java基础(3):变量、运算符
1. 变量 1.1 变量概述 前面我们已经学习了常量,接下来我们要学习变量.在Java中变量的应用比常量的应用要多很多.所以变量也是尤为重要的知识点! 什么是变量?变量是一个内存中的小盒子(小容器), ...
- Java基础(变量数&常量&据类型&类型转换)
什么是变量: 变量就是一个不固定的数值,它随时会改变,就像银行卡里存的钱一样会变动. 变量的格式:1 数据类型 变量名=变量值: 2 数据类型 变量名: 变量名=变量值: 变量的三大要素:1变量 ...
- java基础(四) -变量类型
在Java语言中,所有的变量在使用前必须声明.声明变量的基本格式如下: type identifier [ = value][, identifier [= value] ...] ; 格式说明:ty ...
随机推荐
- SpringMVC--视图
本章简介 视图(View)和视图解析器(ViewResolver)的工作流程: 当请求处理方法处理完请求之后,会返回String.ModelAndView或View对象,如return “succes ...
- Mybatis 动态Sql语句《常用》
MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦.拼接的时候要确保不能忘了必要的空格,还要注意省掉 ...
- [Swift实际操作]七、常见概念-(13)使用UIScreen查询设备屏幕信息
本文将为你演示,如何获得设备的屏幕信息,了解设备的屏幕尺寸等信息,才能做出适配性更好的应用程序. 首先导入需要使用到的界面工具框架 import UIKit 然后通过UIScreen类,就可以获得设备 ...
- 查看inux系统类型和版本
当我们使用一台新的linux服务器的时候,为了区分他们的命令,我们首先第一步就是要搞清楚这个系统的类型和版本号,据此再来使用对应的命令. 下面来看看可以使用以下基本命令来查看 Linux 发行版名称和 ...
- collections 模块常用方法学习
前情提要: 1:模块介绍 个人认为就是 python自带的骚操作模块.如果基础能力够给力的话,完全用不到 个人认为解析式才是装逼神奇,用模块的都是伪娘 2:deque 双向列表 from coll ...
- 对Routers的理解
路由Routers 对于视图集ViewSet,我们除了可以自己手动指明请求方式与动作action之间的对应关系外,还可以使用Routers来帮助我们快速实现路由信息. REST framework提供 ...
- jquery json实现面向对象 百度十二星座
效果: 源码: index.html <!DOCTYPE html> <html lang="en"> <head> <meta char ...
- L02-RHEL6.5环境中安装JDK1.8
注: 1.本文安装的是jdk1.8,采用rpm包的方式安装. 2.rpm安装方式默认会把jdk安装到/usr/java/jdk1.8xxx 路径上,若想将JDK安装到特定路径,需以源码方式安装,可参考 ...
- pycharm连接数据库出现时区jdbc问题
unrecognized or represents more than one time zone. You must configure either the server or JDBC dri ...
- mariadb(mysql)的安装
1 使用官方源安装mariadb vim /etc/yum.repos.d/MariaDB.repo 添加repo仓库配置内容 [mariadb] name=MariaDB baseurl=http: ...