[Java基础]基本概念(上)(标识符,关键字,基本数据类型)

简介: hello 大家好,计算机语言各有不同,但本质上都是操作内存和计算。这章的内容是介绍Java中的基本概念展开,包括:标识符,关键字,Java基本数据类型,运算符,表达式和语句,分支,循环,方法,变量的作用域,递归调用。这些是Java运行的基础,就像我们人体内的筋骨,肌肉,血管一样。

hello 大家好,计算机语言各有不同,但本质上都是操作内存和计算。这章的内容是介绍Java中的基本概念展开,包括:标识符,关键字,Java基本数据类型,运算符,表达式和语句,分支,循环,方法,变量的作用域,递归调用。这些是Java运行的基础,就像我们人体内的筋骨,肌肉,血管一样。



1、标识符


Java语言中,对于变量,常量,函数,语句块也有名字,我们统统称之为Java标识符,只要可以自己起名字的,都是标识符。

      作用:标识符用来给类、对象、方法、变量、接口和自定义数据类型命名。


 Java标识符由数字,字母和下划线(_),美元符号($)或人民币符号(¥)组成。在Java中是区分大小写的,而且还要求首位不能是数字。最重要的是,Java关键字不能当作Java标识符。


       命名约定:


       1)类和接口名。每个字的首字母大写,含有大小写。例如,MyClass,HelloWorld,Time等。


       2)方法名。首字符小写,其余的首字母大写,含大小写。尽量少用下划线。例如,myName,setTime等。这种命名方法叫做驼峰式命名。


       3)常量名。基本数据类型的常量名使用全部大写字母,字与字之间用下划线分隔。对象常量可大小混写。例如,SIZE_NAME。


       4)变量名。可大小写混写,首字符小写,字间分隔符用字的首字母大写。不用下划线,少用美元符号。给变量命名是尽量做到见名知义。


2、关键字


 Java关键字是电脑语言里事先定义的,有特别意义的标识符,用做专门用途,有时又叫保留字。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。


     作用:关键字是编译器和程序员的一个约定,程序员利用关键字来告诉编译器其声明的变量类型、类、方法特征等信息。


       所有的关键字都是小写。


Java共定义了下面的关键字:








还有些关键字没有具体含义,比如goto,const,

3、常量


使用 final关键字修饰,表示变量只能被赋值一次,一旦被赋值不能被改变,习惯上变量名使用大写。

      我们在项目中,会使用类常量,用static修饰,使一个常量可以被类中的多个方法使用。或者再使用public修饰此时,可以被工程的其他类使用。


4、变量


 变量是程序中基本的存储单元。其实变量代表内存中一小块区域,不同类型的变量在内存中占不同的长度,通过变量名来访问这块区域。所以变量在使用时,要先声明,再赋值,才能使用。


      格式:类型 变量名 = 值;


      从内存的角度分析:在程序执行时,将执行的代码加载到内存中,操作系统找到代码的main方法后开始执行。内存分为4块存取,存储变量和运行时产生的数据:


       code segment:存放代码;


       data segment:存放静态变量,字符串常量;


       stack:存放变量;


       heep:存放new出来的对象;


       放一张马老师总结的图:


792f0f604fec43ec8e8f3fd850ad7f51.png


变量有哪些类型呢?

1)按被声明的位置划分:局部变量,成员变量;

局部变量:方法,或语句块中声明的变量;

成员变量:方法外部,类的内部声明的变量;


2)按所属数据类型分为:基本数据类型,引用数据类型

基本数据类型:4类8种;


数据类型 说明

逻辑型:

boolean

用于逻辑运算,程序判断。只能取值:true或false

文本型:

char

表示通常意义上的字符;

字符常量,是用单引号括起来的单个字符,如'a','字';

Java字符,可以使用转义字符'\',将其后面的字符转变为其他的含义。利如:

char c2='\n';


10.png

11.png


类型之间的转换:


1.boolean不能转换为其他数据类型;


2.整数,字符型,浮点型间转换,需要遵循以下原则:


1)容量小的自动转成容量大的,是自动转换,程序员无感知;


2)容量大的转成容量小的,需要强转;可能损失精度或溢出,是强制转换,显式,需要声明类型。


3)多种类型数据混合计算时,系统首先将数据转成最大的类型,再进行计算。


数据类型,按容量大小排序:byte,short,char—>int—>long—>float—>double


byte,short,char之间不能互相转换,需要时,要先转成int,再运算。


强制转换中,哪些场景可能引起精度损失或溢出?


1)整数之间转换,超过目标类型表数范围,对目标表数范围取余;


2)浮点数转整数,会发生截尾,把小数点后面截掉。同样此时的整数超过目标类型表数范围,也会对目标表数范围取余。

       // 1.自动转换和强转
        int a = 129;
        int a1 = -200;
        // 自动转换:1.23默认double类型,a自动转为double类型参与运算;
        double c = a * 1.23;
        // 强转:double类型需要强转到float类型
        float e = (float) (a * 1.23);
        // 2.溢出和精度损失
        byte b = (byte) a; //byte能接收范围是: 负128 .正127
        System.out.println("b = " + b);//b = -127 结果错误
        int f = (int) 158.23;
        System.out.println("f = " + f); // f = 158 精度损失;直接舍弃小数,不是四舍五入
        // 3.声明一个float类型的变量
        float h = 1.23f;
        // 4.如果不加f,1.23是double类型,需要强转为float类型
        float j = (float) 1.23;
        // 5.int 类型转换成long
        long i = 123;
        // 6.声明一个long类型的变量
        long k = 123l;
相关文章
|
13天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
39 4
|
11天前
|
存储 消息中间件 NoSQL
使用Java操作Redis数据类型的详解指南
通过使用Jedis库,可以在Java中方便地操作Redis的各种数据类型。本文详细介绍了字符串、哈希、列表、集合和有序集合的基本操作及其对应的Java实现。这些示例展示了如何使用Java与Redis进行交互,为开发高效的Redis客户端应用程序提供了基础。希望本文的指南能帮助您更好地理解和使用Redis,提升应用程序的性能和可靠性。
28 1
|
20天前
|
算法 Java 数据库连接
Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性
本文详细介绍了Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性。连接池通过复用数据库连接,显著提升了应用的性能和稳定性。文章还展示了使用HikariCP连接池的示例代码,帮助读者更好地理解和应用这一技术。
32 1
|
26天前
|
Java
Java中多线程编程的基本概念和创建线程的两种主要方式:继承Thread类和实现Runnable接口
【10月更文挑战第20天】《JAVA多线程深度解析:线程的创建之路》介绍了Java中多线程编程的基本概念和创建线程的两种主要方式:继承Thread类和实现Runnable接口。文章详细讲解了每种方式的实现方法、优缺点及适用场景,帮助读者更好地理解和掌握多线程编程技术,为复杂任务的高效处理奠定基础。
28 2
|
26天前
|
存储 Java 关系型数据库
[Java]“不同族”基本数据类型间只能“强转”吗?
本文探讨了不同位二进制表示范围的计算方法,重点分析了Java中int和char类型之间的转换规则,以及float与int类型之间的转换特性。通过具体示例说明了显式和隐式转换的条件和限制。
34 0
[Java]“不同族”基本数据类型间只能“强转”吗?
|
1月前
|
存储 Java
从菜鸟到大神:Java标识符命名的“蜕变”之路!
【10月更文挑战第13天】从菜鸟到大神:Java标识符命名的“蜕变”之路!本文从初识标识符命名、命名规范的重要性、命名最佳实践三个方面,详细探讨了如何通过合理的命名提升代码的清晰度、可读性和可维护性,帮助你在编程之路上不断成长。
36 2
|
1月前
|
Java
JAVA易错点详解(数据类型转换、字符串与运算符)
JAVA易错点详解(数据类型转换、字符串与运算符)
50 4
|
23天前
|
存储 Java
在Java编程的世界里,标识符命名是一项基础且至关重要的技能
在Java编程的世界里,标识符命名是一项基础且至关重要的技能
10 0
|
25天前
|
存储 Java 编译器
[Java]基本数据类型与引用类型赋值的底层分析
本文详细分析了Java中不同类型引用的存储方式,包括int、Integer、int[]、Integer[]等,并探讨了byte与其他类型间的转换及String的相关特性。文章通过多个示例解释了引用和对象的存储位置,以及字符串常量池的使用。此外,还对比了String和StringBuilder的性能差异,帮助读者深入理解Java内存管理机制。
18 0
|
1月前
|
Java 编译器 C++
【编程基础知识】Java基本数据类型
Java的基本类型包括五类九种,涵盖了整型、浮点型、字符型、布尔型和void。成员变量即使未初始化也有默认值,但局部变量必须显式初始化,否则编译会报错。示例代码展示了各种基本类型的默认值和极限值。
35 0