java的标识符
定义
在java源程序中,凡是程序员有权利自己命名的单词都是标识符
标识符可以标识的元素
*类名
*方法名
*变量名
*接口名
*常量名
命名规则
一个合法的标识符只能由数字、字母、下划线、美元符号组成,不能含有其他符号,理论上无长度限制。
*数字不能开头
*严格区分大小写
*关键字不能做标识符(关键字都是小写)
命名规范
见名知意
遵守驼峰命名方式UserService。
类名、接口名:首字母大写,每个单词首字母大写。
变量名、方法名:首字母小写,后面每个单词首字母大写。
常量名:大写
java关键字
- 关键字一律小写
java字面值
字面值就是数据,字面值是java源程序的组成部分之一。
-10、100 整数型
-3.14 浮点型
-‘a’ “abc” 字符串 *字符串型必须使用双引号括起来,字符型必须用单引号括起来。
"3.14"不再是浮点型数据,而是字符串。
-true false 布尔型
java变量
System.out.println("abd");
System.out.println(“abd”);
-
代码中输出的两个字符串abd,是存储在内存中不同的地方,如果想访问同一个地方的数据,就需要由变量的帮忙。
-
变量本质上是内存中的一块空间,这块空间有数据类型,有名字、有字面值。
变量是内存中存储数据的基本单元。
存储的数据有数据类型,不同的数据类型开辟的存储空间不一样。即不同的数据类型可以指导底层开辟不同的空间。
变量中存储的具体“数据”必须和数据类型一致,不一致编译报错。 -
声明变量的语法格式:数据类型 变量名;
变量声明之后赋值:变量名=字面值;
声明+赋值:数据类型 变量名=字面值;
变量赋值之后,可以重新赋值,变量的值会变。
public class VarTest{
public static void main(String[] args){
int i=10;
System.out.println(i);
i=20;
System.out.println(i);
i=30;
System.out.println(i);
}
}
-
访问变量的形式
读取变量中保存的具体数据 get System.out.println(i);
修改变量中保存的具体数据 set i=100; -
在同一个作用域(变量的有效范围,出了{}就不识别了 )中,变量名不能重名,变量可以重新赋值。
即:不能出现多次int i;相当于开辟多个变量,jvm不知道访问哪个变量
public class VarTest{
public static void main(String[] args){
int i=10;
System.out.println(i);
int i=20;
System.out.println(i);
}
}
- 变量的分类——java遵循就近原则
根据变量声明的位置来分类:
*局部变量-——在方法体中声明的变量是局部变量;
*成员变量-——在方法体之外【类体之内】声明的变量叫成员变量;
成员变量没有手动赋值,系统会默认赋值,局部变量不会。
public class VarTest{
static int m;
public static void main(String[] args){
int i=1111; //i是局部变量
System.out.println(i);
/*
关于八种数据类型的默认值
成员变量没有手动赋值,系统会默认赋值,局部变量不会
*/
System.out.println(m);
}
}
java中的数据类型
-
数据类型的作用
数据类型的作用就是指导JVM运行程序的时候给该数据分配多大内存空间。 -
数据结构的类型
基本数据结构、引用数据类型 -
基本数据类型
四小类、八小种、占用空间大写
第一类:整数型 byte、short、int、long
第二类:浮点型 float、double
第三类:布尔型 boolean
第四类:字符型 char (字符串不属于基本数据类型,属于引用数据类型)
基本数据类型 占用空间大小(字节)
byte 1
short 2
int 4
long 8
float 4
double 8
boolean 1
char 2
字节:一个字节等于八个比特位,一个比特位等于一个二进制位:1/0
数据类型中前三类比较好表示,因为是数字,计算机需要进行十进制和二进制的转换就可以。但是char型是文字,需要人为的制定转换的规则:字符编码 ASCII码 ISO-8859-1 支持西欧语言 ;支持简体中文的GB2312、GBK、GB18030;繁体中文 big5;随着计算机发展,出现了unicode编码,统一了全球所有文字。java语言源代码采用unicode编码。
JDK中bin文件自带的native2ascii.exe命令可以将文字转换成unicode格式。
命令行输入:
D:\java\day2>native2ascii
您好
\u60a8\u597d
测试
\u6d4b\u8bd5
转换出来的为16进制,\u
char z='\u8bd5';
System.out.println(z);
输出:试
-
数字的取值范围
byte占一个字节,也就是8个比特位。那te的取值范围是多少?
——java中的数字有正负之分,所以数字的二进制中有一位是符号位,“0”表示正数,“1”表示负数。即byte的最大值:01111111。char没有负数。 -
转义字符——****
转义字符出现在特色字符前,会把特殊字符转义成普通字符。
char只能表示字符,即单引号的字符:字母、汉字等
\n:为一个字符(换行符),不是字符串char测试)System.out.println和System.out.print区别:
System.out.print("Hello"); //System.out.println和System.out.print区别
System.out.println("world!");//println本身就只带换行功能,print不会换行
System.out.println("Hi");
输出结果:
Helloworld!
Hi
实验一:在控制台输出反斜杠字符
System.out.println('\');
/**反斜杠将后面的单引号转义成不具备特殊含义的
*普通单引号字符,即左边的单引号缺少了结束
*的单引号字符,编译报错。
*/
System.out.println ('\\');
/**
*第一个反斜杠巨幼转义功能
*将后面的反斜杠转义为普通反斜杠字符
*两个反斜杠代表一个普通的反斜杠字符。
*/