目录
单行注释//
多行注释1./**/
2./** 可以使用javadoc工具生成文档 */
一个java源文件中可以有多个class定义,但是public class 只能有一个,而且public class的类名必须和文件名一致,一个java文件中,有几个class定义,编译之后就会生出几个class文件
java中严格区分大小写
标点符号使用英文的
命名规则:只能是大小写字母,数组,下划线,美元符号,数字不能开头
不能单独使用关键字和保留字
关键字:java中已经被使用的单词,public class void static.......
保留字:Java中还没有使用的关键字,但是可能后续新版本中会使用到 goto
数据类型
概述
规定了数据类型和空间的大小
分类
基本数据类型:
数值型:
整型:
byte 字节 -128~127
short 短整型 16bit
int 整型 32bit
long 长整型 64bit
浮点型:
float:单浮点 32bit
double 双浮点 64bit
字符型:char 字符 16bit
布尔型:Boolean 布尔 4bit
引用数据类型:类 数组 接口
整型
默认为int
long类型的值需要在尾部加L/l,推荐使用大写
浮点型
float的值后面加F/f,不区分大小写
默认是double
强制转换为float
float f=(float)2.3;
字符型
用英文单引号''表示,单引号中只能有1个字符,空格也是一个字符
2个字节,16位,范围0~65535
short也是16位,因为short有负数,所以范围-32768~32767
字符和整型之间有对照表,ASCII码 'a'97 'A'65 '0'48
转义符:\
char支持unicode编码。默认值:\u0000
布尔型
只有true和false
占用一字节 8位。
false:全为0
true:0000 0001
默认为false
类型转换
从低精度到高精度是自动转换,高到低是强制转换
byte->short(char)->int->long->float->double
强制转换可能造成数据出错,因为高精度的类型范围大
多种数据类型混合运算,结果的类型是参与的最大的类型
byte,short,char,int,任意一种或者多种进行运算,结果都是int
变量
常量
常量在生命周期内值不可以改变
生命周期就是程序从开始执行到执行结束
字面量/直接量:没有明确表示空间存储,不能重复使用
字面量:
System.out.println(10)
System.out.println(10)
System.out.println(10)
System.out.println(10)
常量的值不能更改
final int a=5;
变量
变量:在运行过程中可以更改的数据
全局:在类之外创建,所有类都可以直接访问,不需要二次引用
二次引用:不需要用.进行操作
Java 中不允许在类之外创建变量,但是可以将一个类的变量设置为public static 修饰,那么其他类也是可以访问到该变量的,不过需要使用类名.变量名 进行引用
所以java中没有全局变量和函数,所以Java中引入了包,引用一个变量的时候必学使用包名和类名
变量声明
数据类型 变量名=值;
作用域:一个大括号就是一个作用域,变量的使用范围不会超过向上碰到的第一个包括它的大括号,但是可以向下穿透
变量分类
局部变量:方法内部的变量,只能在方法中使用,直接写变量名就可以
在方法中,直接写变量名即可 并且局部变量不赋值不能使用 没有默认值
int b=5;
System.out.println(b);
静态变量:类体中使用static修饰的变量,是静态变量,类相关
类名,静态变量名调用 当前类中调用当前类的静态变量,类名可以省略,有默认值
public class Day_02_Var_02 {
static int b = 2;
public static void main(String[] args){
System.out.println(Day_02_Var_02.b);
System.out.println(b);
}
}
成员变量:类体中 没有使用static修饰的变量就是成员变量, 对象相关
对象 成员变量名 有默认值
局部变量可以和静态/成员变量同名,局部变量优先级高
默认值 整型:0,浮点型:0.0 布尔型:false 字符型:\u0000
同时创建多个变量并赋值
int i1=5,i2=5,i3=6;
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
只有i6有值
int i4,i5,i6=2;
System.out.println(i6);