*.java java源文件 该文件中存储所有的java源代码
在java中一切皆对象,所以一切属性和方法必须定义在类(class关键字)中
源文件名称必须与主类名称一致,主方法存储在主类中。
javac编译器 ——将源文件编译成字节码文件也就是class文件,然后class文件通过java解释器翻译为具体操作的机器码给机器执行。
JDK——java开发工具包,包括jre开发环境以及开发工具,比如javac编译器
JRE——java运行时环境,包括jvm与javase标准类库
JVM——java虚拟机,保证java 做到 write once,run everywhere的关键
添加的注释在编译后是不存在的,只存在于源文件中。
标识符:在程序中给类、方法、变量取的名字都叫标识符,取名规则为:可以包含字母、数字、下划线以及美元符$(不推荐)。不能以数字开头,不能使用java中的关键字,区别大小写(java中一切都区分大小写)。
关于标识符的命名:驼峰命名法:类名用大驼峰,每个单词首字母都大写,class TestStudent;方法和变量使用小驼峰:第一个单词首字母小写,其他都大写:int myAge = 10.
八大基本数据类型分别为:数值型:byte short int long (整型)float double (浮点型)
字符型:char 布尔型:boolean 其中数值型整型的默认值为0,浮点型默认值为0.0,字符型默认值为\u0000,boolean型默认值为false。
三大引用类型分别为:类、数组与接口,他们的默认值为null。特别的。所有引用数据类型的变量,保存的都是存储内容的地址,并非实际的内容。另外,当引用数据类型的值为默认值null时,表示不指向任何对象,无法通过该引用数据类型进行任何操作,操作的话会产生NPE错误。
特别提醒:所有的数据类型只有在类中定义时才具备默认值,在方法中的局部变量是不具备默认值的。你在类中定义时可以写 int a而不赋值不会报错,但是你在方法中调用时或创建局部变量时写 int a 就不行,必须在使用前赋值。
程序中有两种类型的数值,一种为变量,定义后可以修改该变量的具体数值,另一种为常量,数值无法改变,用final修饰。
变量语法:数据类型 变量名称 = 初始值 eg:int a = 10
一行中可以定义多个对象:int a = 10,b = 20 ,c;特别的 如果为int a,b,c=10;此时只有c为10,a和b为默认值,要特别注意
因为java中一切皆对象,所以一切都可以用类来描述,但八大基础数据类型不属于类,为了满足一切皆对象原则,为八大基础数据类型创建了包装类,这样它们也就能成为对象了。包装类除了int的为Integer,char为Character之外,其他的均首字母大写即可。
在进行数据处理时,得出的最终结果要与数据类型匹配,如果不匹配就会出现精度损失。如果int / int 那么得到的还是int ,如果结果是小数那么会舍去小数点后的数字以此来输出int的结果。
字面量:直接展示出来的就是字面量,比如10 (整型字面量),abc(字符串字面量),他们都是常量,因为10只能指代10,abc只能指代abc,在使用时,int a = 10相当于把一个10的字面量常量赋值给了变量a。另外,整型字面量默认为int类型,浮点型字面量默认为double。
关于类型转换与类型提升:小类型转为大类型自动转换,大类型转小类型需要强制转换。因此
float = 10.1F(大转小强转) long b = 10(小转大自动),并且在运算时,小数据类型与大数据类型一起计算,自动将小类型提升为大类型再计算。
另外,存储byte short char的时候看它本身大小,但是调用时默认将其调为int类型进行处理。
java中任何数据类型与字符串(string类)进行+操作,都会变成拼接结果。
string类中有一个valueOf方法可以将纯数字字符串转换为数值型,接收该数值的数据类型必须比转换过来的数值要大,否则放不进去。
算术运算符:+ - * / %(取余)+= -= *= %= (先进行=前的运算再得出结果,例如 1 +=2,就为3)
关系运算符:== != < > <= >= 计算结果为布尔值,该运算符的意思为:判断数据怎么怎么样(根据具体运算符来决定, ==就是判断两个数据相等,相等为true不相等为false,!=为判断不相等)
逻辑运算符:&& (逻辑与)并且关系 || (逻辑或)或者关系 运算结果也为布尔值 特别的!为逻辑取反
位运算符:在二进制位进行操作 &(按位与) |(按位或) ^(按位异或) ~(按位取反)
&:二进制位(后同)都为1返回1否则0 | :都为0返回0否则1 ^ :相同返回0不同返回1 ~:1变为0 ,0变为1
>> 与<<分别是在二进制位右移和左移,空出的位置补0。