java小程序详解
public<公共的> class<类> name<类名><首字母大写>{<类体的开始><一对{}就要缩进(Tab)>
public<公共的> static<静态的> void<没有返回值的> main<主方法><程序的入口>(String[] args<参数列表>){<方法体的开始>
System<系统>.out<输出>.println<打印>("Hello");<""里原封不动的输出>
}<方法体的结束>
}类体的结束
类(Class)
一个文件中可以有多个类,但只能有一个类被public修饰,并且这个类名要与文件名一致
方法(Method)
一个类中可以存在多个方法,但是只能有一个主方法,主方法是程序的入口,逐行执行主方法中的代码
一个类中可以没有主方法,但是如果解释执行一个类,没有主方法会报错
注释(Comment)
什么是注释?
解释说明文字
为什么使用注释?
对程序的说明
便于后期维护
单行注释
作用域:只在当前行有效
嵌套:可以嵌套单行注释,不可以嵌套多行注释和文档注释
颜色:绿色
位置:行的上面或者行的末尾
多行注释
作用域:多行有效
嵌套:可以嵌套单行注释,不可以嵌套多行注释和文档注释
颜色:绿色
位置:类的上面或方法的上面
文档注释
作用域:多行有效
嵌套:可以嵌套单行注释,不可以嵌套多行注释和文档注释
颜色:墨蓝色
位置:类的上面或方法的上面
可以出现在类的API文档中,生成某个类的api文档,javadoc
注释的内容不会被编译(可以通过反编译工具验证)
标识符(Identifier)
在java中一切起名字的地方的名字就是标识符
命名规则
标识符只能数字,字母,下划线_,美元符号$任意组合而成,但是数字不能开头
标识符严格区分大小写
关键字不能作为标识符使用
命名规范
见名知意
驼峰命名原则
包: 全部小写
单级包: shangxuetang
多级包: shang.xue.tang
类|接口
每个单词的首字母大写 ShangXueTang
方法|变量
第一个单词全部小写,第二个单词开始,每个单词首字母大写 shangXueTang
常量
全部大写 每个单词之间使用_进行分割 SHANG_XUE_TANG
关键字
在java中,有一些词有自己的用法或者用途,这些词就是关键字
所有的关键字都是小写,颜色存在不同显示
保留字
在java中,有一些词将来有可能有自己的用法或者用途,这些词就是保留字
goto
const
常量(Constant)
在程序执行过程中,其值不会发生改变的量
分类
字面值常量
整数常量: 123 -123
小数常量: 1.2 -1.2
字符串常量: "abc"
字符常量: 'a'
布尔常量: true,false
空常量: null
自定义常量
final修饰的变量为常量
知识扩展
(println)ln是光标从这一行的行位换到下一行的行首
变量(Variable)
可变的量
在java程序执行过程中,其值会发生改变的量
在内存中,开辟一块空间,用来存放指定数据类型的数据
语法
声明的同时赋值
数据类型 变量名 = 变量值;
int a=10;
先声明后赋值
数据类型 变量名;
String name;
变量名= 变量值;
name="张三";
一行同时声明多个变量
int x,y,z;
= 是java中唯一一个自右向左运算的符号
z=x=y=10;
变量名字 (遵循标识符的命名规则和规范)
变量的值 (和数据类型一致)
作用域: {}
在其作用域范围内才能使用,变量同一时只能指向一个值
同一作用域中的变量不能同名
分类
局部变量
方法|语句块内定义的变量
使用前必须声明并且已赋值
成员变量|实例变量
类中方法外
如果成员变量只声明未赋值,存在默认值
byte,short,int,long-->0
float,double-->0.0
char-->\u0000
boolean-->false
String-->null
数据类型(DataType)
基本数据类型
byte(字节型)
1个字节 8位
[-128,127]
short(短整型)
2个字节 16位
[-32768,32767]
int(整型)
4个字节 32位
[-2147483648——2147483647]
long(长整型)
8个字节 64位
[-9223372036854775808~9223372036854775807]
float(单精度)
4个字节
精度为6~7位有效数字
double(双精度)
8个字节
double的精度为15~16位
char(字符型)
2个字节
0~65535
boolean(布尔型)
1位
true
false
String(字符串)
整数的字面长量值默认的数据类型是int类型
如果给byte,short赋值,只要在其范围之内的字面常量值都能成功赋值
如果想要给long类型的常量赋值,需要在数据的后面添加一个L/l 推荐使用L
小数默认字面常量值类型为double,如果想要给float赋值,在数据的后面添加一个f/F
小数因为内部存储方式的不同,运算不精确的
如果字符型的数据参与运算,默认转为十进制的数再去运算
引用数据类型
类(class)
接口(interface)
数组[](array)
数据类型转换(DataTypeConvert)
boolean类型不参与类型转换
自动类型提升:隐式类型转换
从小范围类型->大范围的数据类型
byte b1=127;
short s1=b1;
强制类型转换:显示类型转换
从大范围类型->小范围类型,有可能会损失精度
float f1=(float)1.9;
int int1=(int)f1;
小范围数据类型 变量名 = (小范围数据类型)大范围数据类型;
byte by1=(byte)128