注释
书写注释是非常好的习惯,必须坚持下去、
平时写代码一定要注意规范
Java中的注释有三种
-
单行注释 ——在新的一行,用//后面跟着注释。只能注释一行文字
-
多行注释 ——/* 注释 */,中间的注释可以进行多行注释,可以注释一段文字
-
文档注释——/** 文档注释可以在中间添加一些运算符
*
*
*/
标识符
48个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while。
1.访问修饰符的关键字(3个)
public (公有的):可跨包
protected (受保护的):当前包内可用
private (私有的):当前类可用
2.定义类、接口、抽象类和实现接口、继承类的关键字、实例化对象(6个)
class (类):public class A(){}花括号里是已实现的方法体,类名需要与文件名相同
interface (接口):public interface B(){}花括号里有方法体,但没有实现,方法体句子后面是英文分号“;”结尾
abstract (声明抽象):public abstract class C(){}介于类与接口中间,可以有,也可以没有已经实现的方法体
implements (实现):用于类或接口,实现接口public class A interface B(){} extends (继承):用于类继承类public class A extends D(){}
new (创建新对象):A a=new A();A表示一个类
3.包的关键字(2个)
import (引入包的关键字):当使用某个包的一些类时,仅需要类名,即可自动插入类所在的包
package (定义包的关键字):将所有相关的类放在一个包类以便查找修改等
4.数据类型的关键字(9个)
byte (字节型):8bit
char (字节型):16bit
boolean (布尔型):--
short (短整型):16bit
int (整型):32bit
float (浮点型):32bit
long (长整型):64bit
double (双精度):64bit
void (无返回):public void A(){}其他需要反回的经常与return连用
5.条件循环(流程控制)(12个)
if (如果) :if(条件语句{执行代码}如果条件语句成立,就开始执行{}里面的内容
else (否则,或者) :常与if连用,用法相同:if(...){...}else{...}
while (当什么时候):while(条件语句){执行代码}
for(满足三个条件时):for(初始化循环变量;判断条件;循环变量值{}
switch (选择结构):switch(表达式){case 常量表达式1:语句1;...case 常量表达式2;语句2;default:语句;}default就是如果没有匹配的case就执行它,default并不是必须的。case后的语句可以不用大括号。
case (匹配switch的表达式里的结果) :同上
default (默认): default就是如果没有匹配的case就执行它, default并不是必须的
do (运行) :通常与while连用
break (跳出循环):直接跳出循环,执行循环体后的代码
continue (继续) : 中断本次循环,并开始下一轮循环
return (返回) :return 一个返回值类型
instanceof(实例):一个二元操作符,和==、>、<是同一类的。测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据
6.修饰方法、类、属性和变量(9个)
static(静态的):属性和方法都可以用static修饰,直接使用类名、属性和方法名。只有内部类可以使用static关键字修饰,调用直接使用类名、内部类类名进行调用。static可以独立存在。
final(最终的不可被改变):方法和类都可用final来修饰;final修饰的类是不能被继承的;final修饰的方法是不能被子类重写。常量的定义:final修饰的属性就是常量
super(调用父类的方法):常见public void paint(Graphics g){super.paint(g);...}
this(当前类的父类的对象):调用当前类中的方法(表示调用这个方法的对象)this.addActionListener(al):等等
native(本地)
strictfp(严格,精准)
synchronized(线程,同步):一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块
transient(临时):当一个对象被序列化的时候,transient型变量的值不包括在序列化的表示中,然而非transient型的变量是被包括进去的。
volatile(易变):用volatile修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的最的值。volatile很容易被误用,用来进行原子性操作。
7.错误处理(5个)
catch(处理异常):
(1)try+catch 程序流程是:运行到try块中,如果有异常抛出,则转到catch块去处理。然后执行catch块后面的语句
(2)try+catch+finally 程序流程是:运行到try块中,如果有异常抛出,则转到catch垮,catch块执行完毕后,执行finally块的代码,再执行finally块后面的代码。如果没有异常抛出,执行完try块,也要去执行finally块的代码。然后执行finally块后面的语句
(3)try+finally 程序流程是:运行到try块中,如果有异常抛出,则转到finally块的代码。
try(捕获异常)
finally(有没有异常都执行)
throw(抛出一个异常对象):一些可以导致程序出问题,比如书写错误,逻辑错误或者是api的应用错误等等。为力防止程序的崩溃就要预先检测这些因素,所以java使用了异常这个机制在java中异常是靠“抛出” 也就是英语的“throw”来使用的,意思是如果发现到什么异常的时候就把错误信息“抛出”
throws(声明一个异常可能被抛出):把异常交给他的上级管理,自己不进行异常处理
8.其他(2个)
enum(枚举,列举,型别)
assert(断言)
2)2个保留字(现在没用以后可能用到作为关键字):goto、const。
const——常量,常数:用于修改字段或局部变量的声明。
goto——转到:指定跳转到标签,找到标签后,程序将处理从下一行开始的命令
3)3个特殊直接量:true、false、null。
null (空值)
true (真)
false (假)
Java 所有的组成部分都需要名字。类名、变量名以及方法名都没成为标识符
标识符注意点
-
所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_) 开始
-
首字母之后的可以是任何字母,任何数字,任何符号
-
不能使用关键字作为变量名或者方法名
-
可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很low
-
标识符是大小写敏感的
数据类型
强类型语言
1.要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
弱类型语言
java的数据类型
基本数据类型包括 数值类型和Boolean类型
-
基本数据类型(primitive type)
-
整数类型:byte
short
int (大部分字节都是int,就足够了)
long
-
浮点类型 :float 占四个字节
bouble 占八个字节(一般大部分都使用的是double)
-
字符类型char占2个字节
Boolean类型:占1位其值只有true(是)和else(非)两个
-
引用类型
-
类
-
接口
-
数组
-
public class Demo02 {
public static void main(String[] args) {
//八大基本数据类型
//整数类型
int num = 10;//最实用
byte num2 = 20;
short num3 = 30;
long num4=40L;//Long类型要在数字后面加个L
//小数,浮点类型
float num5=3.1F;//float类型要在数字后面加个F
double num6=3.12313123141;
//字符
char name='国';//char后面只能跟着一个字符,超过一个字符就会报错
//字符串:String不是关键字,类
String mane1="中国人";// String 后面可以跟着多个字符
//布鲁值:是非
boolean flag = true;//(是)
//boolean flag = false;(非)
}
}
字节的含义
-
1bit表示1位
-
1Byte表示1字节 1B=8b
-
1024B=1KB
-
1024KB=1M
-
1024M=1G