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次方

  1. short2字节
  2. int4字节 java中整型的常量,默认类型是:int
  3. long8字节
  • 浮点类型: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字节)
    day02_java变量学习笔记 - 图1

  • 特别地:当byte,char、short三种类型的变量做运算时,结果都是int类型,包括本身之间做运算。

    1. byte b1 = 2;
    2. int i1 = 20;
    3. byte b2 = b1 + i1;//编译不通过
    4. int l1 = b1 + i1;//编译通过
    5. float f = b1 + i1;//编译通过
  • 强制类型转换:自动类型提升运算的逆运算(容量大的转换成容量小的)

    1、需要使用强转符()

2、强制类型转换,可能导致精度损失

  1. //两个特殊情况
  2. class VariableTest4 {
  3. public static void main(String[] args) {
  4. //1.编码情况1:
  5. long l = 123213;
  6. System.out.println(l);
  7. //编译失败:过大的整数
  8. //long l1 = 21332423235234123;
  9. long l1 = 21332423235234123L;
  10. //****************
  11. //编译失败
  12. //float f1 = 12.3;
  13. float f1 = (float)12.3;
  14. //2.编码情况2:
  15. //整型常量,默认类型为int型
  16. //浮点型常量,默认类型为double型
  17. byte b = 12;
  18. //byte b1 = b + 1;//编译失败
  19. //float f1 = b + 12.3;//编译失败
  20. }
  21. }

五、字符串类型String

  • String属于引用型数据类型

  • 声明String类型变量时,使用一对双引号””

  • String可以和8种基本数据类型做运算,且运算只能是连接运算。

  • 运算的结果仍然是String类型

  • 字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。
    day02_java变量学习笔记 - 图2

  1. //练习1
  2. char c = 'a';//97 A:65
  3. int num = 10;
  4. String str = "hello";
  5. System.out.println(c + num + str);//107hello
  6. System.out.println(c + str + num);//ahello10
  7. System.out.println(c + (num + str));//a10hello
  8. System.out.println((c + num) + str);//107hello
  9. System.out.println(str + num + c);//hello10a
  10. //练习2
  11. //* *
  12. System.out.println("* *");
  13. System.out.println('*' + '\t' + '*');不能输出以上情况
  14. System.out.println('*' + "\t" + '*');行
  15. System.out.println('*' + '\t' + "*");行
  16. System.out.println('*' + ('\t' + "*"));行
  17. //String str1 = 123;//编译不通过,必须放在双引号里面
  18. String str1 = 123 + "";
  19. System.out.println(str1);//"123"
  20. //int num1 = str1;编译不通过
  21. //int num1 = (int)str1;//"123"编译不通过,String类型不能直接强转为int类型
  22. int num1 = Integer.parseInt(str1);可以
  23. System.out.println(num1);//123

六、进制(了解)