N1 Java的基本语法
作者:迷恋
一、注释
平时我们编写代码,在代码量少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了。
注释并不会被执行,是我们写代码的人看的
书写注释是一个非常好的习惯
平时写代码一定要注意规范
Java中的注释有三种:
1.单行注释
2.多行注释
3.文档注释
1、单行注释
单行注释的语法:
// + 要注释的的语句
实例:
public class HelloWorld{
public static void main(String[] args){
//单行注释
//输出一个hello,world!
system.out.println("hello,world!");
}
}
2、多行注释
多行注释的语法:
/*
要注释的语句1
要注释的语句2
....
*/
实例:
public class HelloWorld{
public static void main(String[] args){
/*
多行注释
输出一个hello,world!
*/
system.out.println("hello,world!");
}
}
3、文档注释
文档注释语法:
/**
*语句1
*语句2
*语句3
*/
实例:
/**
@Description hello,world
@Author 迷恋
*/
public class HelloWorld{
public static void main(String[] args){
system.out.println("hello,world!");
}
}
二、关键字与标识符
1、关键字
Java关键字是对Java编译器有特殊含义的字符串,是编译器和程序员的一个约定,程序员利用关键字来告诉编译器其声明的变量类型、类、方法特性等信息。
关键字含义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算术规范super表明当前对象的父类型的引用或者父类型的构造方法switch分支语句结构的引导词synchronized表明一段代码需要同步执行this指向当前实例对象的引用throw抛出一个异常throws声明在当前定义的成员方法中所有需要抛出的异常transient声明不用序列化的成员域try尝试一个可能抛出异常的程序块void声明当前成员方法没有返回值volatile表明两个或者多个变量必须同步地发生变化while用在循环结构中
2、标识符
Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
1、所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始。2、首字母之后可以是字母(A-Z或者a-z),美元符($)、或者下划线(_)或者数字的任何字符组合。
3、不能使用关键字作为变量名或者方法名。
4、标识符是大小写敏感的。
5、可以使用中文命名,但是不建议使用
三、数据类型
Java的数据类型分为两大类
1、基本类型(primitive type)
2、引用类型(reference type)
1、数据类型
数据类型
基本数据类型
引用数据类型
数值类型
boolean类型
整数类型
byte:占用一个字节
short:占用两个字节
int:占用四个字节
long:占用8个字节
浮点类型
float:占用四个字节
double:占用8个字节
字符类型
char:占用两个字节
true:占用一位
false:占用一位
类
数组
接口
四、类型转换
由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
运算中,不同类型的数据先转换为同一类型,然后进行运算。类型转换分为:
1、强制类型转换
高->低(高容量转换到低容量)
2、自动类型转换
低->高(低容量转换到高容量)低 ------------>--------------->------------>------------->---- 高
byte,short,char—>int,long,—>float,—>double
注意点:
1、不能对布尔值进行转换。
2、不能把对象类型转换成为不相干的类型。
3、把高容量转换为低容量的类型时,强制转换,反之,自动转换。
4、转换的时候可能会存在内存溢出,或者精度问题。
1、强制类型转换
转换语法:
(类型) + 变量名
实例:
public class text{
public static void main(String[] args){
int i = 120;
byte j = (byte)i;
System.out.println(j);
}
}
五、变量与常量
1、变量的定义
变量是什么?就是可以变化的量!
Java是一种强类型语言,每一个变量都必须声明其类型。
Java变量是程序中最基本的储存单元,其要素包括变量名,变量类型和作用域。
注意事项:
每个变量都有类型,类型可以是基本类型,也可以是引用类型。
变量名必须是合法的标识符。
变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
2、变量作用域
1、类变量
2、实例变量
3、局部变量public class text{ static int i = 0; //类变量 String str = "hello world!"; //实例变量 public void method(){ int i = 0; //局部变量 } }
3、变量的命名规范
1、所有变量、方法、类名:见名知意。
2、类成员变量:首字母小写和驼峰原则:monthSalary。
3、局部变量:首字母小写和驼峰原则。
4、常量:大写字母和下划线:MAX_VALUE
5、类名:首字母大写和驼峰原则。Man,GoodMan
6、方法名:首字母小写和驼峰原则。run(),runRun()
4、常量
常量:初始化之后不能再改变其值!不会变动的值。
所谓常量可以理解成一种特殊得到变量,它的值被设定后,在程序运行的过程中不允许被改变。final 常量名 = 值; final double PI =3.14;
常量名一般使用大写字符。
六、运算符
算术运算符:+,-,,/,%,++,- -;
赋值运算符:=;
关系运算符:>,<,>=,<=,==,!=;
逻辑运算符:&&,||,!;
位运算符:&,|,^,~,>>,<<,>>>;
条件运算符:?:;
扩展赋值运算符:+=,-=,=,/=;位运算
A = 0011 1100 B = 0000 1101 A & B = 0000 1100 //按位对比,都为1为1,否则为0 A | B = 0011 1101 //按位对比,有1为1,都为0才为0 A ^ B = 0011 0001 //按位对比,相同为0,不相同为1 ~ B = 1111 0010 //按位取反效率极高! 0000 0001 1 0000 0010 2 0000 0100 4 0000 1000 6 0001 0000 8 << *2 >> /2 2<<3 = 2*2*2*2; 2>>1 = 2/2
七、包机制
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间
包语句的语法格式为://此语句必须写在第一句 package pkg1[. pkg2[.pkg3...]]
一般利用公司域名倒置作为包名;
为了能够使用一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句可玩成此功能。import package1[.package2...].(classname|*);
八、JavaDoc生成文档
JavaDoc命令是用来生成自己的API文档的
参数信息
@author 作者名
@Version 版本号
@since 指明需要最早使用的jdk版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况