Java---变量和基本数据类型
变量
在Java中,变量分为两种:基本类型的变量和引用类型的变量。
在Java中变量必须先定义后使用,在定义变量的时候可以给它一个初始值.如果不写初始值,默认为0或空.
变量的一个重要特点是可以重新赋值,还可以赋值给其他变量.
public class Main {
public static void main(String[] args) {
int x = 100; // 定义int类型变量x,并赋值100
System.out.println("x=" + x); // 打印x变量的值
x = 200; // 重新赋值为200
System.out.println("x=" + x); // 打印变量的值
int n = x; // 变量x的值赋值给变量n
System.out.println("n=" + n); // 打印n的值 200
n = n + 56; // 重新赋值n
System.out.println("n=" + n); // 打印n的值 256
System.out.println("x=" + x); // 打印x的值 200
}
}
基本数据类型
基本数据类型是CPU可以直接进行运算的类型, Java定义了以下几种基本数据类型:
- 整数类型: int, short, long, byte
- 浮点类型: float, double
- 字符类型: char
- 布尔类型: boolean
计算机内存最小的存储单元是字节byte, 一个字节就是一个8位二进制整数, 即8bit, 0-255. 每个内存单元可以看做是一间房间, 内存地址就是门牌号.
| 基本数据类型 | 占用字节数 |
|---|---|
| int | 4 |
| short | 2 |
| long | 8 |
| byte | 1 |
| float | 4 |
| double | 8 |
| char | 2 |
整型
Java只定义了带符号的整型, 且同一个数的不同进制的表示时完全相同的.
int i = 21456;
int i2 = -89656;
int i3 = 2_000_000; // 加下划线更容易识别
int i4 = 0x11; // 0x十六进制
int i5 = 0b1111; // 0b八进制
long l = 932565400000L; // long 结尾要加L
浮点型
float f1 = 3.14f; // float类型要加上f后缀
float f2 = 3.4e38f;
double d1 = 1.79e308;
double d2 = 4.9e-324;
布尔型
true和false两个值, 是关系运算的计算结果
boolean b1 = true;
boolean b2 = false;
boolean isGreater = 5 > 3; // 结果为true
java对布尔类型的存储没有做规定, 通常JVM会把boolean表示为4字节整数.
字符型
char类型使用单引号', 且仅由一个字符, 要和双引号"的字符串类型区分.
public class Main {
public static void main(String[] args) {
char v = 'v';
char hi = '嗨';
System.out.println(v);
System.out.println(hi);
}
}
常量
定义变量的时候, 加上修饰符final, 变量就变成了常量, 根据习惯常量名通常全部大写.
final double PI = 3.14;
double r = 4;
double area = PI * r * r;
PI = 3; // 编译错误
常量在定义时初始化之后就不可以再次复制, 否则会导致编译错误.
常量的作用是用有意义的变量名来避免魔术数字, 比如定义一个常量来表示3.14, 如果需要提高计算精度, 只需在常量定义处修改,不必在所有地方替换.
var关键字
当类型的名字太长, 想省略变量类型时, 可以使用var关键字.
StringBuilder sb = new StringBuilder(); // 类型的名字较长
var sb = new StringBuilder();
编译器会根据赋值语句自动推断出变量的类型.
变量的作用范围
在java中, 多行语句用{ }括起来,控制语句都以{ }作为他们自身的范围.
if ( ) { // if开始
while ( ) { // while开始
if ( ) { // if开始
} // if结束
} // while结束
} // if结束
定义变量时, 要遵循作用域最小化原则, 尽量将变量定义在尽可能小的作用域,并且不要重复使用变量名.
Java---变量和基本数据类型的更多相关文章
- Java 变量及基本数据类型
1.Java变量 1.1 变量的概念 内存中开辟的一块存储空间,用于存放运算过程中需要用到的数据: 该区域有自己的名称(变量名)和类型(数据类型): 该区域的数据可以在同一类型范围内不断变化: 1) ...
- JAVA 变量 数据类型 运算符 知识小结
---------------------------------------------------> JAVA 变量 数据类型 运算符 知识小结 <------------------ ...
- Java变量与数据类型之三:数据类型与转义字符
大家好,小乐又来了,上一篇:乐字节Java变量与数据类型之二:Java常量与变量, 今天接着讲Java变量与数据类型之三:数据类型与转义字符 一.数据类型 1.定义 Java是一种强类型语言,针对每种 ...
- 乐字节Java变量与数据类型之一:Java编程规范,关键字与标识符
大家好,我是乐字节的小乐,这次要给大家带来的是Java变量与数据类型.本文是第一集:Java编程规范,关键字与标识符. 一.编程规范 任何地方的名字都需要见名知意: 代码适当缩进 书写过程成对编程 对 ...
- java变量、数据类型
public class Test { public static void main(String[] args) { //变量 //数据类型 变量名; //基本数据类型: //一个字节8位 //整 ...
- java变量和数据类型
变量 数据类型 变量名 = 数据值: 注意事项: 变量定义后可以不赋值,使用时再赋值.不赋值不能使用 变量使用时有作用域的限制. 变量不可以重复定义 数据类型转换 自动类型转换 范围大的数据类 ...
- java的五种数据类型解析
不知道大家对java的简单数据类型是否了解,下面针对Java的五种类型简单数据类型表示数字和字符,进行详细的讲解和分析. 一.简单数据类型初始化 在Java语言中,简单数据类型作为类的成员变量声明时自 ...
- JAVA中分为基本数据类型及引用数据类型
一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768 ...
- JAVA基础知识之数据类型
JAVA的数据类型知识点主要包括基本数据类型,包装类,字符串类(String,StringBuffer, StringBuilder区别和用法),数组,数据类型转换等等,暂时只想到这么多,后面会再补充 ...
- JAVA变量的类型,定义变量
JAVA中常用的数据类型 数据类型 数据类型解释 说明 char 字符型 用于存储单个字符,如:性别“男”.“女”,电灯“开”.“关” int 整形 用于存储整数,如一天的时间是24小时,一月份是31 ...
随机推荐
- Mysql 8.0 配置主从备份
my.ini文件的位置 mysql 8.0安装完过后没有my.ini疑惑了我好久,最后发现,配置文件在,C盘的一个隐藏文件夹里面 具体路径如下图 主库配置 修改主库INI文件 在[mysqld]节点添 ...
- Android 12(S) 图形显示系统 - 初识ANativeWindow/Surface/SurfaceControl(七)
题外话 "行百里者半九十",是说步行一百里路,走过九十里,只能算是走了一半.因为步行越接近目的地,走起来越困难.借指凡事到了接近成功,往往是最吃力.最艰难的时段.劝人做事贵在坚持, ...
- 「科技」在线 O(1) 逆元
问题:固定模数 \(p\),多次回答某个数 \(a\) 的逆元.强制在线. 本文提供一个 \(O(p^{\frac{2}{3}})\) 预处理,\(O(1)\) 查询的做法. 首先定义一下 Farey ...
- Linux移植到自己的开发板(三)根文件系统
@ 目录 1 Linux内核配置 2 ramdisk制作 3 busybox配置 4 genext2fs生成镜像 为了快速调试,采用ramdisk进行根文件系统测试.要使内核能挂载ramdisk根文件 ...
- C++设计模式 - 访问器模式(Visitor)
行为变化模式 在组件的构建过程中,组件行为的变化经常导致组件本身剧烈的变化."行为变化" 模式将组件的行为和组件本身进行解耦,从而支持组件行为的变化,实现两者之间的松耦合. 典型模 ...
- ShardingSphere-Proxy(一)
1.现实中的问题 我们知道数据库的数据,基本80%的业务是查询,20%的业务涵盖了增删改,经过长期的业务变更和积累数据库的数据到达了一定的数量之后,直接影响的是用户与系统的交互,查询时的速度,插入数据 ...
- Java Byte不能用equals
- Mysql查询优化器之关于子查询的优化
下面这些sql都含有子查询: mysql> select * from t1 where a in (select a from t2); mysql> select * from (se ...
- 什么是 Spring Cloud?
Spring cloud 流应用程序启动器是 于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成.Spring cloud Task,一个生命周期短暂的微服务框架,用于快 ...
- request表示HttpServletRequest对象?
request表示HttpServletRequest对象.它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法. response表示 ...