Java基础语法
Java基础语法
写代码一定要注意规范
注释
注释不会被运行,书写注释是非常重要的习惯!
- 单行注释 //注释
- 多行注释 /* 注释 */
- 文档注释 /** */ JavaDoc 文档注释可以加参数,可以被识别
标识符、关键字
关键字
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符
标识符注意点
- 所有的标识符都应该是以字母(A-Z,a-z)、美元符($)或者下划线(_)开始
- 首字符后可以是字母、美元符、下划线或数字组成的任何字符数组
- 不能使用关键字作为变量名或方法名
- 标识符是大小写敏感的(特别注意!)
- 可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音
数据类型
- 强类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
-
弱类型语言
-
Java的数据类型分为两大类
-
基本类型
-
整数类型
- byte:占1个字节:-128-127
- short:占2个字节:-32768-32767
- int(最常用):占4个字节:-2147483648-2147183647
- long(要在数字后面加L):占8个字节:-9223372036854775808-9223372036854775807
-
浮点类型
- float(要在数字后面加个F):占4个字节
- double:占8个字节
-
字符类型
//字符
- char:占2个字节
//字符串
- String(String不是关键字,是类)
-
布尔值:是非
- boolean:只占1个位(只有两个值,true与false)
-
-
引用类型
- 类
- 接口
- 数组
类型转换
-
强制类型转换
(类型)变量名由高转向低时
-
自动类型转换
变量名由低到高,可以自动转换
-
不能对布尔值进行转换
-
不能吧对象类型转化为不相干的类型
-
把高容量转化为低容量的时候,强制转换
-
转换的时候可能会存在内存溢出,或者精度问题
-
常见问题
- 操作比较大的数的时候,注意溢出问题
- JDK7新特性,数字之间可以用下划线分割,下划线不会被输出
字节
- 位(bit):是计算机内部数据储存的最小单位,11001100是一个8位二进制数
- 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示
- 1B(byte,字节)=8bit(位)
- 字符:是指计算机中使用的字母、数字、字和符号
- 1bit表示1位
- 1B=8bit表示一个字节
- 1024B=1KB
- 1024KB=1M
- 1024M=1G
-
变量、常量
变量
- 变量:就是可以变化的量
- Java是一种强类型语言,每个变量都必须声明其类型
- Java变量是程序中最基本的的存储单元,其要素包括变量名、变量类型、变量作用域
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
type varName [=value] [{,varName[=value]}];
//数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型的变量,但是不建议这么做
变量作用域
- 类变量:static默认是int
- 实例变量:从属于对象,如果不自行初始化,会输出这个类型的默认值(通常是0或0.0,布尔值默认为false)
- 局部变量
常量
- 初始化后不再改变得值,不会变动的值
- 所谓常量可以理解成一种特殊的变量,他的值被设定后,在程序运行过程中不允许被改变
- 常量名一般使用大写字符
`final 数据类型 常量名 = 常量值;
eg:final double PI = 3.14;
final int A = 10;
static final double PI = 3.14;
final static double PI = 3.14;
变量的命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则eg:monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线eg:MAX_VALUE
- 类名:首字母大写和驼峰原则eg:Man,GoodMan
- 方法名:首字母小写和驼峰原则eg:run(),ranRun()
运算符
- 算数运算符:+,-,*,/,%(求余,模运算),++(自增),--(自减)
- 赋值运算符:=
- 关系运算符:>,<,==,>=,<=,!=(非等),instanceof
- 逻辑运算符:||(或),&&(与),!(非,取反 )
短路运算
- 位运算符:&,|,^,~,>>,<<,>>>
- 条件运算符:?:
三元运算符
- 扩展赋值运算符:+=,-=,*=,/=
注意
包机制
- 包的本质是文件夹
- 为了更好的组织类,Java提供了包机制,用于区别类名的命名空间
- 一般利用公司域名倒置作为包名eg:com.baidu.www
- 为了使用某一个包的成员,我们需要在Java程序中明确的导入该包。使用“import”语句可以完成此功能
import package1[.package2....].(classname|*);
- 包语句的语法格式
package pkg1[.pkg2[.pkg3....]]
JavaDoc
拓展
整数拓展
进制
- 二进制(0b开头)0b10=2
- 十进制
- 八进制(0开头)010=8
- 十六进制(0x开头)0x10=16
浮点数
- float表现的字长是有限的、离散的,存在舍入误差,大约接近但是不等于
- 最好完全避免使用浮点数去比较
- 如果一定要使用浮点数进行计算,使用BigDecimal 数学工具类,银行业务也用这个类
强制转换
- 所有字符的本质还是数字
- 字符由编码 Unicode表 对照转化而来
转义字符
常见转义字符
布尔值
boolean flag = ture
if(flag==ture){}//新手
if(flag){}//老手,缩写
//两个if表示相同都是当flag为真时执行
//Less is More
代码要精简易读
恶趣味
搜索:有趣的代码注释
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)