Java的基本语法
• Java代码的基本格式:
Java中的程序代码都必须放在一个类中。类需要使用class关键字定义,在class前面可以有一些修饰符,格式如下:

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

在编写Java代码时,需要特别注意下列几个关键点:
(1)Java中的程序代码可分为结构定义语句和功能执行语句,其中,结构定义语句用于声明一个类或方法。功能执行语句用于实现具体的功能。每条功能执行语句的最后都必须用分号(;)结束。
(2)Java语言严格区分大小写。例如,定义一个类时,Computer和computer是两个完全不同的符号,在使用时务必注意。
(3)应该让自己编写的程序代码整齐美观、层次清晰。

• Java中的注释
有三种类型
单行://
多行:/*    */
文档:/**   */  位于文档的开始

• Java的标志符
在编程过程中,经常需要在程序中定义一些符号来标记一些名称,如包名、类名、方法名、参数名、变量名等,这些符号被称为标识符。
标识符可以由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但不能以数字开头,不能是Java中的关键字。
建议初学者在定义标识符时还应该遵循以下规则:
1、包名所有字母一律小写。例如:cn.test。
2、类名和接口名每个单词的首字母都要大写。如:ArrayList、Iterator。
3、常量名所有字母都大写,单词之间用下划线连接。例如:DAY_OF_MONTH。
4、变量名和方法名的第一个单词首字母小写,从第二个单词开始每个单词首字母大写。例如:lineNumber、getLineNumber。
5、应该尽量使用有意义的英文单词来定义标识符,使得程序便于阅读。例如使用userName表示用户名,password表示密码。
关键字是编程语言里事先定义好并赋予了特殊含义的单词,也称作保留字。和其它语言一样,Java中保留了许多关键字,例如,class、public等。

• Java中的常量
常量就是在程序中固定不变的值,是不能改变的数据。
在Java中,常量包括整型常量、浮点数常量、布尔常量、字符常量、字符串常量、null常量等

Java中的变量

• 变量的定义

int x = 2;

• 变量的类型

excel java 第三行开始插入 java三行代码_数组

 

• 变量的类型转换
自动类型转换
也叫隐式类型转换,指的是两种数据类型在转换的过程中不需要显式地进行声明。
要实现自动类型转换,必须同时满足两个条件,第一是两种数据类型彼此兼容,第二是目标类型的取值范围大于源类型的取值范围。
(1)整数类型之间可以实现转换,如byte类型的数据可以赋值给short、int、long类型的变量,short、char类型的数据可以赋值给int、long类型的变量,int类型的数据可以赋值给long类型的变量
(2)整数类型转换为float类型,如byte、char、short、int类型的数据可以赋值给float类型的变量。
(3)其它类型转换为double类型,如byte、char、short、int、long、float类型的数据可以赋值给double类型的变量。

强制类型转换
也叫显式类型转换,指的是两种数据类型之间的转换需要进行显式地声明。
当两种类型彼此不兼容,或者目标类型取值范围小于源类型时,自动类型转换无法进行,这时就需要进行强制类型转换。
强制类型转换的格式如下所示
目标类型 变量=(目标类型)值
在对变量进行强制类型转换时,如将一个int类型的数转为byte类型,这样做极容易造成数据精度的丢失。
变量在表达式中进行运算时,也有可能发生自动类型转换这就是表达式数据类型的自动提升,如一个byte型的变量在运算期间类型会自动提升为int型。
变量在表达式中进行运算时,也有可能发生自动类型转换。

• 变量的作用域
变量需要在它的作用范围内才可以被使用,这个作用范围称为变量的作用域。
在程序中,变量一定会被定义在某一对大括号中,该大括号所包含的代码区域便是这个变量的作用域

Java中的运算符

• 算数运算符

excel java 第三行开始插入 java三行代码_数组_02

 

• 赋值运算符

excel java 第三行开始插入 java三行代码_excel java 第三行开始插入_03

 

• 比较运算符

excel java 第三行开始插入 java三行代码_excel java 第三行开始插入_04

 

• 逻辑运算符

excel java 第三行开始插入 java三行代码_Java_05

 

• 运算符的优先级

excel java 第三行开始插入 java三行代码_程序代码_06

 

选择结构语句

• if语句
方式一:
 if(判断语句){
     程序代码
 }方式二:
 if(判断语句){
     程序代码
 }
 else{
     程序代码
 }方式三:
 if(判断语句){
     程序代码
 }
 else if(判断语句){
     程序代码
 }
 else if(判断语句){
     程序代码
 }
 ...
 else{
     程序代码
 }• switch语句
switch (表达式){
     case 目标值1:
         执行语句
         break
     case 目标值2:
         执行语句
         break
     case 目标值3:
         执行语句
         break
     ...
     default 目标值n:
         执行语句
         break;
 }

需要注意的是,在switch语句中的表达式只能是byte、short、char、int、枚举(JDK1.5引入的)、String类型(JDK1.7引入的)的值,如果传入其他值,程序会报错。
在使用switch语句的过程中,如果多个case条件后面的执行语句是一样的,则该执行语句只需书写一次即可。
例如,要判断一周中的某一天是否为工作日,同样使用数字1~7来表示星期一到星期天,当输入的数字为1、2、3、4、5时就视为工作日,否则就视为休息日。

循环结构语句

• while循环语句
while (循环条件){
     程序代码
 }• do while循环语句
do (循环条件){
     程序代码
 }while(循环条件)• for循环语句
for(初始化表达式;循环条件;操作表达式){
     程序代码
 }• 循环嵌套
• 跳转语句(break;continue)

方法
• 什么是方法
假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹。发射炮弹的动作需要编写100行的代码,在每次实现发射炮弹的地方都需要重复地编写这100行代码,这样程序会变得很臃肿,可读性也非常差。
为了解决代码重复编写的问题,可以将发射炮弹的代码提取出来放在一个{}中,并为这段代码起个名字,这样在每次发射炮弹的地方通过这个名字来调用发射炮弹的代码就可以了。
上述过程中,所提取出来的代码可以被看作是程序中定义的一个方法,程序在需要发射炮弹时调用该方法即可。
定义方法如下:

修饰符 返回值类型 方法名(){
     程序代码;
     return 返回值;
 }

修饰符:是对访问权限的限定,例如,public、static都是修饰符
返回值类型:用于限定方法返回值的数据类型
参数类型:用于限定调用方法时传入参数的数据类型
参数名:是一个变量,用于接收调用方法时传入的数据
return关键字:用于结束方法以及返回方法指定类型的值
返回值:被return语句返回的值,该值会返回调用者

• 方法的重载
假设要在程序中实现一个对数字求和的方法,由于参与求和数字的个数和类型都不确定,因此要针对不同的情况去设计不同的方法。
Java允许在一个程序中定义多个名称相同的方法,但是参数的类型或个数必须不同,这就是方法的重载。
如 

public int GetMaxNumber(int []){
     程序代码
 }public float GetMaxNumber(float []){
     程序代码
 }

数组
• 数组的定义
数组是指一组数据的集合,数组中的每个元素被称为元素,在数组中可以存放任意类型的元素,
但同一个数组中存放的元素类型必须一致。
在Java中,可以使用下列格式定义一个数组,具体示例如下:
int [] x = new int[100];
上述语句就相当于在内存中定义了100个int类型的变量,第一个变量的名称为x[0],以此类推。这些变量的初始值都是0。
每个数组的索引都有一个范围,即0~length-1。在访问数组的元素时,索引不能超出这个范围,否则程序会报错。
在使用变量引用一个数组时,变量必须指向一个有效的数组对象,如果该变量的值为null,则意味着没有指向任何数组,此时通过该变量访问数组的元素会出现空指针异常。

• 数组的常见操作
数组遍历
数组最值

• 多维数组

定义方式一:
 int [][] a = new int[3][4];
 定义方式二:
 int [][] a = new int[3][0];
 定义方式三:
 int [][] a = {{1,2};{3,4,5,6};{7,8,9}};