初识类和方法
类:一个java文件中可以有多个类,但是只能有一个类被public修饰,文件名需要和被public修饰的类名相同,当java文件中有多个类的时编译后会生成多个以不同类名命名的class文件。java以类为单位,class文件以类为单位。
方法:一个类中可以有多个方法,但是只能定义一个主方法;当类中没有主方法时,这个类可以被编译但是无法解释执行,因为主方法是程序的入口,没有主方法就没办法找到程序的入口。
public class Demo{
public static void main(String[] args){ //主方法main
System.out.println("HelloWorld!");
}
public static void demo(){ //普通方法
}
}
换行和注释
换行:println //打印并换行,当语句全部打印后进行换行。
print //打印到当前行
注释:单行注释://单行注释,只会注释当前行,只能嵌套单行注释,一般定义在行尾或者代码行的上面
多行注释:/*多行注释*/,多行内有效,只能嵌套单行注释,一般定义在类或者方法的上面
文档注释:/**文档注释*/,多行内有效,只能嵌套单行注释,一般定义在类或者方法的上面,但可以被保留在API等帮助文档中,用于详细说明,通过javadoc命令对某一个java文件内容可以生成API文档
/**定义一个Demo类*/
public class Demo{
/*定义一个main方法*/
public static void main(String[] args){
System.out.println("HelloWorld!"); //打印HelloWorld!
}
}
标识符
1.命名规则
组成: 字母,数字,下划线,美元符号$任意组合而成,但是数字不能开头 abc123$ _123abc abc
严格区分大小写 A a
关键字: 在java语法中有一些单词已经被java占用赋予特殊的作用,这个单词就叫做关键字
保留字: 现在没有被java使用,但是将来有可能会被使用,这种单词就称之为保留字 goto const
关键字和保留字都小写,并且工具中可以显示变色
关键字与保留字不能作为标识符使用
2.命名规范
见名知意
包名: 相当于文件夹名,全部小写,多个目录之间使用.连接,例如this.is.pack
类名|接口名: 每个单词的首字母大写,例如ThisIsClass
方法名|变量名: 第一个单词的首字母小写,第二个单词开始首字母大写,例如thisIsMain
常量: 全部字母大写,两个单词之间使用_连接,例如THIS_IS_PI
public class ThisIsClass{
public static void thisIsMain(){
int manAge = 20;
double THIS_IS_PI = 3.14;
}
}
变量
1.什么是变量
顾名思义,变量就是一个可变的量。
变量是在内存中开辟一定的空间,用来存放数据。
变量就是造盒子,盒子就是变量,盒子名就是变量名,盒子中装的东西就是变量值。
变量的数据类型根据数据来决定,不同的数据有着不同的数据类型,不同的数据类型在内存中占用的空间大小也不一样。
变量关注的点:
1.变量的数据类型。
2.变量的名称->标识符
3.变量值
4.作用域:能够使用的范围->{}
从变量的声明开始,到离它最近的且包裹着它的}结束
变量的分类:
1.局部变量:
在某个方法中或者{}语句块中定义的变量叫做局部变量。
特点:使用前必须先声明并且赋值以后才能使用,只在某个方法中或{}语句块中生效。
2.成员变量|实例变量:
定义在类中方法外的变量叫做局部变量。
特点:使用前必须先声明,成员变量只声明不赋值也存在默认值。
默认值:int:0,double:0.0,String:null,char:‘ ’(‘空格字符’),boolean:false
2.数据类型
计算机基本存储单位:字节
1byte=8bit
基本数据类型: 四类八种
整型(字面整型常量类型默认为int)
类型 | 关键字 | 字节数 | 范围 |
---|---|---|---|
字节型 | byte | 8bit | [-128,127] |
短整型 | short | 16bit | [-32768,32767] |
整形 | int | 32bit | 正负21亿 |
长整型 | long | 64bit | 非常大 |
浮点型(字面浮点型常量类型默认为double)
单精度:float,可以精确的表示6~7位浮点数,32bit
双精度:double,可以精确表示16~17位浮点数,64bit
浮点数参与的运算可能会有精度损失
字符型
char 可以通过0~65535之间的整数来表示一个ASCII表中的字符,使用一对’’包裹一个字符的形式表示,’’中有且只能有一个字符,使用时’’中必须存在一个字符。
char可以参与数值运算,运算时会将char转换为int类型进行运算,并且结果为整型。
布尔型
true或false,占用1bit,在逻辑运算时使用
引用数据类型
类 接口 数组[]
语法
1.声明时同时赋值
数据类型 变量名 = 变量值;
2.先声明后赋值
数据类型 变量名;
变量名 = 变量值;
public class Demo{
public static void main(String[] args){
//定义一个int类型的变量并赋值
int i = 0;
System.out.println(i);
//定义一个int类型的变量
int j;
//对变量j进行赋值
j = 20;
//定义一个byte类型的变量并赋值
byte b = 127;
//定义一个short类型的变量并赋值
short s = 32767;
//定义一个long类型的变量并赋值
long l = 32767000000000L; //字面整型常量类型默认为int,在字面整形常量后添加大写或者小写L将字面整形常量转化为long后赋值
//定义一个double类型的变量并赋值
double d = 3.1415926;
//定义一个float类型的变量并赋值
float f = 3.141562f; //字面常量类型默认为int,在字面浮点型常量后添加大写或者小写f将字面整形常量转化为float后赋值
//定义一个char类型的变量并赋值
char c = 'a';
//定义一个String类型的变量并赋值
String string = "HelloWorld!";
//定义一个boolean类型的变量并赋值
boolean flag = true;
i = c + 20;
System.out.println(c);
System.out.println(i);
System.out.println(string);
System.out.println(flag);
System.out.println(f + 1.1); //浮点型进行运算后精度可能丢失
System.out.println(d<2);
}
}
转义字符
有一些字符在java中有着特殊的含义,例如’’,"",\等,转义字符从\开始,\要被转义的字符,转译特殊含义的字符,会将特殊含义的字符转换成它本身。
\t:制表符,打印内容时遇到\t,光标会添加一个制表符后继续打印。一个制表符打印后占用8个空格(注:汉字占用2个空格,字母、数字和符号占用一个空格),制表符位置前面有内容时,会检测该内容是否满足制表符位的整数倍,如果不满足整数倍,制表符位置会包含制表符前的内容补全一整个制表符位。
\n:换行,打印内容时遇到\n,光标从行尾换到下一行的行首后继续打印。
\b:退格,打印内容时遇到\b,光标回到上一格后继续打印,会覆盖退格符前的一个字符。
public class Demo{
public static void main(String[] args){
System.out.println('\''); //打印'
System.out.println("\""); //打印"
System.out.println("\t哈哈"); //哈哈前有8个空格
System.out.println("呵\t哈哈"); //呵和哈哈之间有6个空格,呵占用2个字符位
System.out.println("abcde\bf"); //输出为abcdf,光标退格到e下,f覆盖了e
System.out.println("呵呵呵呵\t哈哈"); //呵呵呵呵占用了8个字符位,为制表符的整倍数,所以呵呵呵呵和哈哈之间有8个空格
}
}