初步认识标识符、关键字、字面值、变量、数据类型
标识符
什么是标识符?
在Java源程序当中凡是程序员有权利自己命名的单词都是标识符。(一般在Editplus中以黑色显示)
标识符可以标识类名、方法名、变量名、接口名、常量名。
标识符的命名规则
不按照规则来命名,编译器会报错!!!
不按照规则来命名,编译器会报错!!!
不按照规则来命名,编译器会报错!!!
- 一个合法的标识符只能由“数字、字母、下划线、美元符号$”组成,不能含有其他特殊符号
- 不能以数字开头
- 严格区分大小写
- 关键字不能做标识符
- 理论上无长度限制(最好别太长)
标识符的命名规范
只是一种规范,不是语法,不遵守规范,编译器不会报错。
- 最好见名知义
- 遵守驼峰命名方式(一高一低)
UserService
- 类名、接口名:首字母大写,后面每个单词首字母大写
UserService
- 变量名、方法名:首字母小写,后面每单词首字母大写
userName
- 常量名:全部大写
| 合法标识符 | 不合法标识符 |
|---|---|
| _123Test | 123Test |
| HelloWorld | Hello-World |
| helloWorld | HelloWorld# |
| public1 | public |
| $HelloWord | Hello Word |
关键字
什么是关键字?
在编程语言当中含有特殊意义的单词,这些单词构成程序的骨架,不能随意编写,包括大小写。
在Java中关键字都是小写的。
常见的关键字都有哪些?
public class void if for while do default byte short int long float double char boolean private protected switch true false throw throws try catch
字面值
字面值就是数据(一眼看过去就知道大小),是Java源程序的组成部分之一。
数据在现实世界中是分门别类的,在计算机编程语言当中也有类型。
| 10、100 | 整型字面值 |
| 3.14 | 浮点型字面值 |
| “abc” | 字符串型字面值 |
| ‘a’ | 字符型字面值 |
| true、false | 布尔型字面值 |
java语言中所有的字符串型字面值必须使用双引号括起来双引号是半角
java语言中所有的字符型字面值必须使用单引号括起来 单引号是半角
变量
什么是变量?
本质上来说是内存中的一块空间,这块空间有“数据类型”,有“名字”,有“字面值”。
变量包含三部分:数据类型、名称、字面值。
变量是内存中存储数据的最基本单元。
变量中存储的具体“数据”必须和变量的“数据类型”一致,当不一致的时候编译会报错。
如何声明(定义)变量?
语法格式:数据类型 变量名;
int i;
int a;
int b;
int abc;
变量声明后怎么赋值?
语法格式:变量名 = 字面值;
i = 1;
a = 2;
c = 3;
d = 3 + 4;
(等号是一个运算符,叫做赋值运算符,赋值运算符先运算等号右边的表达式,表达式执行结束之后的结果赋值给左边的变量。)
声明和赋值可以放到一起完成:
int i = 10;
变量赋值后,可以重新赋值,变量的值可变化:
int i = 10;
i = 20;
i = 30;
有了变量的概念之后,内存空间得到了重复的使用。
通常访问一个变量包括两种访问形式:
1、读取变量中的具体数据。(get)
2、修改变量中的具体数据。(set)
i = 10; //set
System.out.println(i); //get
变量在一行可以声明多个。
java中的变量必须先声明再赋值才能访问,不然会编译报错。
只声明一个变量,此时内存空间并没有开辟出来,所以是无法访问到的,只有赋值后才算开辟了内存空间,才可以访问。
public class test{
public static void main(String[] args){
int a,b,c = 100; //只声明了a,b,c,并对c赋值
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}

public class test{
public static void main(String[] args){
int a,b,c = 100;
a = 10;
b = 20;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}

在方法体中的java代码,是遵守自上而下的顺序依次执行的。(逐行执行)
特点:第二行代码没执行完,第三行代码是不会执行的。
什么是变量的作用域?
变量的作用域,其实描述的就是变量的有效范围,在什么范围之内是可以访问的,只要出了这个范围就无法访问。
只要记住一句话:出了大括号就不认识了
public class test{
public static void main(String[] args){
int a = 100;
}
public statis void dosome(){
System.out.println(a); //这里无法访问main方法中的变量a 已经出了i变量的作用域
}
}

在同一个作用域当中,变量名不能重名,但是变量可以重新赋值:
public class test{
public static void main(String[] args){
int a = 10;
System.out.println(a);
a = 20;
System.out.println(a);
}
}

public class test{
public static void main(String[] args){
int a = 10;
System.out.println(a);
int a = 20; //相当于有两个变量a 这种声明方法是错误的
System.out.println(a);
}
}

变量的分类
根据变量声明的位置来分类,局部变量,成员变量。
- 局部变量:在方法体中声明的变量叫局部变量
- 成员变量:在方法体外(类体之内)声明的变量叫成员变量
在不同作用域中变量是可以重名的,并且遵守就近原则。在同一个作用域中变量不可以重名。
public class test{
static int a = 10; //成员变量
public static void main(String[] args){
int a = 100; //局部变量
}
public static void dosome(){
int b = 100; //局部变量
}
}
数据类型
数据类型的作用是什么?
不同的数据有不同的类型,不同的数据类型底层会分配不同大小的空间。
数据类型是指导程序在运行阶段应该分配多大的内存空间。
数据类型的种类有哪些?
- 基本数据类型
- 引用数据类型
关于基本数据类型
基本数据类型包括四大类八小种:
- 第一类:整数型
byte,short,int,long - 第二类:浮点型
float,double - 第三类:布尔型
boolean - 第四类:字符型
char
字符串不属于基本数据类型(“abc”),属于引用型数据类型。
关于引用型数据类型
- 类
- 接口
- 数据
- …
八种数据类型各自占用空间大小是多少?
| 数据类型 | 占用空间大小(单位:字节) |
|---|---|
| byte | 1 |
| short | 2 |
| int | 4 |
| long | 8 |
| float | 4 |
| double | 8 |
| boolean | 1 |
| char | 2 |
计算机在任何情况下都只能识别二进制。1
什么是字节?
字节(byte):
1 Byte = 8 bit (一个字节等于8个 比特位)
1KB = 1024 Byte
1MB = 1024 KB
1GB = 1024 MB
1TB = 1024 GB
byte类型的取值范围是什么?
关于Java中的数字类型,数字都是有正负之分的,所以在数字的二进制当中有一个二进制位被称为“符号位”。并且这个“符号位”在所有二进制位的最左边,0表示正数,1表示负数。
byte类型最大值:01111111(二进制) 128(十进制)
00000000 00000000 00000000 10000000(二进制)
减1结果:
00000000 00000000 00000000 01111111(二进制)
byte类型最大值为 2的7次方 - 1 为 127 (十进制)
最小值为:- 128 (用二进制表示会涉及到原码,反码,补码,感兴趣可以去搜搜)
tips: 计算机只认识二进制,如果想表示现实世界的文字怎么办?
- 八种数据类型中,byte,short,int,long,float,double,boolean这七种比较容易表示,因为底层都是数字,十进制的数字和二进制之间存在固定的转换规则。
- 但char类型表示的现实世界中的文字,文字和计算机二进制之间默认情况下是不存在任何转换关系的。
- 为了让计算机表示现实世界的文字,需要人为干涉,需要人负责提前制定好“文字”和“二进制”之间的对照关系,这种对照转换关系被称为“字符编码”。
- 计算机最初只支持英文,最先出现的字符编码是ASCII码。(想了解可以自己去搜搜)
数据的一种表示形式。十进制表示满十进一原则,二进制表示满二进一原则。
十进制:0 1 2 3 4 5 6 7 8 9 10 11 12…
二进制:0 1 10 11 100 101 110 111 1000 1001… ↩︎
287

被折叠的 条评论
为什么被折叠?



