【Java】2、Java 编程基础

您所在的位置:网站首页 java中定义类时三个一致是什么类型 【Java】2、Java 编程基础

【Java】2、Java 编程基础

2024-07-16 17:23| 来源: 网络整理| 查看: 265

文章目录 编程基础Java 的基本语法Java 代码的基本格式Java 中的注释Java 中的标识符Java 中的关键字Java 中的常量 Java 中的变量变量的定义变量的数据类型变量的类型转换变量的作用域 Java 中的运算符算术运算符赋值运算符比较运算符逻辑运算符位运算符运算符的优先级 选择结构语句if 条件语句switch 条件语句 循环结构语句while 循环语句do…while 循环语句for 循环语句循环嵌套跳转语句 方法什么是方法访问修饰符访问修饰符对比返回值类型方法名参数列表分析 Main 方法方法的重载方法的递归 数组数组的定义数组的常见操作冒泡排序法选择排序法 微信公众号

编程基础 Java 的基本语法

每一种编程语言都有一套自己的语法规范,Java 语言也不例外,同样需要遵从一定的语法规范,如代码的书写、标识符的定义、关键字的应用等。因此要学好 Java 语言,首先需要熟悉它的基本语法。

Java 代码的基本格式

Java 中的程序代码都必须放在一个类中,初学者可以简单地把类理解为一个 Java 程序。类需要使用 class 关键字定义,在 class 前面可以有一些修饰符,格式如下:

修饰符 class 类名 { 程序代码 }

在编写 Java 代码时,需要特别注意几个关键:

Java 中的程序代码可分为结构定义语句和功能执行语句,其中,结构定义语句用于声明一个类或方法,功能执行语句用于实现具体的功能。每条功能执行语句的最后都必须用分号(;)结束。如下面的语句: System.out.println("这是第一个Java 程序!");

值得注意的是,在程序中不要将英文的分号(;)误写成中文的分号(😉,如果写成中文的分号,编译器会报告“illegalcharacter”(非法字符)这样的错误信息。

Java 语言是严格区分大小写的。在定义类时,不能将 class 写成 Class,否则编译会报错。程序中定义一个 computer 的同时,还可以定义一个 Computer,computer 和 Computer 是两个完全不同的符号,在使用时务必注意。

在编写 Java 代码时,为了便于阅读,通常会使用一种良好的格式进行排版,但这并不是必需的,我们也可以在两个单词或符号之间任意的换行,例如下面这段代码的编排方式也是可以的。

public class HelloWorld {public static void main(String [ ] args){System.out.println("这是第一个Java 程序!");}}

虽然 Java 没有严格要求用什么样的格式来编排程序代码,但是,出于可读性的考虑,应该让自己编写的程序代码整齐美观、层次清晰,通常会使用下面这种形式:

public class HelloWorld { public static void main(String[] args) { System.out.println("这是第一个Java 程序!"); } } Java 程序中一句连续的字符串不能分开在两行中书写,例如,下面这条语句在编译时将会出错: System.out.println("这是第一个 Java 程序!");

如果为了便于阅读,想将一个太长的字符串分在两行中书写,可以先将这个字符串分成两个字符串,然后用加号(+)将这两个字符串连起来,在加号(+)处断行。上面的语句可以修改成如下形式:

System.out.println("这是第一个"+ "Java 程序!"); Java 中的注释

在编写程序时,为了使代码易于阅读,通常会在实现功能的同时为代码加一些注释。注释是对程序的某个功能或者某行代码的解释说明,它只在 Java 源文件中有效,在编译程序时编译器会忽略这些注释信息,不会将其编译到 class 字节码文件中去。

Java 中的注释有三种类型,具体如下。

单行注释

单行注释通常用于对程序中的某一行代码进行解释,用符号“//”表示,“//”后面为被注释的内容,具体示例如下:

int c = 10; //定义一个整型变量 多行注释

多行注释顾名思义就是在注释中的内容可以为多行,它以符号“/”开头,以符号“/”结尾,多行注释具体示例如下:

/*int c = 10; int x = 5; */ 文档注释

文档注释是以“/*”开头,并在注释内容末尾以“/”结束。文档注释是对一段代码概括的解释说明,可以使用 javadoc 命令将文档注释提取出来生成帮助文档,关于这点将在后面的章节做详细讲解。

Java 中的标识符

在编程过程中,经常需要在程序中定义一些符号来标记一些名称,如包名、类名、方法名、参数名、变量名等,这些符号被称为标识符。标识符可以由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但标识符不能以数字开头,不能是 Java 中的关键字。

下面的这些标识符都是合法的。

username username123 user_name _userName $ username

注意,下面的这些标识符都是不合法的!

123username class 98.3 Hello World

在 Java 程序中定义的标识符必须要严格遵守上面列出的规范,否则程序在编译时会报错。除了上面列出的规范,为了增强代码的可读性,建议初学者在定义标识符时还应该遵循以下规则:

包名所有字母一律小写,例如 cn.itcast.test。

类名和接口名每个单词的首字母都要大写,例如 ArrayList、Iterator。

常量名所有字母都大写,单词之间用下划线连接,例如 DAY_OF_MONTH。

变量名和方法名的第一个单词首字母小写,从第二个单词开始每个单词首字母大写,例如 lineNumber、getLineNumber。

在程序中,应该尽量使用有意义的英文单词来定义标识符,使得程序便于阅读。

例如使用 userName 表示用户名,passWord 表示密码。

Java 中的关键字

关键字是编程语言里事先定义好并赋予了特殊含义的单词,也称作保留字。和其他语言一样,Java 中保留了许多关键字,例如,class、public 等,下面列举的是 Java 中所有的关键字。

abstract  boolean  break  byte  case catch  char  const  class  continue default  do  double  else  extends false  final  finally  float  for goto  if  implements  import  instanceof int  interface  long  native  new null  package  private  protected  public return  short  static  strictfp  super switch  this  throw  throws  transient true  try  void  volatile  while synchronized

上面列举的关键字中,每个关键字都有特殊的作用。例如 package 关键字用于包的声明,import 关键字用于引入包,class 关键字用于类的声明。在本书后面的章节将逐步对其他关键字进行讲解,在此没有必要对所有关键字进行记忆,只需要了解即可。

使用 Java 关键字时,有几个值得注意的地方:

所有的关键字都是小写的。

程序中的标识符不能以关键字命名。

Java 中的常量

常量就是在程序中固定不变的值,是不能改变的数据。例如数字 1、字符’a’、浮点数 3.2 等。在 Java 中,常量包括整型常量、浮点数常量、布尔常量、字符常量等。

整型常量

整型常量是整数类型的数据,有二进制、八进制、十进制和十六进制 4 种表示形式,具体表示形式如下。

**二进制:**由数字 0 和 1 组成的数字序列。在 JDK7.0 中允许使用字面值来表示二进制数,前面要以 0b 或 0B 开头,目的是为了和十进制进行区分,如 0b01101100、0B10110101。

**八进制:**以 0 开头并且其后由 0~7 范围内(包括 0 和 7)的整数组成的数字序列,如 0342。

**十进制:**由数字 0~9 范围内(包括 0 和 9)的整数组成的数字序列。如 198。

**十六进制:**以 0x 或者 0X 开头并且其后由 09、AF(包括 0 和 9、A 和 F)组成的数字序列,如 0x25AF。

需要注意的是,在程序中为了标明不同的进制,数据都有特定的标识,八进制必须以 0 开头,如 0711、0123;十六进制必须以 0x 或 0X 开头,如 0xaf3、0Xff;整数以十进制表示时,第一位不能是 0,0 本身除外。例如十进制的 127,用二进制表示为 01111111,用八进制表示为 0177,用十六进制表示为 0x7F 或者 0X7F。

浮点数常量

浮点数常量就是在数学中用到的小数,分为 float 单精度浮点数和 double 双精度浮点数两种类型。其中,单精度浮点数后面以 F 或 f 结尾,而双精度浮点数则以 D 或 d 结尾。当然,在使用浮点数时也可以在结尾处不加任何的后缀,此时虚拟机会默认为 double 双精度浮点数。浮点数常量还可以通过指数形式来表示。具体示例如下:

2e3f 3.6d 0f 3.84d 5.022e+23f

上述列出的浮点数常量中用到的 e 和 f,初学者可能会感到困惑,在后面将会详细介绍。

字符常量

字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的单引号’ '引起来,它可以是英文字母、数字、标点符号以及由转义序列来表示的特殊字符。具体示例如下:

'a' '1' '&' '\r' '\u0000'

上面的示例中,’ u0000’表示一个空白字符,即在单引号之间没有任何字符。之所以能这样表示,是因为 Java 采用的是 Unicode 字符集,Unicode 字符以\u 开头,空白字符在 Unicode 码表中对应的值为’u0000’。

字符串常量

字符串常量用于表示一串连续的字符,一个字符串常量要用一对英文半角格式的双引号""引起来,具体示例如下:

"HelloWorld" "123" "Welcome \n XXX" ""

一个字符串可以包含一个字符或多个字符,也可以不包含任何字符,即长度为零。

布尔常量

布尔常量即布尔型的两个值 true 和 false,该常量用于区分一个事物的真与假。

null 常量

null 常量只有一个值 null,表示对象的引用为空。关于 null 常量后面将会详细介绍。

Java 中的变量 变量的定义

在程序运行期间,随时可能产生一些临时数据,应用程序会将这些数据保存在一些内存单元中,每个内存单元都用一个标识符来标识。这些内存单元被称为变量,定义的标识符就是变量名,内存单元中存储的数据就是变量的值。接下来,通过具体的代码来学习变量的定义。

int x = 0,y; y = x + 3;

上面的代码中,第一行代码的作用是定义了两个变量 x 和 y,也就相当于分配了两块内存单元,在定义变量的同时为变量 x 分配了一个初始值 0,而变量 y 没有分配初始值,变量 x 和 y 在内存中的状态如图 2-2 所示。

第二行代码的作用是为变量赋值,在执行第二行代码时,程序首先取出变量 x 的值,与 3 相加后,将结果赋值给变量 y,此时变量 x 和 y 在内存中的状态发生了变化,如图 2-3 所示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h9EJ4CW0-1642058357601)(http://47.107.171.232/easily-j/images/20190103/15c72303-38fc-44a5-90d0-9c8af83a91dd.png)]

变量的数据类型

Java 是一门强类型的编程语言,它对变量的数据类型有严格的限定。在定义变量时必须声明变量的类型,在为变量赋值时必须赋予和变量同一种类型的值,否则程序会报错。

在 Java 中变量的数据类型分为两种,即基本数据类型和引用数据类型。Java 中所有的数据类型如图 2-4 所示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yU29vv9Y-1642058357606)(http://47.107.171.232/easily-j/images/20190103/d8c931bf-8a02-4cf7-8b9d-b08b224cff0a.png)]

其中,8 种基本数据类型是 Java 语言内嵌的,在任何操作系统中都具有相同大小和属性,而引用数据类型是在 Java 程序中由编程人员自己定义的变量类型。本章此处重点介绍的是 Java 中的基本数据类型,引用数据类型会在以后的章节中做详细的讲解。

整数类型变量

整数类型变量用来存储整数数值,即没有小数部分的值。在 Java 中,为了给不同大小范围内的整数合理地分配存储空间,整数类型分为 4 种不同的类型:字节型(byte)、短整型(short)、整型(int)和长整型(long),4 种类型所占存储空间的大小以及取值范围。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zdW695sD-1642058357608)(http://47.107.171.232/easily-j/images/20190103/08a72d95-309b-49ad-b9d1-bbc7fa1e230f.png)]

表列出了 4 种整数类型变量所占的空间大小和取值范围。其中,占用空间指的是不同类型的变量分别占用的内存大小,如一个 int 类型的变量会占用 4 个字节大小的内存空间。取值范围是变量存储的值不能超出的范围,如一个 byte 类型的变量存储的值必须是-27~27-1 之间的整数。

在为一个 long 类型的变量赋值时需要注意一点,所赋值的后面要加上一个字母 L(或小写 l),说明赋值为 long 类型。如果赋的值未超出 int 型的取值范围,则可以省略字母 L(或小写 l)。具体示例如下:

long num = 2200000000L; //所赋的值超出了int 型的取值范围,后面必须加上字母L long num = 198L; //所赋的值未超出int 型的取值范围,后面可以加上字母L long num = 198; //所赋的值未超出int 型的取值范围,后面可以省略字母L 浮点数类型变量

浮点数类型变量用来存储小数数值。在 Java 中,浮点数类型分为两种:单精度浮点数(float)和双精度浮点数(double)。double 型所表示的浮点数比 float 型更精确,两种浮点数所占存储空间的大小以及取值范围。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7XcjZusR-1642058357610)(http://47.107.171.232/easily-j/images/20190103/4ab8fb2e-dc8a-409a-9335-39025c538035.png)]

表列出了两种浮点数类型变量所占的空间大小和取值范围,在取值范围中,E 表示以 10 为底的指数,E 后面的+号和-号代表正指数和负指数,例如 1.4E-45 表示 1.4*10-45。

在 Java 中,一个小数会被默认为 double 类型的值,因此在为一个 float 类型的变量赋值时需要注意一点,所赋值的后面一定要加上字母 F(或者小写 f),而为 double 类型的变量赋值时,可以在所赋值的后面加上字符 D(或小写 d),也可以不加。具体示例如下:

float f = 123.4f; //为一个float 类型的变量赋值,后面必须加上字母f double d1 = 100.1; //为一个double 类型的变量赋值,后面可以省略字母d double d2 = 199.3d; //为一个double 类型的变量赋值,后面可以加上字母d

在程序中也可以为一个浮点数类型变量赋予一个整数数值,例如下面的写法也是可以的。

float f=100; //声明一个float 类型的变量并赋整数值 double d=100; //声明一个double 类型的变量并赋整数值 字符类型变量

字符类型变量用于存储一个单一字符,在 Java 中用 char 表示。Java 中每个 char 类型的字符变量都会占用 2 个字节。在给 char 类型的变量赋值时,需要用一对英文半角格式的单引号’ ‘把字符括起来,如 a’ ‘,也可以将 char 类型的变量赋值为 0~65535 范围内的整数,计算机会自动将这些整数转化为所对应的字符,如数值 97 对应的字符为’a’。下面的两行代码可以实现同样的效果。

char c = 'a'; //为一个char 类型的变量赋值字符'a' char ch = 97; //为一个char 类型的变量赋值整数97,相当于赋值字符'a' 布尔类型变量

布尔类型变量用来存储布尔值,在 Java 中用 boolean 表示,该类型的变量只有两个值,即 true 和 false。具体示例如下:

boolean flag = false; //声明一个boolean 类型的变量,初始值为false flag = true; //改变flag 变量的值为true 变量的类型转换

在程序中,当把一种数据类型的值赋给另一种数据类型的变量时,需要进行数据类型转换。根据转换方式的不同,数据类型转换可分为两种:自动类型转换和强制类型转换。

自动类型转换

自动类型转换也叫隐式类型转换,指的是两种数据类型在转换的过程中不需要显式地进行声明。要实现自动类型转换,必须同时满足两个条件,第一是两种数据类型彼此兼容,第二是目标类型的取值范围大于源类型的取值范围。例如:

byte b = 3; int x = b; //程序把byte 类型的变量b 转换成了int 类型,无须特殊声明

上面的语句中,将 byte 类型的变量 b 的值赋给 int 类型的变量 x,由于 int 类型的取值范围大于 byte 类型的取值范围,编译器在赋值过程中不会造成数据丢失,所以编译器能够自动完成这种转换,在编译时不报告任何错误。

除了上述示例中演示的情况,还有很多类型之间可以进行自动类型转换,接下来就列出 3 种可以进行自动类型转换的情况,具体如下:

整数类型之间可以实现转换,如 byte 类型的数据可以赋值给 short、int、long 类型的变量,short、char 类型的数据可以赋值给 int、long 类型的变量,int 类型的数据可以赋值给 long 类型的变量。

整数类型转换为 float 类型,如 byte、char、short、int 类型的数据可以赋值给 float 类型的变量。

其他类型转换为 double 类型,如 byte、char、short、int、long、float 类型的数据可以赋值给 double 类型的变量。

强制类型转换

强制类型转换也叫显式类型转换,指的是两种数据类型之间的转换需要进行显式地声明。当两种类型彼此不兼容,或者目标类型取值范围小于源类型时,自动类型转换无法进行,这时就需要进行强制类型转换。

public class Example01 { public static void main(String[] args) { int num = 4; byte b = num; System.out.println(b); } }

编译程序报错

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qBr4Afup-1642058357612)(http://47.107.171.232/easily-j/images/20190103/e028cd24-da21-4069-a796-678a3586677f.png)]

出现这样错误的原因是将一个 int 型的值赋给 byte 类型的变量 b 时,int 类型的取值范围大于 byte 类型的取值范围,这样的赋值会导致数值溢出,也就是说一个字节的变量无法存储四个字节的整数值。

在这种情况下,就需要进行强制类型转换,具体格式如下:

目标类型 变量 = (目标类型)值

将例中第 4 行代码修改为下面的代码:

byte b = (byte) num;

再次编译后,程序不会报错,运行结果如图所示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QqylHuUD-1642058357617)(http://47.107.171.232/easily-j/images/20190103/60bffa60-f071-4317-af7f-40dd031e09d2.png)]

需要注意的是,在对变量进行强制类型转换时,会发生取值范围较大的数据类型向取值范围较小的数据类型的转换,如将一个 int 类型的数转为 byte 类型,这样做极容易造成数据精度的丢失。

变量的作用域

在前面介绍过变量需要先定义后使用,但这并不意味着在变量定义之后的语句中一定可以使用该变量。变量需要在它的作用范围内才可以被使用,这个作用范围称为变量的作用域。在程序中,变量一定会被定义在某一对大括号中,该大括号所包含的代码区域便是这个变量的作用域。接下来通过一个代码片段来分析变量的作用域,具体如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TlQooUHm-1642058357618)(http://47.107.171.232/easily-j/images/20190103/8ed2fe7a-f154-4b2a-b8aa-c6c4b040f9aa.png)]

上面的代码中,有两层大括号。其中,外层大括号所标识的代码区域就是变量 x 的作用域,内层大括号所标识的代码区域就是变量 y 的作用域。

Java 中的运算符

在程序中经常出现一些特殊符号,如+、-、*、=、>等,这些特殊符号称作运算符。运算符用于对数据进行算术运算、赋值和比较等操作。在 Java 中,运算符可分为算术运算符、赋值运算符、比较运算符、逻辑运算符和位运算符。

算术运算符

算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。

表格中的实例假设整数变量 A 的值为 10,变量 B 的值为 20:

操作符描述例子+加法 - 相加运算符两侧的值A + B 等于 30—减法 - 左操作数减去右操作数A – B 等于 -10*乘法 - 相乘操作符两侧的值A * B 等于 200/除法 - 左操作数除以右操作数B / A 等于 2%取余 - 左操作数除以右操作数的余数B%A 等于 0++自增: 操作数的值增加 1B++ 或 ++B 等于 21–自减: 操作数的值减少 1B- - 或 - -B 等于 19

注意

自增(++)自减(- -)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数。

前缀自增自减法(++a, - -a): 先进行自增或者自减运算,再进行表达式运算

int a = 10; int b = ++a; 最后结果为:a = 10,b = 11;

后缀自增自减法(a++, a- -): 先进行表达式运算,再进行自增或者自减运算

int a = 10; int b = a++; 最后结果为:a = 10,b = 10; 赋值运算符

下面是 Java 语言支持的赋值运算符:

操作符描述例子=简单的赋值运算符,将右操作数的值赋给左侧操作数C = A + B 将把 A + B 得到的值赋给 C+ =加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数C + = A 等价于 C = C + A- =减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数C - = A 等价于 C = C - A* =乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数C _ = A 等价于 C = C _ A/ =除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数C / = A 等价于 C = C / A(%)=取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数C%= A 等价于 C = C%A> = 2 等价于 C = C >> 2&=按位与赋值运算符C&= 2 等价于 C = C&2^ =按位异或赋值操作符C ^ = 2 等价于 C = C ^ 2l=按位或赋值操作符C = 2 等价于 C = C I 2 比较运算符

下表为 Java 支持的关系运算符

表格中的实例整数变量 A 的值为 10,变量 B 的值为 20:

操作符描述例子==检查如果两个操作数的值是否相等,如果相等则条件为真(A == B)为假(非真)!=检查如果两个操作数的值是否相等,如果值不相等则条件为真(A != B) 为真>检查左操作数的值是否大于右操作数的值,如果是那么条件为真(A> B)非真 = B)为假>>按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。A>>>2 得到 15 即 0000 1111 运算符的优先级

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rfZgJ8Pm-1642058357620)(http://47.107.171.232/easily-j/images/20190103/21789d26-f49c-4f16-b9d7-b19139bdceea.png)]

该表中优先级按照从高到低的顺序书写,也就是优先级为 1 的优先级最高,优先级 14 的优先级最低。

结合性是指运算符结合的顺序,通常都是从左到右。从右向左的运算符最典型的就是负号,例如 3±4,则意义为 3 加-4,符号首先和运算符右侧的内容结合。

instanceof 作用是判断对象是否为某个类或接口类型,后续有详细介绍。

注意区分正负号和加减号,以及按位与和逻辑与的区别

选择结构语句 if 条件语句

if(判断条件) {满足执行}

public class Main { public static void main(String[] args) { int a = 10; int b = 20; if (a == b) { System.out.println("a 和 b 相等"); } } }

if(判断条件) {满足执行} else {不满足执行}

public class Main { public static void main(String[] args) { int a = 10; int b = 20; if (a == b) { System.out.println("a 和 b 相等"); } else { System.out.println("a 和 b 不相等"); } } }

if 中嵌套 if

public class Main { public static void main(String[] args) { int a = 10; int b = 10; int c = 20; if (a == b) { if (b == c) { System.out.println("b 和 c 相等"); } else { System.out.println("b 和 c 不相等"); } } else { System.out.println("a 和 b 不相等"); } } } switch 条件语句 switch (表达式){ case 常量1: // 代码块1; break; case 常量2:     // 代码块2;     break;   default:     // 代码块n;     break; }

关键字说明

switch:表示条件表达式,括号里的值是一个规定数据类型的值。case:表示条件分支,case 后面跟一个常量,每个 case 后面的值必须不一样。case 的个数可以为 0 个。default:表示默认分支,default 可以省略,通常放在最后。break:表示“停止”,跳出当前 switch 语句。

switch 支持的数据类型

switch()括号中的表达式的结果的类型只能是特定类型,我们将一个 double 类型的变量放入,发现编译报错:Cannot switch on a value of type double. Only convertible int values, strings or enum variables are permitted。

不难看出这里括号中只支持是 int,String,enum 型的。 由于 java 中的类型的自动转型,byte、char、short 这三种可以自动转换为 int 型的类型括号中也支持。 由于 java 中包装类的自动拆箱,Integer、Byte、Char、Short 这四种类型括号中也支持。 总结来说:switch()括号中的表达式支持 int、String、enum 以及可以自动转型为 int 的其他类型。

注意

在 Java1.6 中表达式的类型只能为 int 和 enum,在 java1.7 后支持了对 String 的判断,String 类型比较特殊。

public class Main { public static void main(String[] args) { char grade = 'C'; switch(grade) { case 'A' : System.out.println("优秀"); break; case 'B' : case 'C' : System.out.println("良好"); break; case 'D' : System.out.println("及格"); case 'F' : System.out.println("你需要再努力努力"); break; default : System.out.println("未知等级"); } System.out.println("你的等级是 " + grade); } }

执行结果为:

良好 你的等级是 C

说通俗一点就是当前的值,与下面的几个值对比,如果相同的,就执行当前的 case,如果找不到对应的值,就执行最后默认的 default 中的代码。

循环结构语句 while 循环语句

当满足条件时,就循环执行 while 中的代码块,只要满足,就会被循环执行。

public class Main { public static void main(String[] args) { int x = 1; while (x


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3