Java语法基础知识梳理
Java语法基础
Java:强类型(强制约束)语言
语法:开发语言中的法律约束 在写代码时必须遵守的约束
// 单行注释 快捷键 ctrl+/
/*
* 多行注释 /*+回车
*/
/**
* 文档化注释 /**+回车
*/
System.out.println("1+2"); //所见即所得 1+2
System.out.println(1+2); //计算内容 3
System.out.println() //输出并换行
System.out.print() //输出不换行
1、注释的作用
- 屏蔽不想执行的代码
- 给对应的代码添加说明
- 辅助其余人员快速读懂你的代码(企业核心)
2、关键字
关键字 | 含义 |
---|---|
abstract | 表明类或者成员方法具有抽象属性 |
assert | 断言,用来进行程序调试 |
boolean | 基本数据类型之一,声明布尔类型的关键字 |
break | 提前跳出一个块 |
byte | 基本数据类型之一,字节类型 |
case | 用在switch语句之中,表示其中的一个分支 |
catch | 用在异常处理中,用来捕捉异常 |
char | 基本数据类型之一,字符类型 |
class | 声明一个类 |
const | 保留关键字,没有具体含义 |
continue | 回到一个块的开始处 |
default | 默认,例如,用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现 |
do | 用在do-while循环结构中 |
double | 基本数据类型之一,双精度浮点数类型 |
else | 用在条件语句中,表明当条件不成立时的分支 |
enum | 枚举 |
extends | 表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口 |
final | 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量 |
finally | 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块 |
float | 基本数据类型之一,单精度浮点数类型 |
for | 一种循环结构的引导词 |
goto | 保留关键字,没有具体含义 |
if | 条件语句的引导词 |
implements | 表明一个类实现了给定的接口 |
import | 表明要访问指定的类或包 |
instanceof | 用来测试一个对象是否是指定类型的实例对象 |
int | 基本数据类型之一,整数类型 |
interface | 接口 |
long | 基本数据类型之一,长整数类型 |
native | 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 |
new | 用来创建新实例对象 |
package | 包 |
private | 一种访问控制方式:私用模式 |
protected | 一种访问控制方式:保护模式 |
public | 一种访问控制方式:共用模式 |
return | 从成员方法中返回数据 |
short | 基本数据类型之一,短整数类型 |
static | 表明具有静态属性 |
strictfp | 用来声明FP_strict(单精度或双精度浮点数)表达式遵循[IEEE 754](https://baike.baidu.com/item/IEEE 754)算术规范 |
super | 表明当前对象的父类型的引用或者父类型的构造方法 |
switch | 分支语句结构的引导词 |
synchronized | 表明一段代码需要同步执行 |
this | 指向当前实例对象的引用 |
throw | 抛出一个异常 |
throws | 声明在当前定义的成员方法中所有需要抛出的异常 |
transient | 声明不用序列化的成员域 |
try | 尝试一个可能抛出异常的程序块 |
void | 声明当前成员方法没有返回值 |
volatile | 表明两个或者多个变量必须同步地发生变化 |
while | 用在循环结构中 |
3、标识符
Java标识符:俗称姓名(在java中,一般情况,尽可能不要重复定义)
命名约定:
- 标识符有字母、下划线“-”、美元符“$”、或数字组成(4种)
- 标识符必须以字母、下划线、美元符开头。(数字不能作为开头)
- Java标识符大小写敏感,长度无限制。
- “见名知意”
- 约定俗成的规则
- 中文可以定义为标识符,但实际开发中,没有企业这样使用,因为执行效率会降低。
- 所以的关键字都不能作为标识符
4、数据类型
5、运算符
三目运算符 返回变量= 布尔添加 ? true的结果 : false的结果
true和false结果返回的类型必须一致!!!
6、数据类型转换
byte<short<int<long<float<double
数据类型字节小的转换为大的可以自动转换
大的转换为小的需要强制装换
int a=256;
//强制类型转换
byte u=(byte)a;
//输出为0
//遵循圆环定理
自动转换
long L=a;
7、Java流程控制
7.1、选择语句(if)
单分枝
if(条件表达式){
语句块
}
只要返回值是布尔类型的,就是条件表达式
{}官方称号为域,通俗称呼是语句块
语句块中可以放置0行、1行、多行代码
双分枝
条件为真执行if中的代码,为假执行else里面的代码
if(条件表达式){
语句块1
}else{
语句块2
}
多分枝
if(条件表达式){
语句块1
}else if(条件表达式){
语句块2
}
else if(条件表达式){
语句块3
}else{
语句块4
}
多分枝如果判断语句都满足的情况,默认只会走第一个满足的语句
switch(){
case :
break;
}
7.2、循环语句
for循环
for(表达式1;表达式2;表达式3){//默认的表达式2为true,也就是死循环
循环体
}
流程:表达式1->表达式2->循环体->表达式3->表达式2->循环体…直到表达式2返回false,整个循环才会终止。
while循环
while(布尔值){
语句块;
}
do{
}while(布尔表达式);
从 JDK 1.5后有一个 foreach 循环(性能高于普通的for)
int[] a={1,2,3,4,5};
for (int i : a) {
System.out.println(i);
}
8、人机交互(Scanner)
Scanner sc=new Scanner(System.in);
int i= scanner.nextInt();
//从电脑接收一个整形值
9、数组
8种基本类型+字符串[] arrays=new 类型与前面一致[长度]。
int[] arr=new int[5]; //定义一个数组
arr[0]=10; //给数组赋值
Java中的数组对象(锁死)长度是不可变的,但内容是可变的
new在Java中永远代表新的生成内容
Arrays
在java.util.Arrays有个可以直接输出数组的值
Arrays.toString(数组对象);