Java的基础语法学习笔记

时间:2022-08-28 14:57:11

零、Java的关键字
用于类和接口的声明:class, extends, implements, interface
包引入和包声明:import, package
数据类型:boolean, byte, char, short, int, long, float, double
某些数据类型的可选值:false, true, null
流程控制:default, return, if, else, for, switch, case, do, while, break, continue,
异常处理:try, catch, finally, throw, throws
修饰符:abstract, final, native, private, protected, public, static, static, synchronized, transient, volatile
操作符:instanceof
创建对象:new
引用:this, super
方法返回类型: void
Java保留字:const和goto

一、java中的注释:    有三种形式
    1. // 单行注释
    2. /* 一或多行注释 */
    3. /** 文档注释 */             它必须放在方法体的外面 ,可用命令javadoc来生成HTML文档.

二、Java代码中的“;”、“{}”、“ ” 
    Java语句以分号分隔
    Java代码块包含在大括号内
    忽略空格。
   
三、标识符: 用以命名类、方法和变量、以及包
 标识符命名规则:
    1. 以字符、“_”或“$”开头。只能是字母,数字,“_”和“$”
    2. 大小写敏感。
    3. 无长度限制。
    4. 类/接口名首字母大写;
    5. 方法名、变量名第一个字母小写,其余首字母大写;
    6. 常量名称全部大写;
    7. 包名全部小写。
   
四、基本数据类型:

名称

说明符

存储要求

范围或精度

说明

字节型

byte

1字节

-128127

 

短整型

short

2字节

-2^152^15-1

 

整型

int

4字节

-2^312^31-1

 

长整型

long

8字节

-2^632^63-1

长整型数字有一个后缀L

单精度浮点型

float

4字节

(有效小数位为6~7)

表示float类型数据时需要在后面添加后缀F,没有后缀F的浮点数据被认为是double类型的

双精度浮点型

double

8字节

(有效小数位为15)

 

字符型

char

2字节

 

用来存储Unicode编码表中的字符。

char是无符号的16位整数,字面值必须用单引号括起来(:用单引号括起的单个中文字符也正确)

布尔型

boolean

不确定

 

只有truefalse两个值,它和整数不能相互转换


注意:在Java中,所有数字类型在内存中所占内存空间的大小与平台无关,并且Java中没有unsigned类型。

 

五、变量的作用域和生存期:
1. 变量是存储数据的基本单元。
2. 变量可以在代码块中任何位置声明
3. 块以左大括号开始,以右大括号结束
4. 变量的作用域就是它所在的块
5. 成员变量:在类中声明,它的作用域是整个类。(可以在类中方法以外的任何地方定义)
6. 局部变量:在一个方法的内部或方法的一个代码块的内部声明。如果在一个方法内部声明,它的作用域是整个方法;如果在一个方法的某个代码块的内部声明,它的作用域是这个代码块。(局部变量必须先定义后使用)
7. 方法参数:普通方法或构造方法的参数,它的作用域是整个方法不。
8. 异常处理参数:它的作用域是紧跟着catch(Exception e)语句后的代码块。

六、数据转换类型:
1. 自动类型转换: 当将一种类型的变量赋给另一种类型的变量时,如果两种类型兼容,且目标类型大于源类型时,就会发生自动类型转换。下图为数字类型间的合法转换:(实箭头为无信息损失的转换,虚箭头表示可能丢失精度):

2. 强制类型转换: 强制转换用于显式类型 转换。如果被转换的值 的数据类型大于其目标 类型,就会丢失部分信息
类型强制转换使程序将变量视为某种类型,尽管此变量中包含的是另一类型的数据。
语法:(目标类型) 待转换的变量名;

示例:
float c = 34.56789f;
int b = (int) c; // 将 c 转换为整型

七、运算符:
  1.
 

运算符

描述

示例

算术运算符

算术运算符使用数字操作数。这些运算符主要用于数学计算

+, -, *, /, %

关系运算符

关系运算符用于测试两个操作数之间的关系。使用关系运算符的表达式的结果为 boolean

==, >, >=, <, <= , !=

逻辑运算符

逻辑运算符用于 boolean 操作数

&, |, ^, &&, ||, !

条件运算符

条件运算符很独特,因为它是用三个操作数组成表达式的三元运算符。它可以替代某种类型的 if-else 语句

?

赋值运算符

赋值运算符为一个等号 =,它将值赋给变量

=, *=, /=, +=, -=


  2. 优先级:

顺序

运算符

1.

括号,如 ( ) [ ]

2.

一元运算符,如 -++- - !

3.

算术运算符,如 */%+ -

4.

关系运算符,如 >>=<<=== !=

5.

逻辑运算符,如 &^|&&||

6.

条件运算符和赋值运算符,如 ? :、=*=/=+= -=


  一般情况,不用刻意去记,当不能确定操作符的执行顺序时,可能使用圆括号来指定顺序。

 

八、控制流语句:
1. 判断语句:

    (1). if-else 语句: 
    一般语法:  

?
1
2
3
4
5
if (<条件>) {
  <语句块1>
} else {
 <语句块2>
}

            如果条件为真,执行语句块1里的语句;
            如果条件为假,则执行 else 后面的语句(语句块2里的语句 )。
    (2). switch-case 语句:
    一般语法: 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
switch (表达式) {
  case 1:
   操作 1 的语句;
   break;
  case 2:
   操作 2 的语句;
   break;
  ….
  case n :
   操作 n 的语句;
   break;
  default:
   默认语句;
}

       注意:switch括号中的表达式的值类型必须是与int类型兼容的基本类型(包括byte、short、char、int),每个case子句的末尾要跟个break;

2. 循环语句:
    (1). while 循环:只要指定的条件为true时,就执行循环体。如果一开始时条件就为false,则while循环永远不被执行。  语法如下:

?
1
2
3
while (条件){
  // 循环体语句
}

    (2). do-while 循环:先执行循环体,然后才测试条件。   语法如下:

?
1
2
3
do{
  // 循环体语句
} while (条件);

    (3). for 循环:主要用于按预定的次数执行语句或语句块:  语法如下:

?
1
2
3
for(初始化;测试; 更新计数器){
  // 操作语句;
}

3. 跳转语句:
  (1). break 中断循环
  (2). countinue 只中断本次循环
  (3). return  退出本方法,跳到上层调用方法。如果本方法的返回类型不是void,就需要提供相应的返回值。

九、数组: 用存储一组相同类型数据的数据结构。
1. 可以使用以下三种方式声明数组:
  (1). 数据类型[ ] 标识符;  //声明一个数组
  (2). 数据类型[ ] 标识符 = new 数据类型[大小]; //创建一个数组
  (3). 数据类型[ ] 标识符 = {值 1,值 2,…值 N};    //声明,创建并初始化
2. 可以通过整型下标访问数组的第一个值。 如:a是一整数数组,则a[0]就是数组中第一个元素。
3. 数组一旦被创建,就不能再改变它的大小了。
4. 可以用 数组名.length 得到数组的元素数目。
5.多维数组:
二维数组:其实就是数组的数组。
如: int [][] arr = new int[2][3]; 这个程序片断中,配置了2行3列的二维数组对象。它的配置关系可用如图表示:
所以,根据以上原理,你可以创建不规则数组。

十、命令行参数:
java程序中的入口方法:main方法带有String[] args参数,这个参数表示main方法接收了一个字符中数组,也就是命令行参数。

十一、转义符:
 

转义序列

名称

描述

/a

警告

产生一则警告。

/n

换行

将光标移到下一行的第一格。

/r

回车

将光标移到当前行的第一格。

/t

水平制表

将光标移到下一个水平制表位置。

/'

单引号

产生一个单引号。

/"

双引号

产生一个双引号。