第2章:基本语法

2.1 关键字

2.1.1 关键字定义

1)被Java语言赋予了特殊含义的字符串,关键字中所有的字母都为小写

2.1.2 关键字类型

1)用于定义数据类型的关键字:class interface enum byte short int long float

      double char boolean void

2)用于定义数据类型值得关键字: true false null

3)用于定义流程控制的关键字:if  else switch case default while do for break continue return

4)用于定义访问权限修饰符的关键字:private protected public

5)用于定义类,函数,变量修饰符的关键字:abstract final static synchronized

6)用于定义类与类之间关系的关键字:extends implements

7)用于定义建立实例及引用实例,判断实例的关键字:new this super instanceof

8)用于异常处理的关键字:try catch finally throw throws

9)用于包的关键字:package import

10)其他修饰符关键字:native strictfp transient volatile assert

2.1.3 保留字

1)现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标记符时要避免使用这些保留字 byValue、         cast、future、 generic、 inner、 operator、 outer、 rest、 var 、 goto 、const

2.2 标识符

2.2.1 标识符

1)由自己命名的

2)由26个英文字母大小写,0-9,_或$组成

3)数字不可以开头

4)不能使用关键字和保留字,但是可以包含

5)Java严格区分大小写,长度没有限制

6)标识符中不可以含有空格

7)起名要见名知意

2.2.2 Java中的名称命名规范

1)包名:多单词组成时所有字母都小写

2)类名、接口名:多单词组成,所有单词首字母都大写

3)变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写

4)常量名:所有字母都大写,多单词时每个单词之间用下划线连接

2.3 变量

2.3.1 变量概念

1)内存中的一个存储区域,拥有自己的名称(变量名)和类型(数据类型)

2)Java中每个变量必须先声明后使用

3)该区域的数据可以在同一类型范围内不断变化

4)变量作用域:一对{}之间,需要初始化值

5)格式为:数据类型   变量名  =  初始化值

6)变量通过使用变量名来访问这块区域

2.3.2 数据类型

1)基本数据类型:

a)整数类型:

 byte         1字节

 short        2字节

 int            4字节

 long         8字节        值得末尾加“L”或“l” 

b)浮点类型:

float          4字节      值的末尾加“F”或“f”

double     8字节  

c)字符型:

char          2字节      3种表现形式(单引号、转义字符、Unicode值)

d) 布尔型:

boolean (true、false、null)

2)引用数据类型:

类(class)               

接口(interface)               

数组([] )

3)字符串:

2.3.3 变量分类

1)成员变量(类体内声明的)

实例变量:不用static修饰

类变量:用static修饰

2)局部变量(方法体内定义的)

形参:方法名中定义的变量

方法局部变量:在方法内部定义

代码块局部变量:在代码块内定义

2.3.4 注意问题

1)字符串与基本数据类型之间的运算只能是连接运算,结果仍然是一个字符串

2)异:局部变量除了形参以外,都需要显示初始化。 同:都有生命周期。

2.3.5 基本类型转换(不考虑boolean)

1)自动类型转换:容量小的数据类型和容量大的数据类型做运算,容量小的自动转化成容量大的                    (byte,short==>int==>long==>float==>double)

2)强制类型转换:容量大转成容量小的,需要使用强制类型转换符,会导致精度的丢失。

2.4 运算符

2.4.1 运算符

1)算术运算符:+、-、+、-、*、/、%、++、-- 、+ 

2)赋值运算符:+=、-=、*=、/=、%=

3)逻辑运算符:&、|、!、&&、||  、^ (异或)

4)位运算符:<<、>>、>>>、&、|、~ 、^

5)三元运算符:(条件表达式)? 表达式1:表达式2;

2.4.2 十进制二进制互转

1)二转十:乘以2的幂数

2)十转二:除以2取余数

2.4.3 二进制八进制互转

1)二转八:每三位二进制转一个八进制

2)八转二:每一位八进制转三个二进制

3)二进制与十六进制同理。每4位操作

2.6 数组

2.6.1 一维数组

1)数组的声明:String[] names;

2)初始化:

静态初始化:names = new String[]{"周瑜","小乔"};

动态初始化:names = new String[2];names[0] = "周瑜";names[1] = "小乔";

3)可通过names.length知道数组的长度

4)每个一维数组初始化值都是null

5)栈stack:存放局部变量,对象的引用      堆heap:存放new出来的东西

6)一旦初始化,其长度不可变

7)数组的遍历通过循环一个个输出,常用for循环

8)数组常见的异常:

a)数组下标越界的异常

b)空指针的异常

第一种:

String[] names = new String[2];

names=null;

//names指向的地址为null

第二种:

String[] names = new String[2];

//names[0]和names[1]默认初始化值为null

System.out.println(names[1].toString());

第三种:

String[] names = new String[2][];

//name[0]和name[1]初始化值为null,找不到names[1][0]

names[1][0] = "周瑜";

2.6.2 二维数组及多维数组

1)数组中的数组

2)静态初始化:

int[][] arr = new int [][]{{1,2,3},{3,4,5},{6}};

3)动态初始化(两个格式):

1)int[][] arr = new int [3][2];

2)int[][] arr = new int[3][];

    arr[0] = new int[3];arr[1] = new int[1];arr[2] = new int[2];

4)错误的方式:

int[][] arr = new int [][];

int[][] arr = new int [][2];

5)二维数组的length属性:

int[][] arr = new int [3][2];

System.out.println(arr.length);//长度是3

System.out.println(arr[0].length);//长度是2

6)可以用两个循环嵌套遍历二维数组,通常用for循环嵌套

2.6.3 数组中涉及的常见算法

1)求数组元素的最大值、最小值、平均值、总和

2)数组的复制、反转

3)数组元素的排序

猜你喜欢

转载自blog.csdn.net/weixin_44145972/article/details/88924323