Java基础知识点(变量和常量)

Java标识符

Java 中标识符是为方法、变量或者其他用户定义项定义的名称。
标识符用来对变量、常量、类和方法等进行命名。

标识符命名规则:

  1. 标识符由数字(0~9)、美元符号($)、下划线(_)以及Unicode字符集组合构成;
  2. 标识符各符号之间没有空格;
  3. 标识符第一个字符不能为数字;
  4. 标识符不能为关键字和保留字;
  5. 标识符的命名最好能反映其作用。

注:在Java中,是区分大小写的,标识符也包括关键字。

关键字
Java 的关键字对 Java 编译器有特殊的意义,它们用来表示一种数据类型,或者表示程序的结构等。
保留字是为 Java 预留的关键字,它们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。
在这里插入图片描述

Java变量

变量就是指代在内存中开辟的存储空间,用于存放运算过程中需要用到的数据。
变量的声明
变量必须先声明后使用。
相同的变量只能声明一次。
格式:变量类型 变量名 = 变量值,如

int x = 10;

未经声明的变量不能使用,Java语言语法规定,变量使用之前必须声明,否则会有编译错误
在这里插入图片描述
如果多个变量的类型一样,可以在一条语句中声明,中间使用逗号分隔

int x = 10,y = 3;

变量的命名
命名规则:

  1. 满足标识符的命名规则;
  2. 符合驼峰法命名规范;
  3. 尽量简单,做到见名知意;
  4. 变量名的长度没有限制,但尽量做到第三条;

变量的访问
对变量的操作即为对其所存储的数据的操作
在这里插入图片描述
在Java中,声明变量必须先指定好变量的数据类型,之后变量只能存储该类型的数据。
变量在声明时指定了它的数据类型, Java编译器会检测对该变量的操作是否与其类型匹配,如果对变量的赋值或者操作与其类型不匹配,会产生编译错误。
在这里插入图片描述
在这里插入图片描述

数据类型

在这里插入图片描述
基本数据类型
基本数据类型是CPU可以直接进行运算的类型,包括:

  1. 整数类型:byte、short、int、long;
  2. 浮点数类型:float、double;
  3. 字符类型:char;
  4. 布尔类型:boolean;

整数类型

  1. byte:长度为1字节8bit,取值范围:-128~127;
  2. short:长度为2字节16bit,取值范围:-32768~32767;
  3. int:长度为4字节32bit,取值范围:-2147483648~2147483647;
  4. long:长度为8字节64bit,取值范围:-9223372036854775808~9223372036854775807;

在Java中,默认的整数类型为int类型
在这里插入图片描述
图中l也为int类型,要想声明long类型,就需要在其后追加字母 l 或者 L,如long l = 2332L;

浮点数类型
浮点类型是带有小数部分的数据类型,也叫实型。浮点型数据包括单精度浮点型(float)和双精度浮点型(double),代表有小数精度要求的数字。
float—单精度浮点型,长度为4字节32bit
double—双精度浮点型,长度为8字节64bit
Java 默认的浮点型为 double,例如,11.11 和 1.2345 都是 double 型数值。如果要说明一个 float 类型数值,就需要在其后追加字母 f 或 F,如 11.11f 和 1.2345F 都是 float 类型的常数。

布尔类型
布尔类型(boolean)用于对两个数值通过逻辑运算,判断结果是“真”还是“假”。Java 中用保留字 true 和 false 来代表逻辑运算中的“真”和“假”。因此,一个 boolean 类型的变量或表达式只能是取 true 和 false 这两个值中的一个。

字符类型
Java 语言中的字符类型(char)使用两个字节的 Unicode 编码表示,它支持世界上所有语言,可以使用单引号字符或者整数对 char 型赋值,占2字节16bit
一般计算机语言使用 ASCII 编码,用一个字节表示一个字符。ASCII 码是 Unicode 码的一个子集,用 Unicode 表示 ASCII 码时,其高字节为 0,它是其前 255 个字符。
Unicode 字符通常用十六进制表示。例如“\u0000”~“\u00ff”表示 ASCII 码集。“\u”表示转义字符,它用来表示其后 4 个十六进制数字是 Unicode 码。

char x = '的';
char y = 's';
char z = 72;
char a = '\u0063';

char 类型有多钟表达方式,但归根到底还是表现单个字符。

基本数据类型变量在内存中的存储

在这里插入图片描述
当前我们在主方法中存储的局部变量是存储在内存的栈区的。

int n = 100;
//该语句执行的时候,会先在栈区开辟int类型大小的空间(占用4字节,32位二进制的空间)
//在开辟完成后,通过赋值等于号,将100存储到开辟的空间中去
//所以此处可以将n,看做100所在的内存空间的别名

特例
字符串,它不属于基本数据类型,它是类! 但是字符串又比较特殊,它有一些和基本数据类型比较类似的地方,比如它变量的定义形式。

String str = "Hello,World!";

字符串是由双引号引起来的0个或多个字符,注意:字符串允许是空字符串!

字符串在内存中的存储,它将变量名存储在栈内存,变量值存储在常量池中,变量值在常量池中会有属于自己的地址,通过赋值号"="将地址存储在变量名所在空间。
在这里插入图片描述
注:程序在运行时是自上而下,从左到右的,但在赋值时是从右到左。
注:变量的定义就是在内存中开辟相应数据类型的空间去存储数据。

数据类型转换

自动类型转换
低级变量可以直接转换为高级变量。
如果把范围小的数据,赋值给范围大的数据时,不会出现精度的缺失;反之,则可能会出现精度的缺失。
在这里插入图片描述
当字符串执行加法运算就是拼接字符串。
强制类型转换
范围小的数据类型 变量 = (范围小的数据类型)范围大的数据。
强制类型转换也许会出现精度的缺失或溢出的情况。

int i = 150;
byte b = (byte)i;
System.out.println(b);

int i2 = 100;
byte b2 = (byte)i2;
System.out.println(b2);

String s = "56";
int si = Integer.parseInt(s);
System.out.println(si);

如果希望把String类型的数据,强制转为基本数据类型,可以使用基本数据对应的包装类实现。

表达式的自动提升
当一个表达式中包含多个基本数据类型的值时,整个算术表达式的数据类型将发生自动提升。
提升规则:
所有的byte/short/char类型将被提升到int;
整个算术表达式的数据类型,将被提升到与表达中最高等级操作数相同的类型。

   char t1 = 'a';
   short t2 = 100;
   int t3 = 45;
   double t4 = 10.5;
   System.out.println(t1 + t2 + t3 + t4);

如果表达式包含字符串,应当把+号,当做字符串连接运算符,而不是加法运算符。

Java常量

所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
在这里要注意常量和常量值是不同的概念,常量值是常量的具体和直观的表现形式,常量是形式化的表现。

常量值:常量值又称为字面常量,它是通过数据直接表示的。

  • 整型常量值

十进制数:如 11、45等;
二进制数:二进制常数的表示以 0b 开头,如 0b00001010 表示十进制 10。
八进制数:八进制常数的表示以 0 开头,如 0125 表示十进制数 85。
十六进制数:十六进制常数的表示以 0x 或者 0X 开头,如0x100 表示十进制数 256。

  • 浮点型常量值

十进制数:由数字和小数点组成,且必须有小数点,如 12.34、98.0。
科学计数法:如 1.75e5、32E3,其中 e 或者 E 之前必须有数字,且 e 或 E 之后的数字必须为整数。

  • 布尔型常量值:布尔型常量只有两个值,即 false(假)和 true(真)。
  • 字符型常量

单引号字符:使用单引号引起来的一个字符或者一串转义字符,如 ‘a’,’\u62’ 都表示字符a。
数值:使用数值来表示,如 65 表示字符 A,97 表示字符 a。

常量:常量不同于常量值,它可以在程序中用标识符来代替常量值使用,因此使用前必须先定义。

  • 使用 final 关键字来定义常量。
  • 声明常量的同时要赋予一个初始值。
  • 常量一旦初始化就不可以被修改。
  • 为了与变量区别,常量声明一般都用大写字符。

练习:

一、选择
在这里插入图片描述
ABF
在这里插入图片描述

C
在这里插入图片描述
ABD
在这里插入图片描述
B
在这里插入图片描述
AC
在这里插入图片描述
D
在这里插入图片描述
D
在这里插入图片描述
D
在这里插入图片描述
C
在这里插入图片描述
AD
在这里插入图片描述
CD

二、编程
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是JAVA面试基础知识的分类及详细知识点: 1. Java基础知识 - 数据类型:基本数据类型和引用数据类型 - 变量常量关键字 - 运算符:算术运算符、比较运算符、逻辑运算符、位运算符、三目运算符 - 流程控制语句:if-else语句、switch语句、for循环、while循环、do-while循环、break语句、continue语句 - 数组:一维数组和二维数组 - 方法:方法的定义、方法的参数、方法的返回值、方法的重载 - 类和对象:类的定义、对象的创建、构造方法、成员变量和成员方法、静态变量和静态方法、封装、继承、多态 - 接口和抽象类:接口的定义、接口的实现、抽象类的定义、抽象类的继承 - 异常处理机制:异常的定义、异常的分类、try-catch语句、finally语句、throw语句、throws语句 2. Java高级知识 - 反射机制:Class类、Constructor类、Method类、Field类、动态代理 - 泛型:泛型的定义、泛型类、泛型接口、泛型方法、泛型通配符、类型擦除 - 多线程:线程的创建、线程的状态、线程的同步、线程的通信、线程池、锁、死锁、并发包 - IO流:字节流和字符流、文件读取和文件写入、序列化和反序列化、缓冲流、转换流、管道流、NIO - 注解:注解的定义、注解的分类、元注解、自定义注解、注解的使用 - Lambda表达式:Lambda表达式的定义、语法、函数式接口、方法引用、构造方法引用 - Stream API:Stream的定义、Stream的中间操作和终止操作、并行流、收集器 - 设计模式:单例模式、工厂模式、抽象工厂模式、建造者模式、代理模式、适配器模式、装饰者模式、观察者模式、模板方法模式、策略模式、状态模式、责任链模式、享元模式 以上就是Java面试基础知识的分类及详细知识点,希望能对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值