1、Java 基本语法
1)Java语言严格区分大小写,好比main和Main是完全不同的概念。
2)类名:类名的首字母应该大写
3)方法名:所有的方法名都应该以小写字母开头,如果方法名含有若干单词,则后面的每个单词首字母大写。
4)一个Java源文件里可定义多个Java类,但其中最多只能有一个类被public修饰。若源文件中包括了public类,源文件必须和该public类同名。
5)一个源文件中包含N个Java类时,成功编译后会生成N份字节码文件,即每个类都会生成一份单独的class文件,且字节码文件名和其对应的类名相同。
6)主方法入口:所有的 Java 程序由 public static void main(String []args) 方法开始执行,因为main方法是程序的入口.
建议:一个Java源文件只定义一个类,用public修饰(源文件名必须和类名相同)不同的类使用不同的源文件定义。
2、Java 提供3种注释类型:
Java 的注释信息是给程序员看的,编译器(javac)在编译的时候会忽略掉源文件中的注释信息。
1)单行注释
// ; //注释信息,从//开始到本行结束的所有字符会被编译器忽略;
2)多行注释
/* */;/* 注释信息 */之间的所有字符会被编译器忽略
3)文档注释
/** */;/** 注释信息 */和多行注释一样,除此之外还可以专门生成文档信息API。
注意:多行注释和文档注释之间彼此都不能交叉嵌套.
3、Java 的关键字和保留字:挺详细的
关键字(keywards):Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等。
保留字(reserved words):是语言已经定义过的字,一些保留字可能没有相对应的语法,考虑到扩展性,为了向后兼容不能再将其作为变量名,goto 和 const 就是Java的保留字。
注意:关键字和保留字都是由小写字母组成
4、Java 语言分隔符
分号(;):语句的分割,表示一句话结束,好比咱们使用的句号。
花括号({}):表示一个代码块,是一个整体,花括号要成对使用。
方括号([]):定义数组和访问数组元素时使用。
圆括号(()):使用很广泛。
圆点(.):类和对象访问它的成员时使用。
空格( ):把一整条语句分割成几段,空格的次数不限制,好比一句英文里单词都要分开写一样。
注意:必须都是半角下的英文符号。
5、Java 标识符
为了增强程序阅读性而自定义的名称(比如:类名,方法名,变量名等),称为标识符。
标识符命名规则:
1)由字母、数字、下划线、$组成,但不能以数字开头,不能包含@、#等其他特殊符号。
2)严格区分大小写。
3)不能使用 Java 中的关键字和保留字。
4)不能包含空格。
5)不用Java API里的类名作为自己的类名。
简单说,就是使用一个非关键字或保留字而命名的英文单词就OK,不准起非主流名字。 注意:类名首字符规范是大写的。
二、常量1、常量(Constant)
常量代表程序运行过程中不能改变的值,
2、常量的语法格式:
只需在变量的语法格式前面添加关键字 final 即可。在Java编码规范中,要求常量名必须大写。
格式如下:
修饰符 final 数据类型 常量名称 = 值; 例如: public static final double PI = 3.14;
在Java语法中,常量也可首先声明,然后再进行赋值,但是只能赋值一次(不推荐),
例如:
public static final double PI;
PI = 3.14;
二、变量
变量代表程序的状态。程序通过改变变量的值来改变整个程序的状态,或者说得更大一些,也就是实现程序的功能逻辑。
变量表示存储空间,可用来存放某一类型的常量值,没有固定值,并可以重复使用,也可以用来存储某种类型的未知数据。
1、特点:
1)占据着内存中的某一块存储区域;
2)该区域有自己的名称(变量名)和类型(数据类型);
3)可以被重复使用;
4)该区域的数据可以在同一类型范围内不断变化;
2、由于Java语言是一种强类型的语言,所以变量在使用以前必须首先声明,在程序中声明变量的语法格式如下:
先定义变量,再赋值:
数据类型 变量名;
变量名 = 值;
或在声明时同时赋值:
数据类型 变量名 = 初始化值;
注意:格式是固定的,记住格式,以不变应万变。
不推荐:同时定义多个变量.
int a = 5; int a=5,b=4,c=3;
3、变量的分类:
根据变量定义在类中的位置不同,把变量可分成两大类:
1)成员变量:直接定义在类里的变量,又称为全局变量或字段。
2)局部变量:变量除了成员变量之外,其他就是局部变量。根据定义的位置不同有3种表现形式:方法形参,方法内变量,代码块变量。
4、变量作用域:
是指变量的作用范围,只有在这个范围内,程序代码才能访问它。当一个变量被定义时,它的作用域就已经确定了:
作用域指花括号开始到结束。
5、变量使用规则:
1)变量必须先声明,并且初始化后才能使用;
2)声明变量必须有数据类型
3)同一作用域内变量不能重复定义
三、表达式(expression)
是由数字、运算符、数字分组符号(括号)、变量等以求得结果的有意义排列的组合。用运算符号连接的变量/常量可称为表达式。如:(x + y) * z + 100
表达式中操作数进行运算得到的最终结果就是表达式的结果。表达式的运算顺序(大多和数学一样,根据运算符操作优先级进行):
四、Java 数据类型总得来说,Java 数据类型分成两种:
1)基本数据类型,又称为原生数据类型;
2)引用数据类型,又称为对象数据类型;
1、8大基本数据类型:
1)数值类型:
(1)整数:
byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节
short:短整型,在内存中占16位,即2个字节
int:整型,用于存储整数,在内在中占32位,即4个字节
long:长整型,在内存中占64位,即8个字节
byte,short,int,long 类型仅仅是容量大小不一样而已,Java语言的整数常量默认是 int类型,若表示 long类型时,在其后跟上 L 或 l即可。
(2)小数:
float:浮点型,在内存中占32位,即4个字节
double:双精度浮点型,用于存储带有小数点的数字,在内存中占64位,即8个字节
小数可以使用小数点或者科学计数法表示,小数的常量默认是 double类型,若表示 float类型,在其后跟上 F 或 f即可。
注意:float 和 double类型 都不能精确的表示小数,在开发中表示精确的小数时使用 BigDecimal ,比如金钱。
2)字符类型:表示16位无符号整数或者 Unicode字符
char:字符型,用于存储单个字符,占16位,即2个字节
3)布尔类型
boolean:布尔类型,用于判断真或假(仅有两个值,即true、false),默认值false
2、3大引用数据类型:类/接口/数组
除了8种基本数据类型,其他所有类型都是引用数据类型(类、接口、数组)。引用数据类型默认初始值都是null。
3、8大基本数据类型转换
在8大基本数据类型中,boolean 类型不属于数值类型,即不参与转换.
1)自动类型转换,也称为“隐式类型转换:
当把小数据范围类型的数值或变量赋给另一个大数据范围类型变量,系统可以完成自动类型转型。这好比把装一斤水容器里的水倒进可以装两斤水的容器里一样。
2)强制类型转换,也称为“显示类型转换":
当把大范围类型的数值或变量赋给另一个小范围类型变量时,此时系统不能自动完成转换,需要加上强制转换符,但这样的操作可能造成数据精度的降低或溢出,所以使用时要格外注意。
当要表示的数据超出数据类型的临界范围时,称为溢出。溢出情况发生时程序并没有做数据范围检查处理,此时会出现数据紊乱情况。
4、表达式类型的自动提升
当一个算术表达式中包含多个基本数据类型(boolean除外)的值时,整个算术表达式的数据类型将在数据运算时出现类型自动提升,其规则是:
1)所有的byte、short和char类型将被自动提升到 int类型;
2)整个表达式的最终结果类型被提升到表达式中类型最高的类型;
五、Java 运算符
1、算术运算符
用来处理四则运算的符号:
加号:在操作数值、字符、字符串时其结果是不同的,当两个字符相加得到的是ASCII码表值,当两个字符串相加时表示将两个字符串连接在一起,从而组成新的字符串。
除号:整数在使用除号操作时,得到的结果仍为整数(小数部分忽略),当整数除以0的时候,会引发算术异常。
取模(%):模数的符号忽略不计,结果的正负取决于被模数。例如:int res = -5 % 4; // res=-1
正无穷大(Infinity):当一个正浮点类型数除以0时,或者正整数除以0.0时;
负无穷大(-Infinity):当一个负浮点类型数除以0时,或者负整数除以0.0时;
NaN(Not a Number):当0.0除以0.0时;
注意:无穷大和NaN都属于double浮点类型,但是所有正无穷大都是相等的,所有负无穷大也是相等的,NaN永远不相等,也不等于自己.
自增和自减
自增: ++, 递增操作符,使变量值增加1,有前置和后置之分, 只能操作变量。
自减: -- ,递减操作符,使变量值减去1,有前置和后置之分, 只能操作变量。
自增和自减具体操作是一样的,仅仅是一个是加1,一个是减1而已。如果仅仅执行简单的递增操作(只写result++或++result),那么选用任意一个都可以。
自增和自减唯一的区别是:
前置(++result): 放在操作数前面,则先自加或自减,自身再参与运算;
后置(result++): 放在操作数后面,则先参与运算,自身再自加或自减。
int result = 1;
result = result++;
System.out.println("result=" + result); //1
int result2 = 1;
result2 = ++result2;
System.out.println("result2=" + result2); //2
2、赋值运算符
赋值运算符是指为变量或常量指定数值的符号。如可以使用 “=” 将右边的表达式结果赋给左边的操作数。
3、比较运算符
用于判断两个数据的大小,比较的结果是一个布尔值( true 或 false )。
其操作格式为:boolean result = 表达式A 比较运算符 表达式B;
注意:
1) > 、 < 、 >= 、
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?