Java语法基础一笔记提纲
一、关键字和保留字
- 关键字:很多
特点:关键字中所有字母都是小写。
定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
- 保留字:goto和const
二、标识符
定义:方法、变量、类名、接口名、包名……。凡是自己可以起名字的地方都叫标识符。
标识符命名规则:如果不遵循编译不通过
1、由26个英文字母大小写,0-9,_或$组成。
2、数字不可以开头。
3、不可以使用关键字和保留字,但能包含关键字和保留字。
4、java中严格区分大小写,长度无限制。
5、标识符不能包含空格。
- 标识符命名规范:如果不遵循也可以编译通过,但是建议遵守,且命名尽量见名知意
包名:所有字母都小写:多单词组成所有单词都小写:xxxyyyzzz。
类名:大驼峰:多单词组成,所有单词的首字母大写:XxxYyyZzz。
变量名:小驼峰:多单词组成时,第一个单词首字母小写,第二单词开始每个单词首字母大写:xxxYyyZzz。
方法名:小驼峰:多单词组成时,第一个单词首字母小写,第二单词开始每个单词首字母大写:xxxYyyZzz。
常量名:单词之间下划线分割:所有字母都大写。多单词时,每个单词用下划线连接:XXX_YYY_ZZZ。
注意1:尽量见名知意
注意2:标识符可以采用汉子声明,但是不建议使用。
三、变量
定义:包含变量类型、变量名、存储值
定义变量的格式:数据类型 变量名 = 变量值;
注意:
1、变量必须先声明后使用
2、变量有一定的作用域,在作用域内才能使用,出了作用域就失效了。
3、同一个作用域内,不能定义重名的变量。
- java中的数据类型
按照数据类型来分:
基本数据类型:
整型:byte \ short \ int \ long
浮点型:float \ double
字符型:char
布尔型:boolean引用数据类型:
类(class)
接口(interface)
数组(array)按照变量在类中声明的位置来分:
成员变量、局部变量
- 整数类型:byte、short、int、long(声明要加字母L)
数值范围:byte(1字节):-128~+127 因为1byte=8bit=可以表示2的8次方个数,分成两半就是2的7次方
short:2字节
int:4字节 在java中整型的常量,默认类型是:int型
long:8字节
- 浮点类型:float(4字节)、double(8字节)
范围:float:尾数可以精确到7位有效数字,double精度是float的两倍。
注意:定义float类型变量时,变量要以”f”或”F”结尾,因为Java 的浮点型常量默认为double型,声明float型常量,须后加f或F。不然会编译出错
字符型:char(一个字符=2字节),通常使用一对单引号来定义一个字符型变量。且引号内部只能写一个字符。里面可以放数字,中文,转义字符。表示方式:1、声明一个字符。2、转义字符3、直接使用Unicode值来表示字符型常量。
字符集编码(了解一下)看讲义
boolean类型(与c语言不一样,C语言是用0表示false,非零表示true)。
只能取值:true、false
转义字符的使用小技巧
四、基本数据类型之间的运算规则
自动类型提升:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。byte 、 short 、 char —> int —> long —> float —> double(说明:此时容量大小指的是,表示数的范围的大和小,跟占据的字节大小没有关系。比如:float容量要大于long的容量,但是float是4字节,而long是8字节)
特别地:当byte,char、short三种类型的变量做运算时,结果都是int类型,包括本身之间做运算。
byte b1 = 2;
int i1 = 20;
byte b2 = b1 + i1;//编译不通过
int l1 = b1 + i1;//编译通过
float f = b1 + i1;//编译通过
- 强制类型转换:自动类型提升运算的逆运算(容量大的转换成容量小的)
1、需要使用强转符()
2、强制类型转换,可能导致精度损失
//两个特殊情况
class VariableTest4 {
public static void main(String[] args) {
//1.编码情况1:
long l = 123213;
System.out.println(l);
//编译失败:过大的整数
//long l1 = 21332423235234123;
long l1 = 21332423235234123L;
//****************
//编译失败
//float f1 = 12.3;
float f1 = (float)12.3;
//2.编码情况2:
//整型常量,默认类型为int型
//浮点型常量,默认类型为double型
byte b = 12;
//byte b1 = b + 1;//编译失败
//float f1 = b + 12.3;//编译失败
}
}
五、字符串类型String
String属于引用型数据类型
声明String类型变量时,使用一对双引号””
String可以和8种基本数据类型做运算,且运算只能是连接运算。
运算的结果仍然是String类型
字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。
//练习1
char c = 'a';//97 A:65
int num = 10;
String str = "hello";
System.out.println(c + num + str);//107hello
System.out.println(c + str + num);//ahello10
System.out.println(c + (num + str));//a10hello
System.out.println((c + num) + str);//107hello
System.out.println(str + num + c);//hello10a
//练习2
//* *
System.out.println("* *");
System.out.println('*' + '\t' + '*');不能输出以上情况
System.out.println('*' + "\t" + '*');行
System.out.println('*' + '\t' + "*");行
System.out.println('*' + ('\t' + "*"));行
//String str1 = 123;//编译不通过,必须放在双引号里面
String str1 = 123 + "";
System.out.println(str1);//"123"
//int num1 = str1;编译不通过
//int num1 = (int)str1;//"123"编译不通过,String类型不能直接强转为int类型
int num1 = Integer.parseInt(str1);可以
System.out.println(num1);//123