变量

在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---变量和基本数据类型的更多相关文章

  1. Java 变量及基本数据类型

    1.Java变量 1.1 变量的概念 内存中开辟的一块存储空间,用于存放运算过程中需要用到的数据: 该区域有自己的名称(变量名)和类型(数据类型): 该区域的数据可以在同一类型范围内不断变化: 1) ...

  2. JAVA 变量 数据类型 运算符 知识小结

    ---------------------------------------------------> JAVA 变量 数据类型 运算符 知识小结 <------------------ ...

  3. Java变量与数据类型之三:数据类型与转义字符

    大家好,小乐又来了,上一篇:乐字节Java变量与数据类型之二:Java常量与变量, 今天接着讲Java变量与数据类型之三:数据类型与转义字符 一.数据类型 1.定义 Java是一种强类型语言,针对每种 ...

  4. 乐字节Java变量与数据类型之一:Java编程规范,关键字与标识符

    大家好,我是乐字节的小乐,这次要给大家带来的是Java变量与数据类型.本文是第一集:Java编程规范,关键字与标识符. 一.编程规范 任何地方的名字都需要见名知意: 代码适当缩进 书写过程成对编程 对 ...

  5. java变量、数据类型

    public class Test { public static void main(String[] args) { //变量 //数据类型 变量名; //基本数据类型: //一个字节8位 //整 ...

  6. java变量和数据类型

    变量 数据类型  变量名  =  数据值: 注意事项: 变量定义后可以不赋值,使用时再赋值.不赋值不能使用 变量使用时有作用域的限制. 变量不可以重复定义 数据类型转换 自动类型转换  范围大的数据类 ...

  7. java的五种数据类型解析

    不知道大家对java的简单数据类型是否了解,下面针对Java的五种类型简单数据类型表示数字和字符,进行详细的讲解和分析. 一.简单数据类型初始化 在Java语言中,简单数据类型作为类的成员变量声明时自 ...

  8. JAVA中分为基本数据类型及引用数据类型

    一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768 ...

  9. JAVA基础知识之数据类型

    JAVA的数据类型知识点主要包括基本数据类型,包装类,字符串类(String,StringBuffer, StringBuilder区别和用法),数组,数据类型转换等等,暂时只想到这么多,后面会再补充 ...

  10. JAVA变量的类型,定义变量

    JAVA中常用的数据类型 数据类型 数据类型解释 说明 char 字符型 用于存储单个字符,如:性别“男”.“女”,电灯“开”.“关” int 整形 用于存储整数,如一天的时间是24小时,一月份是31 ...

随机推荐

  1. tensorflow源码解析之framework-device

    目录 什么是设备 设备属性描述 device_base 关系图 涉及的文件 迭代记录 1. 什么是设备 "设备"是一个很容易引起混淆的概念,在TF中,设备device专指能够执行实 ...

  2. LGP5992题解

    贪心和DP一样,上来先找规律 考虑一种特殊情况:菊花图. 很容易发现这是小学数学题,排序后取中点. 来考虑另一种情况:深度为 3 的完全二叉树. 假设这颗完全二叉树的节点编号是按照线段树编号的,给定权 ...

  3. 5种常见的Docker Compose错误

    在构建一个容器化应用程序时,开发人员需要一种方法来引导他们正在使用的容器去测试其代码.虽然有几种方法可以做到这一点,但 Docker Compose 是最流行的选择之一.它让你可以轻松指定开发期间要引 ...

  4. [实验吧](web)因缺思厅的绕过 源码审计绕过

    0x00 直接看源码吧 早上写了个注入fuzz的脚本,无聊回到实验吧的题目进行测试,发现了这道题 地址:http://ctf5.shiyanbar.com/web/pcat/index.php 分析如 ...

  5. 测试odbc连接sqlsever数据库是否成功的代码

    1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<windows.h> 4 #include<sql.h ...

  6. dp:最长非递减序列

    #include <iostream.h> void main() { int i,j,a[14]={5,6,-6,-1,9,10,-5,-3,16,4,3,-4,-3,5}; int d ...

  7. java 学习笔记(一)

    书 head first java 1. 2.加强版的FOR循环 3. 通过super引用父类 4.多态 5.接口和抽象类 接口 6.多线程锁 7.JDBC

  8. 什么是BASH?

    BASH是Bourne Again SHell的缩写.它由Steve Bourne编写,作为原始Bourne Shell(由/ bin / sh表示)的替代品.它结合了原始版本的Bourne Shel ...

  9. cookie可设置哪些属性?httponly?

    chrome控制台的application下可查看: cookie name 字段为一个cookie的名称. value 字段为一个cookie的值. domain 字段为可以访问此cookie的域名 ...

  10. 【Java面试宝典】说说你对 Spring 的理解,非单例注入的原理?它的生命周期?循环注入的原理, aop 的实现原理,说说 aop 中的几个术语,它们是怎么相互工作的?

    AOP与IOC的概念(即spring的核心) IOC:Spring是开源框架,使用框架可以使我们减少工作量,提高工作效率并且它是分层结构,即相对应的层处理对应的业务逻辑,减少代码的耦合度.而sprin ...