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 异常抛出情况