标识符、运算符、流程控制、循环结构、分支结构、数组、方法、类与对象等相关知识点的梳理与总结。

标识符

java标识符定义

1.包名、类名、方法名、参数名、变量名等,这些符号被称为标识符。

2.标识符可以由字母、数字、下划线_和美元符号$组成。

3.标识符不能以数字开头、不能是java中的关键词。

4.首字符之后可以是字母、下划线_、美元符号$或数字的任何字符。

5.java区分大小写,因此myvar和MyVar是两个不同的标识符。

6.不可以使用关键词和保留字作为标识符,但标识符中可以包含关键字和保留字。

7.标识符不能包含空格。 

  例如:

  • 合法标识符:date、$abc、D$date、myint等
  • 不合法的标识符:123com、for、87等

 java标识符规则

  1. 包名所有字母必须。例如:cn.com.text
  2. 类名和接口名每个单词的首字母都要大写。例如:ArrayList
  3. 常量名所有的字母都大写,单词之间用下划线连接。例如:DAY_OF_MONTH   
  4. 变量名和方法名的第一个单词首字母小写,从第二个单词开始,每个单词首字母大写。例如:lineName、getLingNumber
  5. 在程序中,应该尽量使用有意义的英文单词来定义标识符,使得程序便于阅读。例如:使用userName表示用户名,password表示密码。

 java关键字

       java语言目前定义了51个关键字,这些关健字不能作为变量名、类名和方法来使用。以下对这些关键字进行分类

关键字

数据类型

boolean、int、long、short、byte、float、double、char、class、interface、enum、void
流程控制If、else、do、while、for、switch、case、default、break、continue、return
异常处理try、catch、finally、throw、throws
修饰符

public、protected、private、final、void、static、strict、abstract、transient、

synchronized、volatile、native

类与类之间关系extends、implements
建立实例及引用实例this、supper、instanceof、new
导包package、impor


保留字

保留字:Java版本尚未使用,但以后版本可能会作为关键字使用。
在命名标记符时要避免使用这些保留字

 goto、const、byValue、cast、future、 generic、 inner、 operator、 outer、 rest、 var

注意:

  • java中true、false、friendly和null不属于关键字,也不是保留字,它们只是显式常量值,但是你在程序中不能使用它们作为标识符。
  • java关键字和保留字都是小写。即null是关键字,NULL不是关键字;TRUE、FALSE也不是关键字。
  • sizeof 是 C/C++ 中的方法,Java 中并没有这个方法,也没有该关键字 或 保留字

运算符

计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套的运算符来操纵变量。我们可以把运算符分为以下几组:

  • 算术运算符
  • 关系运算符

  • 位运算符
  • 逻辑运算符
  • 赋值运算符
  • 其他运算符

流程控制

       在java程序中,JVM默认总是顺序执行以分号结束的语句,但是,在现实的代码中,程序经常需要做条件判断、循环,因此,需要有多种流程控制语句,来实现程序的跳转和循环等功能。

       流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。

       其流程控制方法采用结构化程序设计中规定的三种基本流程结构,即:                                                   顺序结构                                                                                                                                             分支结构                                                                                                                                             循环结构

顺序结构

       顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数代码都是这样执行的。

       总的来说:程序按照从上到下的顺序执行。

分支结构

       根据条件,选择性地执行某段代码。

       有if...else和switch-case两种分支语句。

if单分支语句

语法:                                                                                                                                                       if(条件表达式){                                                                                                                                               语句块;                                                                                                                                 }

解释:                                                                                                                                                        条件表达式结果为boolean类型,当表达式结果为true,则执行语句块;否则什么都不执行!
当语句块只有一条执行语句时,一对{}可以省略,但建议保留。

if双分支语句

语法:
        if(条件表达式){
                语句块A;
        }else{
                语句块B;
        }
解释:
        条件表达式结果为boolean类型,当表达式结果为true,则执行语句块A;否则执行语句块B。
        if-else语句结构,根据需要可以嵌套使用。

if多分支语句
语法:
        if(条件表达式A){
                语句块A;
        }else if(条件表达式B){
                语句块B;
        }...
        else if(条件表达式N){
                语句块N;
        }else{
                语句块N+1
        }
解释:
        所有的条件表达式结果都是boolean类型。
        如果条件表达式A结果为true,则执行语句块A,否则去判断条件表达式B;
        如果条件表达式B结果为true,则执行语句块B,否则去判断条件表达式C;
        ....
        如果所有的条件表达式结果都为false,则执行语句块N+1
        else是可选的,根据需要可以省略

嵌套if

语法参考: 
if(条件1) {
        if(条件2) {
              代码块1
        } else {
              代码块2
        }
} else {
        代码块3
}

        为了使 if 结构更加清晰、避免执行错误,应该把每个 if 或 else 包含的代码块都用大括号括起来;
        相匹配的一对 if 和 else 应该左对齐;
        内层的 if 结构相对于外层的 if 结构要有一定的缩进;

switch语句

语法:
        switch(表达式){
                case 值1:
                        语句块1;
                        break;
                .....
                case 值N:
                        语句块N;
                        break;
                default: 
                        语句块default;
    }        
 

循环结构

       顺序结构或分支结构的程序语句只能被执行一次。如果你要同样的操作执行多次,就需要使用循环结构。

循环语句分类

while循环、do-while循环、for循环、单层for循环、双层for循环、增强for循环(foreach)、嵌套循环

循环语句的四个组成部分

初始化部分
循环条件部分
循环体部分
迭代部分

while循环

语法:
        ①初始化部分
        while(②循环条件部分){
                ③循环体部分; 
                ④迭代部分; 
        }

执行过程:
        ①-②-③-④-②-③-④-②-③-④-...-②

解释:
        条件表达式返回值类型为boolean类型,只要条件表达式的结果为true,则一直执行语句块。

特点:先判断,再执行

       

do…while循环
语法:
        ①初始化部分;
        do{
                ③循环体部分
                ④迭代部分
        }while(②循环条件部分);

执行过程:
        ①-③-④-②-③-④-②-③-④-...②

解释:
        先执行do对应的语句块,然后再判断循环条件,只要循环条件满足,则一直执行循环体,否则结束循环。

特点:先执行,再判断;do-while循环至少执行一次循环体。

while和do while的区别?

执行次序不同:
        while先判断,再执行;do while先执行,再判断
初始情况不满足循环条件时:
        while循环一次都不会执行
        do-while循环不管任何情况都至少执行一次

循环嵌套


      将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for ,while ,do…while均可以作为外层循环或内层循环。

        实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环。

        设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n次。

流程跳转


break        用于do-while、while、for、switch中时,可跳出循环而执行循环后面的语句
continue    用在循环中,跳过本次循环,执行下一次循环.

break


语法:
        循环(…) {
                ……
                break;
                ……
        }

解释:
        break语句用于终止某个语句块的执行
        break通常在循环中与条件语句一起使用

 continue


语法:
        循环(...){
                ....
                continue;
                ....
        }

解释:
        continue只能使用在循环结构中
        continue语句用于跳过其所在循环语句块的一次执行,继续下一次循环
        continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环

多层循环跳转


        嵌套循环时: 内循环可以使用外循环中的变量,外循环每循环一次,内循环都会重新循环,并循环完内循环的所有次。
        break/continue 只会控制当前的循环,可以使用给循环设定标签的形式来控制循环.

label1: { ……
        label2: { ……
                label3: { ……
                        break label2;
                ……
                } 
        } 
}

 return

        return:并非专门用于结束循环的,它的功能是结束一个方法。当一个方法执行到一个return语句时,这个方法将被结束。

     与break和continue不同的是,return直接结束整个方法,不管这个return处于多少层循环之内。

三者对比
break和continue对比:

使用场合不同
        break可用于switch结构和循环结构中。
        continue只能用于循环结构中。

作用不同(循环结构中)
        break语句终止某个循环,程序跳转到循环块外的下一条语句。
        continue跳出本次循环,进入下一次循环。

注:很多语言都有goto语句,goto语句可以随意将控制转移到程序中的任意一条语句上,然后执行它。但使程序容易出错。Java中的break和continue是不同于goto的

continue、break、return三者对比:

continue:
    跳过本次循环,继续下一次循环
break:
    结束所在的循环。
return:
    结束整个方法    

Java 数组

数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。

Java 语言中提供的数组是用来存储固定大小的同类型元素。

你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99。

声明数组变量

首先必须声明数组变量,才能在程序中使用数组。

语法:

dataType[] arrayRefVar;   // 首选的方法
 
或
 
dataType arrayRefVar[];  // 效果相同,但不是首选方法

创建数组

Java语言使用new操作符来创建数组

语法:

arrayRefVar = new dataType[arraySize];

上面的语法语句做了两件事:

  • 使用 dataType[arraySize] 创建了一个数组。
  • 把新创建的数组的引用赋值给变量 arrayRefVar。

数组变量的声明,和创建数组可以用一条语句完成

语法:

dataType[] arrayRefVar = new dataType[arraySize];

Java 方法

  • 方法是解决一类问题的步骤的有序组合
  • 方法包含于类或对象中
  • 方法在程序中被创建,在其他地方被引用

方法的优点

  1. 使程序变得更简短而清晰。
  2. 有利于程序维护。
  3. 可以提高程序开发的效率。
  4. 提高了代码的重用性。

方法的命名规则

1.方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。

2.下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。一个典型的模式是:test<MethodUnderTest>_<state>,例如 testPop_emptyStack。

类和对象

类的介绍
首先Java里面的类由关键字class定义,类中的元素称为:成员属性。类中的函数称为:成员方法。

一个类可以包含以下类型变量:

  • 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
  • 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
  • 类变量:类变量也声明在类中,方法体之外,但必须声明为 static 类型。

一个类可以拥有多个方法,在上面的例子中:eat()、run()、sleep() 和 name() 都是 Dog 类的方法。

构造方法

每个类都有构造方法。如果没有显式地为类定义构造方法,Java 编译器将会为该类提供一个默认构造方法。

在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。

下面是一个构造方法示例:

public class Puppy{
    public Puppy(){
    }
 
    public Puppy(String name){
        // 这个构造器仅有一个参数:name
    }
}

创建对象

对象是根据类创建的。在Java中,使用关键字 new 来创建一个新的对象。创建对象需要以下三步:

  • 声明:声明一个对象,包括对象名称和对象类型。
  • 实例化:使用关键字 new 来创建一个对象。
  • 初始化:使用 new 创建对象时,会调用构造方法初始化对象。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值