java基本语法
一.注释
-
单行注释://
-
多行注释:/* */
-
文档注释:/** */
注释并不会被执行,养成写注释的习惯!
二.标识符和关键字
标识符
-
类名、变量名以及方法名都被称为标识符
-
首位不能是数字(所有标识符都应该以字母、美元符$,下划线_开始)
-
不能使用关键字作为方法名和变量名
-
标识符区分大小写
-
不建议使用中文或者直接拼音
关键字
-
系统定义好的关键词
三.数据类型
java是强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。
java数据类型分为:基本数据类型和引用数据类型
基本数据类型
-
数值类型
-
整数类型(byte【1】,short【2】,int【4】,long【8】)
-
浮点类型(float【4】,double【8】)
-
字符类型(char【2】)
-
boolean类型:占一位其值只有true和false
-
注意问题
-
long num1=30L;//Long类型要在数字后面加个L
-
float num2=50.1F;//float类型要在数字后面加个f
char name='A';//只能写一个字符
//字符串string不是关键字,是一个类
string name='我喜欢你';
boolean flag=true;
```
•
引用数据类型
-
类
-
接口
-
数组
什么是字节?
1字节(byte)=8位(bit)
位:是计算机内部数据储存的最小单位
字节:是计算机中数据处理的基本单位,习惯上用大写B来表示
数据类型扩展
-
整数扩展
int i=10;
int i2=010;//八进制0
inti3=0x10;//十六进制0x -
浮点数扩展
float f=0.1f; //0.1
double d=1.0/10;//0.1
System.out.println(f==d)//验证f和d是不是恒等,输出false
//虽然都是输出0.1,但是f!==d;
//浮点数是有限的,舍入误差,会有问题
//最好完全避免使用浮点数进行比较!! -
字符扩展
char c1='a';
char c2='中';
//强制转换
System.out.println((int)c1);//输出98
//所有字符本质还是数字 -
转义字符
/*
\t 制表符
\n 换行符
*/-
布尔值扩展
boolean flag=ture;
if(flag==true){}
if(flag){}//这两种都是一个意思,如果是真的
-
数据类型转换
-
运算中,不同类型的数据先转化为同一类型,然后进行运算
byte,short,char->int->long->float->double(由低到高) -
强制类型转换 (类型)变量名由高到低
int i=128;
byte b=(byte)i;//,加括号是强制转换,内存溢出 -
自动转换 由低到高
int i=128;
double b=i;//没问题,直接转换
-
注意点:
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
在把高容量转换到低容量的时候,强制转换
-
转换过程可能存在内存溢出,或者精度损失问题
System.out.println((int)23.7)//输出23,这就是精度损失 -
四.变量
变量
-
每个变量必须声明其类型
-
变量是程序中最基本的存储单位,其要素包括变量名,变量类型和作用域
type varName=
//数据类型 变量名=值;
-
变量名必须是合法的标识符
-
每个变量都有类型,类型可以是基本类型,也可以是引用类型。
作用域
-
类变量:带关键词static的实例变量,从属于类的。
-
实例变量:不带static,在方法外面,类的里面,从属于对象。如果不自行初始化,输出的是这个类型的默认值
默认值:
boolean:默认值是false
一些基本类型:0,0.0
除了基本类型,其余的默认值都是null
-
局部变量:在方法里,必须声明和初始化值,只能在这个方法里起作用;
常量
-
初始化后不能再改变值
-
用final来定义常量
static final double pi=3.14;//修饰符,不存在先后顺序
变量的命名规范
-
所有变量、放法、类名:见名知意
-
变量:首字母小写和驼峰原则(后面单词首字母大写)
-
常量:大写字母和下划线
-
类名:首字母大写和驼峰原则
-
方法名:首字母小写和驼峰原则
五 .运算符
基本运算符
-
算数运算符
-
赋值运算符
-
关系运算符
==,!=-
关系运算符返回结果:true,false
-
-
-
逻辑运算符
&&,||,!
-
位运算符
&,|,^,~,>>,<<,>>>
-
条件运算符
-
扩展赋值运算符
+=,-=,*=,/=
ctrl+d:复制当前行到下一行
自增自减运算符
-
++,——叫做一元运算符
-
区分
int a=3;
int b=a++;
int c=++a;
System.out.println(a);//5
System.out.println(b);//3
System.out.println(c);//5
//a++:先赋值再自加
//++a:先自加再赋值
逻辑运算符和位运算符
-
&&(与),||(或)
int a=5;
boolean d=(c<4)&&(c++<4);
System.out.println(d);//false
System.out.println(a);//5
//短路原则,一假为假,一旦判断前者为假则直接返回假,不会进行后者的运算 -
位运算符
A=0011 1100
B=0000 1101
且A&B=0000 1100
或A|B=0011 1101
异或(相同为0,不同为1)
A^B=0011 0001
取反
~B=1111 0010
//左移<< 右移>>
<<:*2
>>:/2
System.out.println(2<<3)//2*2*2*2=16
三元运算符
-
a+=b;//a=a+b
a-=b;//a=a-b
-
字符串连接符 +
int a=10;int b=20;
System.out.println(" "+a+b);//1020
//空格就是字符串,先出现字符串,则直接拼接后面的
System.out.println(a+b+"");//30
//字符串在后面,则先运算再拼接
-
三元运算符
x?y:z;
//如果x是真的则结果为y,否则结果为z
优先级
-
括号优先,再一元运算
六.包机制
-
包就是一个文件
-
/*
定义包:package pkg1[. pkg2[.pkg3...]]
导入包:import package[.package2...](classname|*);
*/ -
一般利用公司域名倒置作为包名
七. JavaDoc
-
javadoc命令是用来生成自己API文档的
-
参数信息
-
@author
-
@version
-
@since(指明需要最早使用的jdk版本)
-
@param(参数名)
-
@return(返回值情况)
-
@throws(异常抛出情况)
-
-
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现