Java基础语法

注释

  • 基本编程习惯。

  • 写给人看,不会被执行。

IDEA颜色设置

路径:file-settings-Color Scheme-java-Comments(即注释)

Block comment:多行注释

Line comment:单行注释

JavaDoc:文档注释

如图

单行注释

//+内容

可以注释一行内容

如图

多行注释

/ * +内容+ * /

可以注释一段内容

如图

文档注释

/** +内容+ */

/**
*
*/

具有一定功能,可以加参数,配合JavaDoc使用。

如图

标识符

定义:

用来表示类名,变量名,方法名,类型名,数组名,文件名的有效字符序列

注意:

  • 所有的标识符都应该以字母(A-Z或者a-z)、美元符($)、或者下划线(_)开始
  • 首字符之后可以是字母(A-z或者a-z),美元符($)、下划线0或数字的任何字符组合
  • 不能使用关腱字作为变量名或方法名
  • 标识符是大小写敏感的
  • 合法标识符举例:age.$salary、__1_value
  • 非法标识符举例:123ab、-salary、#abc
  • 可以使用中文或拼音命名但不建议

关键字

定义:

先定义的,有特别意义的标识符

如图

数据类型

原因:java是强类型语言

强类型(定义)语言:要求变量使用严格规定,所有变量都必须先定义才能使用。

两大类型:

基本类型,引用类型

如图

基本数据类型

如图

计算机数据存储单位

  • 位(bit):最小单位
  • 字节(byte):基本单位,常用B表示

​ 1字节=8位

即1B(byte)=8b(bit )

  • 1024B=1KB
  • 1024KB=1M
  • 1024M=1G

数据类型扩展

整数扩展

进制

转换成十进制代码:

二进制:0b

八进制:0

十六进制:0x

如图

浮点数扩展

大概是由于转换成二进制时的误差原因,浮点数无法精确运算比较。

如图

字符扩展

  • 所有字符本质是数字
  • \u表示转译

如图

  • 转义字符

\开头,不同于字符原有的意义

如图

布尔型扩展

  • if默认是true

如图

类型转换

包括强制类型转换和自动类型转换

高低级别如图

强制转换:

高——低
(类型)+变量名

自动转换:

低——高

如图

注意:

1.不能对布尔值进行转换

2.不能把对象类型转换为不相干的类型

3.在把高容量转换到低容量的时候,强制转换

4·转换的时候可能存在内存溢出,或者精度问题

变量、常量

变量

  • java是一种强类型语言,每个变量都必须声明其类型
  • java变量是程序中最基本的存储单元,包括变量名变量类型作用域

定义

type varName  [ =value  ] [ {,varName[=value]}];
//数据类型+变量名=值;可以使用逗号隔开来声明多个同类型变量,但不建议。

注意:

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

分为类变量(静态变量 )、实例变量(两者属于成员变量)、局部变量

public class Variable{
static int allClicks=0; //类变量
String str="hello world";//实例变量

public void method(){ 
    int i=0; //局部变量
  }
}

成员变量

  • 在方法体之外,类体声明的变量,叫做成员变量

  • 作用范围是整个类

类变量

  • 用static声明,必须在方法之外

  • 从属于类,与类同步产生消失

  • 默认值和实例变量相似

实例变量

  • 从属于对象;如果不自行初始化,即为这个类型的默认值
  • 数值型变量的默认值是0;布尔型变量的默认值是false;除了基本类型其余都是null

局部变量

  • 类的方法中的变量

  • 没有默认值,必须经过初始化才可以使用

如图

常量

  • 常量(Constant):初始化(initialize)后不能改变
  • 一般用大写字符
  • 关键字:final
final+常量名=值

如图

命名规范

所有变量、方法、类名原则:见名知意

驼峰原则:除了第一个单词的首字母小写,后面的单词首字母大写

类成员变量:首字母小写和驼峰原则: monthSalary

局部变量:首字母小写和驼峰原则

常量:大母和下划线: MAX_VALUE

类名:首字母大写和驼峰原则: Man, GoodMan

方法名:首字母小写和驼峰原则: run(), runRun()

运算符

算术运算符:

+,-, *, /:加减乘除

如图

运算中数据类型

整数运算:只要没有long类型参与,即为int类型

如图

确认方式




++, --(自增,自减)

一元运算符

  • ++自增:操作数的值增加1

  • (++a,--a):先自增或者自减,再赋值

  • --自减:操作数的值减少1

    • (a++,a--):先赋值,再自增或者自减

如图

%(取余,模运算)

更多运算:

使用工具类(如Math类)实现

如幂运算如图

关系运算符:

>
<
>=
<=
==(等于用两个等号)
!= (不等于)
instanceof

逻辑运算符:

&&
    //短路与
||
    //短路或
!
    //逻辑非

具体如图

德·摩根定律

!(A&&B)与!A||!B等价
!(A||B)与!A&&!B等价

原因:!(非)的优先级高

如图

短路逻辑运算符(条件操作)

&&
    //短路与
||
    //短路或

短路运算

  • c 的值仍为 5,因此第二个判断没有执行,即先判断 c<4 为 false, d 的结果必为false

  • 运算符的第一个表达式为false,则第二个表达式就不会执行

如图

非短路运算符(逻辑操作)

&
    //逻辑与
|
    //逻辑或
!
    //逻辑非
非短路运算
  • c 的值为 6,因此第二个判断被执行,即无论第一个表达式无论能否确认,第二个表达式都会执行

如图

区别

  • 条件操作只能操作布尔值

    逻辑符操作不仅能够操作布尔值,而且还可以操作数值型

  • 条件操作会产生短路

    逻辑操作不会产生短路

  • 短路运算能够采用最优化的计算方式从而提高效率

位运算符:

位逻辑运算符

对应二进制

&
    //与
    //同时为 1,结果才为 1,否则为 0
|
    //或
    //只要有一个为 1,那么结果就为 1
    // 都为 0,结果才为 0
^
    //异或
    //相同(同时为 0 或同时为 1)时,结果为 0
    //不相同,结果则为 1
~
    //非(一元运算符)
    // 将1 改为 0,0 改为 1

具体如图

位移运算符

>>
    //左移位运算符

二进制形式的数字向左移动对应的位数

>>
    //右移位运算符

二进制形式的数字向右移动对应的位数

规律

**M<<n=M*2的n次幂 **

M>>n=M/2的n次幂

如图

复合位赋值运算符

&=
    //与赋值
|=
    //或赋值
^=
    //异或赋值
-=
    //取反赋值
<<=
    //左移赋值
>>=
    //右移赋值

赋值运算符:

简单赋值运算符:

=

扩展赋值运算符:

+=
    //加后赋值
-=
    //减后赋值
*=
    //乘后赋值
/=
    //除后赋值
%=
    //取模后赋值

如图

复合位赋值运算符

同上

条件运算符:

三元运算符

?:
x?y:z
//如果x==true,则结果为y,否则结果为z

如图

优先级

优先级记忆方法:单目乘除为关系,逻辑三目后赋值

如图

字符串连接符

+
    //连接不同的字符串
  • 连接字符串和数值时,数值自动转换成字符串型
  • 圆括号的优先级最高,可以实现先计算再转换成字符串型

如图

包机制

  • 为了更好地组织类,运用包机制,用于区分类名的命名空间
  • 包的本质就是文件夹
  • 一般利用公司域名倒置作为包名
    • 假如凯申物流有限公司的域名为www.Kai-shekwl.com 那么对应包名为com.Kai-shekwl.www
  • 尽量不要让包名重复

语法格式

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

使用“import”语句在Java程序中明确导入包

import package1[.package2...].(classname|*);
import package1[.package2...].*//导入该包下所有类

JavaDoc

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

  • 参数信息

    • @author作者名
    • @version版本号
    • @since指明需要最早使用的jdk版本
    • @param参数名
    • @return返回值情况
    • @throws异常抛出情况
  • 加在类上的是类的注释,加在方法上的是方法的注释

如图

生成JavaDoc文档

效果如图

打开index.html文件

运用命令提示符(cmd)

javadoc +参数+java文件
如javadoc -encoding UTF-8 -charset UTF-8 Doc.java

运用IDEA

  • 工具栏 tool选择Generate JavaDoc
  • output directory:生成文档的位置
  • Locale语言类型:zh-CN (即中文)
  • Other command line arguments:JavaDoc的参数:如下
-encoding UTF-8 -charset UTF-8
//或者
-encoding UTF-8 -charset UTF-8 -windowtitle "你的文档在浏览器窗口标题栏显示的内容" -link http://docs.Oracle.com/javase/7/docs/api

如图

最后:
笔记中大多数内容源于狂神的免费课程https://space.bilibili.com/95256449
,也有不少语言图片来源网络,在此表达由衷感谢。

posted @ 2021-02-12 20:10  HugoZ  阅读(81)  评论(0)    收藏  举报