java的基础语法学习

java的基础语法学习

​ 每个语言都有语法,英语汉语是如此的,计算机语言也不例外。

​ java的基础语法是编写程序的地基,只有地基稳固,高楼大厦才能拔地而起。

注释

​ 在项目结构变得越来越复杂时,我们需要用到注释,以增加代码的可读性和可理解性。写注释可以方便别人或者以后的自己重新理解思路。不写注释的代码写完后只有你与天看得懂,过个十来半个月可能就只有天能看懂了。

  • 注释并不会被执行,是作者写给人看的。
  • 书写注释是一个非常好的习惯。
  • 平时写代码一定要注意规范,好习惯从平时养成。

java的注释种类有三种:

  1. 单行注释:只能注释一行文字。

    //这是一行注释
    
  2. 多行注释:可以注释多行文字。

    /*
    这是
    很多行
    注释
    */
    
  3. 文档注释:多行注释,可以注释API参数。

    /**
     * @author Mr.Q
     *我平生最讨厌两种人
     *写代码不写注释的人
     *让我代码写注释的人
     */
    

标识符和关键字

  • java所有的组成部分都需要名字。类名,变量名和方法名都被称之为标识符。

标识符注意点:

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($),或者下划线(_)开始。

  • 首字符之后都应该以字母(A-Z或者a-z),美元符($),下划线(_)或数字的任何字符组合。

  • 不能使用关键词作为变量名和方法名。

  • 标识符是大小写敏感的。

  • 可以使用中文命名,但不建议使用。也不建议用拼音,很low。

数据类型

java属于强类型语言,每个变量必须先声明其类型。

  • 强类型语言:要求变量使用要严格符合规定,所有变量都要先定义后使用。
  • 弱类型语言:反之。

java的数据类型分为两大类:

  • 基本类型(primitive type)

  • 引用类型(reference type)

//整数扩展:二进制用0b开头;八进制用0开头;十进制直接写;十六进制用0x开头;
int i0 = 10;	//十进制
int i1 = 010;	//八进制
int i2 = 0b10;	//二进制
int i3 = 0x10;	//十六进制

//浮点数扩展:浮点型能表现的字长是有限的,而小数很多是离散的,所以转换成浮点型都有一定的舍入误差,结果都是接近但不等于。
//最好完全避免使用浮点数进行比较。若必须用小数则引用BigDecimal(数学工具类)进行比较。
float a = 0.1f;		//0.1
double b = 1.0/10;	//0.1
System.out.println(f==d);	//false
float a1 = 123123123123123f;//数据长度越界
float a2 = a1 + 1;
System.out.println(a1==a2);	//true

//字符拓展:所有的字符本质都还是数字。
//编码 Unicode 2字节 0-65535
char c1 = 'a';
char c2 = '啊';
char c3 = '\u0061';	//转意为Unicode编码格式
System.out.println(c1);		
System.out.println((int)c1);//强制类型转换
System.out.println(c2);		
System.out.println((int)c2);//强制类型转换
System.out.println(c3);		//输出a

转义字符:

转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) ,将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下页开头 012
\n 换行(LF) ,将当前位置移到下一行开头 010
\r 回车(CR) ,将当前位置移到本行开头 013
\t 水平制表(HT) (跳到下一个TAB位置) 009
\v 垂直制表(VT) 011
\ 代表一个反斜线字符''' 092
' 代表一个单引号(撇号)字符 039
" 代表一个双引号字符 034
? 代表一个问号 063
\0 空字符(NUL) 000
\ddd 1到3位八进制数所代表的任意字符 三位八进制
\xhh 十六进制所代表的任意字符 十六进制

注意:

1. 区分,斜杠:"/" 与 反斜杠:"" ,此处不可互换

2. \xhh 十六进制转义不限制字符个数 '\x000000000000F' == '\xF' [3]

类型转换

由于java是强类型语言,所以要进行一些运算的时候,需要用到类型转换。

类型转换的方法:

  • 自动类型转换:运算中,不同类型数据会由低到高先转化为相同类型数据然后计算。

  • 强制类型转换:(类型)变量名,进行强制类型转换,可实现由高到低的类型转换,但会有内存溢出的风险。

注:

  1. 不能对布尔进行类型转换。
  2. 不能把对象的类型转换为不相干的类型。
  3. 把高容量转化为低容量的时候使用强制转换,可能会发生内存溢出或者精度问题
  4. JDK7版本新特性,数字之间可以使用下划线分割。

变量

变量是可以变化的量。

java是一种强类型语言,每个变量都必须声明其类型。

java变量是程序中最基本的储存但愿,其要素包括变量名,变量类型和作用域。

注:

  1. 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
  2. 变量名必须是合法的标识符。
  3. 变量声明是一条完整的语句,必须以分号结束。

变量的作用域:

  • 局部变量:在方法中使用,方法开始时需对变量进行定义和初始化值。作用范围为定义此变量的方法中。
  • 实例变量:定义在类中方法外,从属于对象,使用前必须先初始化类,再引用其实例变量。如果不自行初始化值,会赋值为类型的默认值。布尔值默认为false,除了基本类型其余的默认值都是null。
  • 类变量:定义在类中方法外,定义时在前面加入static关键字。

变量的命名规范:

  1. 所有变量、方法、类名:见名知意
  2. 类成员变量:首字母小写和驼峰原则,除了第一个单词小写,后面的单词首字母大写。例如:monthSalary。
  3. 局部变量:首字母小写和驼峰原则。
  4. 常量:大写字母和下划线。例如:MAX_VALUE。
  5. 类名:首字母大写和驼峰原则。
  6. 方法名:首字母小写和驼峰原则。

常量

常量是初始化之后就不能再改变的值,不会变动的值。

所谓常量可以理解为一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。

final double PI = 3.1415926535;		//使用final来设定常量。

基本运算符

java语言支持的运算符:

  • 算数运算符:+,-,*,/,%,++,--
  • 赋值运算符:=
  • 关系运算符:>,<,>=,<=,==,!=,instanceof
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~,>>,<<,>>>
  • 条件运算符: ?:
  • t扩展赋值运算符:+=,-=,*=,/=

运算优先级

优先级 运算符 结合性
1 ()、[]、{} 从左向右
2 !、+、-、~、++、-- 从右向左
3 *、/、% 从左向右
4 +、- 从左向右
5 <<、>>、>>> 从左向右
6 <、<=、>、>=、instanceof 从左向右
7 ==、!= 从左向右
8 & 从左向右
9 ^ 从左向右
10 | 从左向右
11 && 从左向右
12 || 从左向右
13 ?: 从右向左
14 =、+=、-=、*=、/=、&=、|=、^=、~=、<<=、>>=、>>>= 从右向左

包机制

为了更好地组织类,java提供了包机制,用于区别类名的命名空间。

包语句的语法格式为:

package pkg1[.pkg2[.pkg3...]];

一般利用公司域名倒置作为包名

为了能够使用某一个包的成员,我们需要在java程序中明确导入该包。使用"import"语句可完成此功能。

import pkg1[.pkg2[.pkg3...]];

若是包中需导入的类过多,可用,导入包下所有的类。

javaDoc

javadoc命令是用来生成自己的API文档的。

参数信息:

  • @author 作者名
  • @version 版本号
  • @since 指明需要最早使用的jdk版本
  • @param 参数名
  • @return 返回值情况
  • @throws 异常抛出情况

在类上方或者方法上方添加文档注释,可添加上述参数信息。

生成Doc文档:

  • 用cmd生成doc文档

    1. 在java文件目录下唤出cmd命令窗口。
    2. 执行指令:Javadoc 文件名.java
  • 用IDEA生成doc文档

    1. 在工具栏中找到 tool >> Generate JAVADoc…

    2. 在配置窗口中选择整个项目生成或者自定义生成。

自学于java开源教学平台:KuangStudy

posted @ 2021-02-04 22:20  風風不是风  阅读(87)  评论(0)    收藏  举报