当项目结构复杂起来的时候,我们需要注释来提示自己,以免之后维护的时候阅读困难。
注释不会被执行,是给写代码的人看的。
单行注释/多行注释/文档注释
使用斜杠 “ // ”
public class Helloworld { public static void main(String[] args) { System.out.println("Hello,World"); //你好世界 } }
使用"/*" 开头, " */ "结尾
public class Helloworld { public static void main(String[] args) { System.out.println("Hello,World"); /* 我是多行注释lmao 123123123 114514 */ } }
" /** "开头," */ " 结尾, 有一定功能。
/** @Description Hello MDFK @Author Tommer Hu */
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
Java关键字不能作为标识符名字。
Java的数据类型分为两大类,基本类型和引用类型。
可以表示-128到127之间的整数。
可以表示-32768到32767之间的整数。
可以表示-2147483648到2147483647之间的整数。
可以表示 -9223372036854775808到9223372036854775807之间的整数。
浮点类型的有效数字是有限的。 浮点类型有舍入误差。
最好避免使用浮点类型进行数字比较!
占4个字节,有效数字7-8位。
占8个字节,有效数字16位。相比float精度高。
所有的字符本质还是编码中的数字。
可以写一个字符。
只有两种值,true或false。
true表示正确,false表示错误。
除了以上的8个基本数据类型外,其他的类型都是引用数据类型。
Java是强类型语言。
强类型语言要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用(故安全性高)。
由于Java是强类型语言,所以有时进行运算时,需要用到类型转换。
低-------------------------------------->高 byte, short, char, int, long, float, double 字节占用数小的优先级低,字节占用大的优先级高。 浮点(小数)优先级最高。
运算不同类型的数据要先转化为同一类再运算。
类型由高级转到低级需要使用强制类型转换
(类型) 变量名
int i = 20; byte intb = byte(i);
注意事项
类型由低优先级转换到高优先级可以自动转换类型。
变量就是可以变化的量。
Java是一种强类型语言,每个变量必须声明其类型。
Java变量是程序中最基本的储存单元,其要素包括变量名,变量类型和作用域
type varName = [=value] [{,varName[=value]}]; 数据类型 变量名 = 值; 可以使用逗号隔开来生命多个同类型变量。但是考虑到程序可读性,不建议在同一行声明多个变量
每个变量都有类型,类型可以是基本类型,也可以是引用类型。
变量名必须是合法的标识符。变量声明是一条完整的语句,因此被一个声明都必须以分号结束。
常量在初始化(initialize)之后,就不能在改变它的值。
常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
定义方式:final 变量类型 变量名 = 值。 常量的变量名一般为大写
final int FINT = 1;
变量分为 类变量、实例变量和局部变量。
public class Variable{ static int i = 0; //类变量 String str = "Hi!" //实例变量 public void method(){ int ii = 0 //局部变量 } }
类变量在整个类的里面都可以用。需要加static修饰。
需要先得到实例对象,才能使用变量对象的内容。
在方法里面声明,且只能在方法内使用。
除了基础运算符以外,我们还会使用很多工具类进行其他运算。
Java语言支持如下的运算符:
+, -, *, /, %, ++, --
=
>, <, >=, <=, ==, !=, instanceof
&&, ||, !
&, |, ^, ~, >>, <<, >>>
?, :
+=, -=, *=, /=
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
包语句的语法格式为:
package pkg1 [.pkg2[.pkg3...]];
一般利用公司域名倒置作为包名。
为了能够使用某一个包的成员,我们需要在java程序中明确倒入该包。使用“import”语句可以完成此功能。
import package1[.package2[.package3...]].(classname|*);