Java学习笔记1 基础语法
Java 学习笔记 by 小喾苦
视频教程:【狂神说Java】Java零基础学习视频通俗易懂
注释、标识符、关键字
注释
- 平时我们编写代码,在代码量比较少的时候,我们还可以看笺自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了。
- 注释并不会被执行,是给我们写代码的人看的
- 书写注释是一个非常好的习惯
// 单行注释
/*
多行注释
*/
/**
* @author 文档注释
*/
标识符
Java 标识符定义
- 包名、类名、方法名、参数名、变量名等,这些符号被称为标识符。
- 标识符可以由字母、数字、下划线
_
和 美元符号$
组成 - 标识符不能以数字开头,不能是java中的关键字。
- 首字符之后可以是字母(
A-Z
或者a-z
)、下划线_
、美元符号$
或数字的任何字符。 - Java 区分大小写,因此
myvar
和MyVar
是两个不同的标识符。 - 不可以使用关键字和保留字作为标识符,但标识符中能包含关键字和保留字。
- 标识符不能包含空格。
Java 标识符规则
1、包名所有字母必须小写。例如:cn.com.test
2、类名和接口名每个单词的首字母都要大写。例如:ArrayList
3、常量名所有的字母都大写,单词之间用下划线连接。例如:DAY_OF_MONTH
变量名和方法名的第一个单词首字母小写,从第二个单词开始,每个单词首字母大写。例如:lineName
、getLingNumber
4、在程序中,应该尽量使用有意义的英文单词来定义标识符,使得程序便于阅读。例如:使用 userName
表示用户名,password
表示密码。
关键字
Java 语言目前定义了 51 个关键字,这些关键字不能作为变量名、类名和方法名来使用。以下对这些关键字进行了分类。
关键字 | |
---|---|
数据类型 | boolean、int、long、short、byte、float、double、char、class、interface、enum、void |
流程控制 | if、else、do、while、for、switch、case、default、break、continue、return |
异常处理 | try、catch、finally、throw、throws |
修饰符 | public、protected、private、final、void、static、strict、abstract、transient、synchronized、volatile、native |
类与类之间关系 | extends、implements |
建立实例及引用实例 | this、supper、instanceof、new |
导包 | package、impor |
保留字:Java版本尚未使用,但以后版本可能会作为关键字使用。
在命名标记符时要避免使用这些保留字:
goto、const、byValue、cast、future、 generic、 inner、 operator、 outer、 rest、 var
数据类型
Java 的数据类型分为两大类
- 基本类型(primitive type)
- 引用类型(reference type)
基本类型
数值类型
整数类型
整数类型 | 占用空间 | 范围 |
---|---|---|
byte | 1字节 | -128 ~ 127 |
short | 2字节 | -32768 ~ 32767 |
int | 4字节 | -2147483684 ~ 2147483647 |
long | 字节 | -9223372036854775808 ~ 9223372036854775807 |
int num1 = 10; // 最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30L; // Long类型要在数字后面加个L
// 进制
int i10 = 10; // 十进制
int i8 = 010; // 八进制
int i16 = 0x10 // 十六进制
// JDK7 新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
浮点类型
浮点类型 | 占用空间 |
---|---|
float | 4字节 |
double | 8字节 |
float num5 = 50.1F; // fLoat类型要在数字后面加个F
double num6 = 3.14159265358973238462643;
字符
char char1 = '中';
char char2 = '\u0061'; // 'a'
boolean 类型
占1位其值只有 true
和 false
两个
boolean flag = true;
引用类型
- 类
- 接口
- 数组
类型转换
低 -------------------> 高
byte short int long float double
强制类型转换
// 强制转换 (类型)变量名 高->低
int i = 123;
byte b = (byte)i;
自动类型转换
// 自动转换 低->高
int i = 128;
double d = i;
注意:
- 不能对
boolean
进行转换 - 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在内存溢出,或者精度问题
变量、常量
变量
- 变量是什么:就是可以变化的量!
- Java 是一种强类型语言,每个变量都必须声明其类型。
- Java 变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
type varName [=Value] [{,varName[=value]}] ;
注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
变量作用域
- 类变量
static
- 实例变量
- 局部变量
public class Variable { // 类
static int allClicks = 0; // 类变量
String str = "hello"; // 实例变量
public void method(){ // 方法
int i = 0; // 局部变量
}
}
常量
- 常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。
- 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
static final double PI = 3.14;
// final static double PI = 3.14;
修饰符不存在先后顺序
变量命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则
monthSalary
除了第一个单词以外,后面的单词首字母大写lastName
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线
MAX_VALUE
- 类名:首字母大写和驼峰原则
Man
,GoodMan
- 方法名:首字母小写和驼峰原则
run()
,runRun()
运算符
Java语言支持如下运算符:
- 算术运算符
+
,-
,*
,/
,%
,++
,--
- 赋值运算符
=
- 关系运算符
>
,<
,>=
,<=
,==
,!=
,instanceof
- 逻辑运算符
&&
,||
,!
- 位运算符
&
,|
,^
,~
,>>
,<<
,>>>
(了解!!! ) - 条件运算符
? :
x ? y : z
如果x==true,则y,否则z - 扩展赋值运算符
+=
,-=
,*=
,/=
包机制、JavaDoc
包机制
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
包语句的语法格式为:
package pkg1[.pkg2[.pkg3...]]
一般利用公司域名倒置作为包名:com.baidu.www
为了能够使用某一个包的成员,我们需要在 Java 程序中明确导入该包。使用“import
”语句可完成此功能
import pkg1[.pkg2...].(classname|*);
JavaDoc
javadoc 命令是用来生成自己API文档的
参数信息
/**
* @author 作者名
* @version 版本号
* @since 指明需要最早使用的jdk版本
* @param 参数名
* @return 返回值情况
* @throws 异常抛出情况
*/
package Xkk;
/**
* @author xkk
* @version 1.0
* @since 1.8
*/
public class xkk {
String name;
/**
* @param name
* @return
* @throws Exception
*/
public String test(String name) throws Exception{
return name;
}
}
javadoc -encoding UTF-8 -charset UTF-8 xkk.java