JavaSE随笔总结
#盘符切换 如 E:
#查看当前目录下所有文件 dir
#切换目录:cd 带参数 /d + 盘目录如D:\文件夹名
#返回上一级: cd ..
#清理屏幕: cls (clear screen)
#退出: exit
#查看电脑ip: ipconfig
#打开应用:
#计算器程序: calc
#画图工具: mspaint
#notep记事本: notepad
#ping 命令
ping www.baidu.com
#操作文件命令
#创建文件夹: md 目录名
#移除文件夹: rd 目录名
#创建文件: cd> 文件名
#删除文件: del 文件名
一、JAVA简介:
1、java优势
-
简单性
-
面向对象
-
可移植性
-
高性能
-
分布式
-
动态性
-
多线程
-
安全性
-
健壮性
2、java配置开发环境
-
配置好JDK和JRE中的JAVA_HOME环境
-
程序运行机制:
java源文件 --》 java编译器(先编译),变成了字节码(*.class文件),class文件才是被真正执行的文件。——》走到JVM虚拟机,放入类装载器总——》在进行字节码校验器(校验代码对不对) ——》解释器 (再解释,告诉操作系统要做什么。)——》 操作系统平台 。
最好不要实用float数据类型进行比较,因为float类型数据是 舍入有误差,接近但不等于。
银行业务数据比较实用: BigDecimal
结论:所有的字符本质还是数字。
-
转义字符
\t 制表符
\n 换行
-
boolean值扩展
boolean flag=true;
if(flag==true){}
//两者是等价的
if(flag){}Less is More!!!!!
二、JAVA基础
1、Java标识符和关键字
-
标识符:
-
以字母(a-z、A-Z)、数字(0-9)、下划线(_)、美元符($)开头。
-
第一个符号为字母、下划线和美元符号,后面可以是任何字母、数字、美元符号或下划线。
-
用途:用来命名常量、变量、类和类的对象等。
Java 区分大小写,不能以数字开头,也不能使用任何 Java 关键字作为标识符,不能赋予标识符任何标准的方法名。
-
-
关键字:它是编译器有特殊意义的固定单词;不能在程序中做其他目的使用。关键字具有专门的意义和用途,和自定义的标识符不同,不能当作一般的标识符来使用。
用途:表示一种数据类型,或者表示程序的结构等。
Java 语言目前定义了 51 个关键字:
-
数据类型:boolean、int、long、short、byte、float、double、char、class、interface。
-
流程控制:if、else、do、while、for、switch、case、default、break、continue、return、try、catch、finally。
-
修饰符:public、protected、private、final、void、static、strict、abstract、transient、synchronized、volatile、native。
-
动作:package、import、throw、throws、extends、implements、this、supper、instanceof、new。
-
保留字:true、false、null、goto、const。
-
2、强制类型转换
底-------------------> 高
byte, short, char-->int-->long -->float,-->doule
//强制类型转换 (类型)变量名 高 到 低
int a= 128;
byte b=(byte)i;
//自动转换 低 到 高
int a= 128;
double b=i;
注意点:在转换的过程中可能存在内存溢出,或者精度问题。
//例精度问题
System.out.println((int)23.3); //23
System.out.println((int)-45.88) //-45
JDK7新特性:数字之间可以用下划线分割。
如,int money=10_0000_0000;
//例内存溢出
int money=10_0000_0000;
int year=20;
int num=money*year; //内存溢出
long total=money*((long)year); //200亿
3、变量 or 常量
1、变量:
-
类变量 static
-
局部变量
-
实例变量
public class Test{
//类变量 加static
static double salary=3000;
//实例变量: 从属于对象; 如果不自动初始化,这个类型的默认值为 0 0.0;
//布尔值:默认是false
//除了基本类型,其余的默认值都为null;
String name;
int age;
public static void mian(String []args){
//局部变量: 必须声明和初始化值;
int i=10;
System.out.print(i);
//若要使用实例变量,实例化该类的对象。
Test test=new Test();
System.out.println(test.name);
System.out.println(test.age);
}
}
2、常量
定义:初始化后就不能再改变值。 不会变动的值!
使用关键字 final 声明!
final 变量名=值;
注:常量名一般要用大写字符
3、命名规范总结
-
所有变量、方法、类名:见名知意
-
类成员变量:首字母小写和驼峰命名原则: queryUserById
-
局部变量:首字母小写和驼峰命名
-
常量:大写字母和下划线: MIN_VALUES
-
类名:首字母大写和驼峰命名 : User
-
方法名:首字母小写和驼峰命名: queryUser
4、注意细节
//1、字符串细节问题
int a =20;
int b =10;
System.out.println(a+b+""); //30
System.out.println(""+a+b); //2010
//如果""字符串在前面,那么后面的会进行拼接; 如果字符串""在后面,那么会先运算,在拼接。
//2、Scanner中的方法说明
Scanner scanner=new Scanner(System.in);
if(scanner.hasNext()){
//“空白”作为分隔符或者结束符。该方法返回输入“空白”之前所有的字符。
String str=scanner.next();
//nextLine()方法返回输入“回车”之前所有的字符。可以获得空白
Stirng str=scanner.nextLine();
}
5、方法重载、重写
-
方法的重载: 在一个类中相同方法名不同的参数列表。(个数、数据类型、参数列表顺序不同。)
-
方法的重写:需要有继承关系,子类重写父类的方法。
-
方法名必须相同
-
参数列表必须相同
-
修饰符:范围可以扩大,但不能缩小
-
抛出的异常:范围可以被缩小,但不能扩大
子类的方法和父类必须一致,方法体不同。
-
6、Java内存理解
-
堆:
-
存放new的对象和数组
-
它可以被所有的线程共享,不会存放别的对象引用
-
-
栈:
-
存放基本变量类型(包含这个基本类型的具体数值)
-
存放引用变量的对象(会存放这个引用在堆里面的具体地址)
-
-
方法区:
-
可以被所有线程共享
-
包含了所有class和static变量
-
三、OOP
1、构造器:
和类同名,没有返回值。
注意:
-
使用new关键字,本质就是在调用构造方法
-
构造方法是用来初始化值
-
定义了有参构造,无参构造就必须显示定义
2、封装、继承、多态
-
封装:
-
提高程序的安全性,保护数据
-
隐藏代码的实现细节
-
统一接口
-
提高系统的可维护性
-
-
继承
-
使用关键字 extends
-
子类继承了父类,就会拥有父类的全部方法
-
在java中,所有的类,都默认直接或者间接继承了Object类
super使用注意点:
-
super调用父类构造方法时,必须在构造方法中第一行
-
super必须只能出现在子类的方法或构造方法中
-
super和this不能同时调用构造方法
this使用注意点:
-
代表的对象不同:this代表本身调用这个对象,super代表父类对象的应用
-
前提:this没有继承也可以使用,super只能继承条件下使用
-
构造方法:this()调用本类构造,super()调用父类构造
-
-
多态
-
多态是方法的多态,属性没有多态
-
注意:父类和子类有联系, 类型转换异常(ClassCastException)
-
存在条件:继承关系,方法需要重写,父类引用指向子类对象。
static:
-
修饰属性,方法,内部类
-
静态代码块,类被初次加载的时候执行一次;
-
静态导入包:可直接使用导入包类中的方法
3、Exception
-
异常简介:
-
Throwable(超类): Exception 和 Error
-
Error:VirtulMachineError 和 AWTError
-
Exception:IOException 和 RuntimeException
-
IOException:EOFEException 和 FileNotFoundException
-
RuntimeException:
-
ArithmeticException:数学计算异常
-
NullPointerException:空指针异常
-
NegativeArraySizeException:负数组长度异常
-
ArrayOutOfBoundsException:数组索引越界异常
-
ClassNotFoundException:类文件未找到异常
-
ClassCastException:类型强制转换异常
-
SecurityException:违背安全原则异常等...
-
-
异常捕获
-
关键字:try、catch、finally、throw、throws
-
throw 主动抛出异常,一般在方法中使用
//例如在方法中抛出;
throw new ArithmeticException(); -
throws: 假设在这个方法中,处理不了这个异常,在该方法上抛出异常;
//方法名抛出
public void test() throws ArithmeticException{}
-
-

浙公网安备 33010602011771号