JAVA基础语法
1.类名与文件名一致
一个java文件中可以定义多个类,但是只能存在一个类被public关键字修饰,被public修饰的类要与当前文件名保持一致
每个单词首字母大写
java以类为单位,class文件以类为单位
public class Class001_Class{
//程序入口,逐行执行主方法中的代码
public static void main(String[] args){
System.out.println("hello java");
}
}
2.main方法为一个程序的入口
一个类中可以不定义主方法,但是无法解释执行这个类,因为没有程序的入口
一个类中可以定义多个方法,但是只能存在一个主方法
class Demo{
//主方法
public static void main(String[] args){
System.out.println("Demo java");
}
//普通方法
public static void main1(String[] args){
System.out.println("Demo java");
}
}
注意: 在jdk11中可以通过java命令对一个java类进行一步运行,方便程序猿的使用
3.println与print的区别
println打印输出后换行,print不会换行
public class Class002_println{
//程序入口,逐行执行主方法中的代码
public static void main(String[] args){
//ln 换行 :先输出()中的内容之后换行, 光标从行尾到下一行的行首
System.out.print("hello java");
//print 打印完毕内容之后不换行
System.out.print(123);
}
}
4.注释
//单行注释
/**/多行注释
/** */文档注释
什么是注释:
解释说明的文字
注释的作用:
1.对代码的解释说明
2.便于后期维护
注释分类:
单行注释:
作用域: 从注释开始当前行的范围
位置: 一般定义在代码的行的上面或者行尾
嵌套问题: 只能嵌套单行不能嵌套多行和文档注释
多行注释
作用域: 多行内有效
位置: 类或者方法的上面
嵌套问题: 只能嵌套单行不能嵌套多行和文档注释
文档注释:
作用域: 多行内有效
位置: 类或者方法的上面
嵌套问题: 只能嵌套单行不能嵌套多行和文档注释
多行注释与文档注释之间的去别:
1.在工具中方法上面使用文档注释会自动配置一些参数的提示信息
2.文档注释能够被保留在API文档中
API文档: 对java类等信息提供的详细说明手册
通过javadoc命令对某一个java文件中的内容生成API文档
注意:
一定要养成习惯为代码添加注释
注释的代码不会被编译
5.标识符(变量名)
标识符:java中所有起名字的地方这个名字就是标识符
标识符的命名规则
1.组成: 字母,数字,下划线_,美元符号$任意组合而成,但是数字不能开头 abc123_$, _123abc , abc
2.严格区分大小写 A a
3.关键字与保留字不能作为标识符使用
关键字: 在java语法中有一些单词已经被java占用赋予特殊的作用,这个单词就叫做关键字
保留字: 现在没有被java使用,但是将来有可能会被使用,这种单词就称之为保留字
关键字都小写,并且工具中可以显示变色
标识符的命名规范
1.见名知意
2.驼峰命名原则
包 : (文件夹) 全部小写,层级之间使用.连接 hello.world->hello文件夹里面有一个world文件夹
类名|接口名 : 每个单词首字母大写 HelloWorld
方法|变量名 : 第一个单词全部小写,第二个单词开始每个单词首字母大写 helloWorldHaha
常量名 : 全部大写 ,每个单词之间使用_连接 HELLO_WORLD
6.变量
变量: 存储单个数据
可变的量
在内存中开辟一块空间,用来存储指定类型的数据
变量就是造盒子
盒子就是变量
盒子的名字就是变量名
盒子中存储的数据就是变量值
数据的类型: 根据数据的不同划分了不同的数据类型,不同类型的数据所占用的内存空间也不同
语法:
1. 数据类型 变量名 = 赋值; ->声明一个变量的同时赋值
常见的数据类型: 整数int 小数double 一个字符char->'1' 布尔类型boolean 字符串:String->".."
2. 先声明后赋值
数据类型 变量名 ; --> 声明
变量名 = 赋值; -->赋值
3.同时声明多个变量,同时声明并赋值多个变量
注意: 等号是一个自右向左运算的符号
定义变量关注的点:
1.数据
2.数据的类型: 根据数据确定
3.变量的名 : 标识符的命名规则与规范
变量关注的点:
1.变量的数据类型
2.变量名字 ->标识符
3.变量值
4.作用域 : 能够使用的范围->{}
从变量的声明开始,到离它最近的,包裹它的}
结束
变量的分类:
1.局部变量 :
在方法中或者{}语句块中定义的变量叫做局部变量
特点: 使用之前必须先声明并且已经赋值才能使用
2.成员变量|实例变量
定义在类中方法外的变量就叫做成员变量
特点: 成员变量之声明不赋值存在默认值
整数:0 小数:0.0 字符:' '空格字符 布尔:false 字符串:null
7.变量的分类
7.1 四类八种:
描述 | 类型 | 范围 | 内存字节 |
---|---|---|---|
整型 | byte | -128~127 | 1 |
short | ± 3万 | 2 | |
int | ± 21亿 | 4 | |
long | ± 2^63 | 8 | |
浮点型 | float | 精确到6-7位 | 4 |
double | 精确到16-17位 | 8 | |
字符型 | char | 'a’为字符型,不同于字符串"a" | 2 |
布尔 | boolean | true,false | 1/8 |
计算机基本存储单位: 字节
1byte = 8bit(比特位)
一个整形的字面值默认类型为int,浮点型默认为double
整形
如果整数的常量赋值为比int更小的类型,只要在他的范围之内就能成功赋值,如:short a = 100;
表示一个long类型的数据需要在数据后加上L或l,推荐大L,小l易于数字1混淆,如:long lo = 2200000000L;
浮点型
如果想要为float类型赋值,想要表示一个float类型一个小数,在数据的后面添加一个f或F,如:float f = 2.345f;
浮点类型运算可能不精确(存储浮点类型数据的标准:二进制浮点型运算标准)
字符型
表示一个字符的两种表现形式:
使用一对''
中包裹一个字符的形式
可以通过0~65535之间的整数表示一个字符 -->Unicode->参考:ASCII码表
注意: ''中有且仅有一个字符,必须有一个任意字符
字符型在参与运算时候,先默认转为十进制的整数再运算
7.2 引用数据类型
类 Class,接口 Interface,数组 Array