JavaSE-02基础语法,单行注释,多行注释,
JavaSE-02基础语法,单行注释,多行注释,
JavaSE-02基础语法
- [ 任务列表 ]
- 1.注释
- 2.字面量和数据类型
- 3.变量和信息存储
- 4.关键字、标识符
- 5.方法、方法重载
- 6.类型转换
- 7.输入输出、自动导包设置
- 8.运算符
- 9.BCD码和数据传输、存储
- 10.参考资料
1. 注释
- 注释:解释说明代码功能。
单行注释,多行注释,文档注释(不影响程序执行),IDEA项目里面的out文件里的class文件直接双击就可以反编译可以看到去掉注释的源码
/**
* 文本注释
*/
/*
多行注释
*/
// 单行注释
2.字面量和数据类型
-
字面量:是直接出现在代码中的固定值。这些值不需要进一步计算或解释,可以直接赋给变量或者用于表达式中。字面量可以是不同的数据类型。
- 整数字面量:可以是十进制、八进制(以0开头)、十六进制(以0x或0X开头)、二进制字面量(以0b或0B开头)。
- 浮点数字面量:浮点数字面量默认为double类型,如果需要float类型,需在数值后加上
f
或F
。也可以使用科学记数法表示。
- 字符字面量:用单引号括起来,并且只能包含一个字符。
- 特殊字符:特殊字符可以通过转义序列来表示。
- 字符串字面量:用双引号括起来,可以包含多个字符。
- 布尔字面量:只有两个值:
true
和 false
。
null
是一个特殊的字面量,用来表示对象引用为空的状态。
字面量类型
解释
整数
生活中程序中书写一致。例如:1,-1,1999,0556,0x44,0b88等。
浮点数
生活中程序中书写一致。例如:0.1,0.001,123.456,123.456f。
字符
用单引号,仅有一个字符。例如:'a','b'。
字符串
用双引号,内容可有可无。例如:"","abcd","a"," "。
布尔值
只有两个值,true,false 。
Null字面量
null
特殊字面量
转义字符,用单引号引起来,例如:'\t'、'\n'。
-
数据类型:基本数据类型,引用数据类型。
- 基本数据类型:四大类八种
基本数据类型
表示
所占位数(单位:1B=8位=8b)
整型
byte,short,int(默认类型),long
1,2,4(十进制10位,),8(十进制19位)
浮点型
float,double(默认类型)
4(十进制38位),8(十进制308位)
字符型
char
2
布尔型
boolean
1
-
引用数据类型:引用数据类型是基于基本数据类型的复杂结构,并且所有的引用数据类型都直接或间接地继承自Object
类。每个引用数据类型都需要使用new
关键字来创建实例,并且实际对象存储在堆内存中,而变量本身保存的是指向该对象的引用地址。
(包含 类 Class,接口 Interface,数组 Array,枚举 Enum,注解 Annotation)
其中字符串 String,属于引用数据类型中的类引用,即实际上 String
是一个类。
3.变量和信息存储
-
变量详解:
变量是内存中的一块区域,可以理解成一个盒子,装程序要处理的数据的。
数据类型 变量名称 = 数据;
数据形式:变量名首字母小写,= 是赋值。
-
进制转换:
- 十进制 -> 二进制 (除二取余法)
- 二进制 -> 十进制 (各个位数乘二)
- 二进制 -> 八进制 (3位二进制数为一个八进制数字)
- 二进制 -> 十六进制 (4位二进制数为一个八进制数字)
- 文本:字符在计算机中,是对应的ASII码数值
0:48、 A:65、 a:97
- 图片数据存储:是无数像素点组成0~255x255x255
- 声音存储:对应的是波形图,存储波的值
4.关键字、标识符
-
关键字:一些特殊字符,Java开发工具会提示,如public,static,class……
-
标识符:标识符是用来给变量、方法、类、接口、包以及枚举等命名的符号。
数字不能开头,可以用数字,字母,下划线,$。
-
变量名:建议首字母小写,其他字母大写, studyNumber……
-
类名:首字母大写 Student,HelloWorld……
5.方法、方法重载
-
方法:方法就是功能,Java开发的软件中功能最小的单位是一个方法。
-
如何定义满足需求的方法,学会调用?
修饰符 返回值类型 方法名称 (形参列表){
方法体代码
return 返回值;
}
public int getA(int a){
...;
return 0;
}
-
调用方法:方法名称(数据)
方法名要首字母小写,驼峰模式,getCode
-
方法是否需要接受数据,方法是否返回数据?
无返回值的方法中可以直接通过单独的return;立即结束当前方法执行。
做任何功能都可以定义方法。
-
方法可以重载:
一个类中出现多个方法的名称相同,但是它们的形参列表是不同的,那么这些方法就成为方法重载了
-
形参列表的:类型不同,个数不同,顺序不同
6.类型转换
-
自动类型转换,类型范围小的变量,可以直接赋值给类型范围大的变量(byte -> int)
-
强制类型转换,类型范围大的变量,不可用直接赋值给类型范围小的变量,会报错,需要强制类型转换过去(int -> byte)
直接把小范围赋给大范围类型, 会报错
所以需要强制类型转换
-
格式:目标数据类型 变量名 = (数据类型) 值;
基本数据类型,从小到大的排序为:
byte < short < int < long < float < double
char < int < long < float < double
int i = 20;
// 强制类型转换:类型 变量2 = (类型)变量1;
byte j = (byte)i;
7.输入输出、自动导包设置
-
输出,把程序中的数据展示出来
-
输入,程序读取用户键盘输入的数据(通过Java提供的Scanner程序来实现)
Scanner是Java提供好的API,程序员可以直接使用
-
API(application Programming Interface):应用程序编程接口
Java为自己写好的程序提供了相应的程序使用说明书(API文档)
-
输入:
1.导包(可以自动)
2.抄代码,代表得到键盘扫描器对象
Scanner sc = new Scanner(System.in);
3.抄代码,等待接受用户输入数据
String name = sc.next();
int age = sc.nextInt();
-
设置自动导包:file -> settings -> editor -> general ->auto improt ->
-
add unambiguous imports on the fly
-
optimize improts on the fly
两个勾上,然后点击apply。
8.运算符
-
算术运算符:
+ - * / %
// 加 减 乘 除 取余
+:与字符串运算的时候用作连接符,例如:"abc" + 5 --> "abc5",(能算则算,不能算就连在一起)
两个整数作除法,其结果一定是整数,因为最高类型是整数
-
自增自减运算符:
++ --
-
赋值运算符:
=
-
扩展赋值运算符:
+= -= *= /= %=
隐含了强制类型转换:a+=b
a+=b ==> a = (a的类型)(a+b) 用来收红包
-
关系运算符:
> >= < <= == !=
成立返回true,不成立返回false
-
三元运算符:
条件表达式?值1 :值2
-
逻辑运算符:
& | ! ^ && ||
& 逻辑与:多个条件必须都是true结果才是true
| 逻辑或:过个条件中只要一个true结果是true
! 逻辑非:就是取反
^ 逻辑异或:前后相同则是false,相反是ture
&& 短路与:左边为false,右边不执行 ->false(短路特性)
|| 短路或:左边为true,右边不执行-> true(短路特性)
9.BCD码和数据传输、存储
-
8421码(BCD码):是一种将十进制数字编码为四位二进制数的方法
二进制以0B或者0b开头,八进制以0开头,十六进制以0x开头
-
数据的传输和存储:(TB GB MB KB B b)是用来衡量数据量或存储容量的单位。这些单位之间的转换基于二进制或十进制系统。其中,1 Byte = 8 bits (b)。
-
转换单位:
基于十进制(SI单位)
-
1 KB (Kilobyte) = 10^3 B = 1,000 B
-
1 MB (Megabyte) = 10^6 B = 1,000,000 B
-
1 GB (Gigabyte) = 10^9 B = 1,000,000,000 B
-
1 TB (Terabyte) = 10^12 B = 1,000,000,000,000 B
基于二进制(IEC标准)
- 1 Kibibyte (KiB) = 2^10 B = 1,024 B
- 1 Mebibyte (MiB) = 2^20 B = 1,048,576 B
- 1 Gibibyte (GiB) = 2^30 B = 1,073,741,824 B
- 1 Tebibyte (TiB) = 2^40 B = 1,099,511,627,776 B
-
二进制单位使用Ki、Mi、Gi、Ti等前缀(例如KiB、MiB、GiB),而十进制则使用K、M、G、T等(例如KB、MB、GB)。
不过,在实际应用中,二进制单位有时会被误标为十进制单位的形式(如用KB代表KiB)
-
判断是基于十进制(SI单位)还是二进制(IEC标准)主要取决于上下文以及所使用的具体标准或规范:
- 基于十进制(SI单位)——system International,国际单位
- 硬盘、SSD制造商:通常使用十进制系统来表示其产品的容量。例如,1 KB = 1000 B, 1 MB = 1000 KB, 等等。这是因为这种表示方法使得硬盘的标称容量看起来更大。
- 网络带宽:在网络传输速率中,如Mbps(兆比特每秒)、Gbps(千兆比特每秒),一般也是采用十进制。例如,1 Mbps = 1,000,000 bits per second。
- 基于二进制(IEC标准)——international Electrotechnical Commission ,国际电工委员会
- 操作系统显示的文件大小、磁盘使用情况:大多数操作系统(如Windows、macOS、Linux)在显示文件大小或磁盘空间时,使用的是二进制单位。例如,1 KiB = 1024 B, 1 MiB = 1024 KiB。然而,有时候这些单位可能会被错误地标记为KB、MB等,这可能会引起混淆。
- 内存(RAM):计算机内存的容量也通常按照二进制进行计算。例如,1 KB = 1024 B, 1 MB = 1024 KB, 等等。这是因为内存地址空间是按二进制位组织的。
10. 参考资料
- 黑马程序员:黑马程序员Java+AI智能辅助编程全套视频教程,java零基础入门到大牛一套通关_哔哩哔哩_bilibili
单行注释,多行注释,文档注释(不影响程序执行),IDEA项目里面的out文件里的class文件直接双击就可以反编译可以看到去掉注释的源码
/**
* 文本注释
*/
/*
多行注释
*/
// 单行注释
字面量:是直接出现在代码中的固定值。这些值不需要进一步计算或解释,可以直接赋给变量或者用于表达式中。字面量可以是不同的数据类型。
- 整数字面量:可以是十进制、八进制(以0开头)、十六进制(以0x或0X开头)、二进制字面量(以0b或0B开头)。
- 浮点数字面量:浮点数字面量默认为double类型,如果需要float类型,需在数值后加上
f
或F
。也可以使用科学记数法表示。 - 字符字面量:用单引号括起来,并且只能包含一个字符。
- 特殊字符:特殊字符可以通过转义序列来表示。
- 字符串字面量:用双引号括起来,可以包含多个字符。
- 布尔字面量:只有两个值:
true
和false
。 null
是一个特殊的字面量,用来表示对象引用为空的状态。
字面量类型 | 解释 |
---|---|
整数 | 生活中程序中书写一致。例如:1,-1,1999,0556,0x44,0b88等。 |
浮点数 | 生活中程序中书写一致。例如:0.1,0.001,123.456,123.456f。 |
字符 | 用单引号,仅有一个字符。例如:'a','b'。 |
字符串 | 用双引号,内容可有可无。例如:"","abcd","a"," "。 |
布尔值 | 只有两个值,true,false 。 |
Null字面量 | null |
特殊字面量 | 转义字符,用单引号引起来,例如:'\t'、'\n'。 |
数据类型:基本数据类型,引用数据类型。
- 基本数据类型:四大类八种
基本数据类型 | 表示 | 所占位数(单位:1B=8位=8b) |
---|---|---|
整型 | byte,short,int(默认类型),long | 1,2,4(十进制10位,),8(十进制19位) |
浮点型 | float,double(默认类型) | 4(十进制38位),8(十进制308位) |
字符型 | char | 2 |
布尔型 | boolean | 1 |
-
引用数据类型:引用数据类型是基于基本数据类型的复杂结构,并且所有的引用数据类型都直接或间接地继承自
Object
类。每个引用数据类型都需要使用new
关键字来创建实例,并且实际对象存储在堆内存中,而变量本身保存的是指向该对象的引用地址。(包含 类 Class,接口 Interface,数组 Array,枚举 Enum,注解 Annotation)
其中字符串 String,属于引用数据类型中的类引用,即实际上
String
是一个类。
变量详解:
变量是内存中的一块区域,可以理解成一个盒子,装程序要处理的数据的。
数据类型 变量名称 = 数据;
数据形式:变量名首字母小写,= 是赋值。
进制转换:
- 十进制 -> 二进制 (除二取余法)
- 二进制 -> 十进制 (各个位数乘二)
- 二进制 -> 八进制 (3位二进制数为一个八进制数字)
- 二进制 -> 十六进制 (4位二进制数为一个八进制数字)
0:48、 A:65、 a:97
关键字:一些特殊字符,Java开发工具会提示,如public,static,class……
标识符:标识符是用来给变量、方法、类、接口、包以及枚举等命名的符号。
数字不能开头,可以用数字,字母,下划线,$。
变量名:建议首字母小写,其他字母大写, studyNumber……
类名:首字母大写 Student,HelloWorld……
方法:方法就是功能,Java开发的软件中功能最小的单位是一个方法。
如何定义满足需求的方法,学会调用?
修饰符 返回值类型 方法名称 (形参列表){
方法体代码
return 返回值;
}
public int getA(int a){
...;
return 0;
}
调用方法:方法名称(数据)
方法名要首字母小写,驼峰模式,getCode
方法是否需要接受数据,方法是否返回数据?
无返回值的方法中可以直接通过单独的return;立即结束当前方法执行。
做任何功能都可以定义方法。
方法可以重载:
一个类中出现多个方法的名称相同,但是它们的形参列表是不同的,那么这些方法就成为方法重载了
形参列表的:类型不同,个数不同,顺序不同
自动类型转换,类型范围小的变量,可以直接赋值给类型范围大的变量(byte -> int)
强制类型转换,类型范围大的变量,不可用直接赋值给类型范围小的变量,会报错,需要强制类型转换过去(int -> byte)
直接把小范围赋给大范围类型, 会报错
所以需要强制类型转换
格式:目标数据类型 变量名 = (数据类型) 值;
基本数据类型,从小到大的排序为:
byte < short < int < long < float < double
char < int < long < float < double
int i = 20;
// 强制类型转换:类型 变量2 = (类型)变量1;
byte j = (byte)i;
输出,把程序中的数据展示出来
输入,程序读取用户键盘输入的数据(通过Java提供的Scanner程序来实现)
Scanner是Java提供好的API,程序员可以直接使用
API(application Programming Interface):应用程序编程接口
Java为自己写好的程序提供了相应的程序使用说明书(API文档)
输入:
1.导包(可以自动)
2.抄代码,代表得到键盘扫描器对象
Scanner sc = new Scanner(System.in);
3.抄代码,等待接受用户输入数据
String name = sc.next();
int age = sc.nextInt();
设置自动导包:file -> settings -> editor -> general ->auto improt ->
-
add unambiguous imports on the fly
-
optimize improts on the fly
两个勾上,然后点击apply。
算术运算符:
+ - * / %
// 加 减 乘 除 取余
+:与字符串运算的时候用作连接符,例如:"abc" + 5 --> "abc5",(能算则算,不能算就连在一起)
两个整数作除法,其结果一定是整数,因为最高类型是整数
自增自减运算符:
++ --
赋值运算符:
=
扩展赋值运算符:
+= -= *= /= %=
隐含了强制类型转换:a+=b
a+=b ==> a = (a的类型)(a+b) 用来收红包
关系运算符:
> >= < <= == !=
成立返回true,不成立返回false
三元运算符:
条件表达式?值1 :值2
逻辑运算符:
& | ! ^ && ||
& 逻辑与:多个条件必须都是true结果才是true
| 逻辑或:过个条件中只要一个true结果是true
! 逻辑非:就是取反
^ 逻辑异或:前后相同则是false,相反是ture
&& 短路与:左边为false,右边不执行 ->false(短路特性)
|| 短路或:左边为true,右边不执行-> true(短路特性)
8421码(BCD码):是一种将十进制数字编码为四位二进制数的方法
二进制以0B或者0b开头,八进制以0开头,十六进制以0x开头
数据的传输和存储:(TB GB MB KB B b)是用来衡量数据量或存储容量的单位。这些单位之间的转换基于二进制或十进制系统。其中,1 Byte = 8 bits (b)。
转换单位:
基于十进制(SI单位)
-
1 KB (Kilobyte) = 10^3 B = 1,000 B
-
1 MB (Megabyte) = 10^6 B = 1,000,000 B
-
1 GB (Gigabyte) = 10^9 B = 1,000,000,000 B
-
1 TB (Terabyte) = 10^12 B = 1,000,000,000,000 B
基于二进制(IEC标准)
- 1 Kibibyte (KiB) = 2^10 B = 1,024 B
- 1 Mebibyte (MiB) = 2^20 B = 1,048,576 B
- 1 Gibibyte (GiB) = 2^30 B = 1,073,741,824 B
- 1 Tebibyte (TiB) = 2^40 B = 1,099,511,627,776 B
二进制单位使用Ki、Mi、Gi、Ti等前缀(例如KiB、MiB、GiB),而十进制则使用K、M、G、T等(例如KB、MB、GB)。
不过,在实际应用中,二进制单位有时会被误标为十进制单位的形式(如用KB代表KiB)
判断是基于十进制(SI单位)还是二进制(IEC标准)主要取决于上下文以及所使用的具体标准或规范:
- 基于十进制(SI单位)——system International,国际单位
- 硬盘、SSD制造商:通常使用十进制系统来表示其产品的容量。例如,1 KB = 1000 B, 1 MB = 1000 KB, 等等。这是因为这种表示方法使得硬盘的标称容量看起来更大。
- 网络带宽:在网络传输速率中,如Mbps(兆比特每秒)、Gbps(千兆比特每秒),一般也是采用十进制。例如,1 Mbps = 1,000,000 bits per second。
- 基于二进制(IEC标准)——international Electrotechnical Commission ,国际电工委员会
- 操作系统显示的文件大小、磁盘使用情况:大多数操作系统(如Windows、macOS、Linux)在显示文件大小或磁盘空间时,使用的是二进制单位。例如,1 KiB = 1024 B, 1 MiB = 1024 KiB。然而,有时候这些单位可能会被错误地标记为KB、MB等,这可能会引起混淆。
- 内存(RAM):计算机内存的容量也通常按照二进制进行计算。例如,1 KB = 1024 B, 1 MB = 1024 KB, 等等。这是因为内存地址空间是按二进制位组织的。
用户点评