java基础知识总结1

安装jdk,jre

计算机->系统属性->高级系统设置->环境变量
(1)设置JAVA_HOME系统环境变量
系统变量里点击新增D:\jdk1.8.0
(2)编辑path系统变量
找到path环境变量,点击编辑。在path值输入框最后,输入;%JAVA_HOME%\jre\bin;
(3) 在cmd输入javac检查环境变量是否配置正确。输入java -version看到版本信息表示JAVA安装正确

注释

(1)ctrl+/就可以把选中的多行代码给注释
(2)多行注释/**/
单行注释//
(3)system.out.println快捷键:sysout 辅助键ALT+/

java中变量和类型

这里介绍java和java中变量类型
* byte(1)
* short(2)
* int(4)
* long(8)
* float(4)
* double(8)
* char (2)
* boolean(1)
Java中小数默认是double类型,例如上面(float)4.5,如果你直接写4.5,会在4.5这个地方出红色波浪线

获取用户输入

(1)如果是需要导包:import java.util.Scanner,用快捷键ctrl+shift+o即可
(2)Scanner scan = new Scanner(System.in);
初始化一个Scanner实例,scan是类Scanner的一个具体实例对象
(3)import java.util.Scanner;
(4)Resource leak: ‘scan’ is never closed
scan.close();

Eclipse中如何解决查看JDK源码遇到source not found问题

鼠标悬停在println上方,然后按下键盘ctrl键,你会发现println下会出现一个下划线,鼠标点击就发生跳转。如果没有配置源码文件来源,就会出现source not found的页面。
System.out.println(“answer=”+result);
在打印语句中的加号+,这个加号是字符串连接的意思,不是数学中的加法运算

自增x++和++x的区别

例子1
int z=8;
System.out.println(z++); 结果为8
System.out.println(z); 结果为9
例子2
int t=6;
++t; 结果为 7
System.out.println(t); 结果为7

if-else语句和相关比较运算操作

if嵌套语句实现比较abc三个数之间最大数

逻辑运算-与或

if((a>=35)&&(b>=35))
if((a>=35)||(b>=35))

switch语句

Switch(score){
case 60:
System.out.println(“及格”);
break;
default:
System.out.println(“分数等级未定义”);
break;
}

数组

int[] arr=new int[]{1,2,3,4,5};
System.out.println(“数组索引为0的元素为:”+arr[4]);
System.out.println(“数组长度为:”+arr.length);

for循环+数组

string的基本用法

// 用关键字String来定义一个字符串变量
String myString = “Hello a world abc”;
//计算字符长度
System.out.println(myString.length());
//转换小写
System.out.println(myString.toLowerCase());
//转换大写
System.out.println(myString.toUpperCase());
//字符串用加号连接
String st1 = “Hello”;
String st2 = “world”;
System.out.println(st1 + st2);
//替换字母
System.out.println(myString.replace(‘a’, ‘Y’));
//查找某一个字母的索引
System.out.println(myString.indexOf(‘w’));
//字符串切割
System.out.println(myString.substring(1, 9)); //从左到右,包括索引1,但是右边界不包含索引9
System.out.println(myString.substring(4)); //从索引为4,包含4开始切割,4之前的不要

类和对象&&构造函数&&方法重载

在Java程序中类是创建对象的模板,对象是类的实例。
在类中,函数名称和类名称相同,大小写也要相同的函数就叫构造函数。构造函数的作用就是,每个该类的对象在创建过程就被初始化。也就是说,你新建一个该类的对象,就会自动调用构造函数里面的内容。构造函数还有一个特点,构造函数内部不能有返回语句,即构造函数没有返回值。
重载的基本特点就是,方法名称相同,但是方法参数类型不同,参数类型不同,包括,参数个数和参数变量类型不同。

static关键字

用到了static修饰的方法或者变量,只能被类本身调用,没有static修饰的方法是实例方法,实例对象能调用实例方法。
this.name = name的意思就是将局部变量的值传递给类成员变量

继承

继承总结就三句话:
1) 子类拥有父类非private属性和方法
2) 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展
3) 子类可以用自己的方式去实现父类的方法

final关键字

final需要记住以下三点就可以。
1)final类不能被继承
2)final方法不能被子类的方法覆盖
3)final变量只能被赋值一次,赋值后值无法改变

方法重写

在Java编程语言中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。
方法的重写有几个特点:
1)发生在子类,有子类就有继承
2)父类方法的参数列表必须完全与被子类重写的方法的参数列表相同
3)父类的返回类型必须与被子类重写的方法返回类型相同
4)Java中规定,被子类重写的方法不能拥有比父类方法更加严格的访问权限

方法重写是在子类和父类之间,而方法重载是在同一个类里面。方法重写,子类和父类方法必须保持,返回类型,方法名称,参数个数和参数类型完全保持一致。而方法重载,只有方法名称相同,其他都可以不相同。

多态

多态指同一个实体同时具有多种形式。或者这样描述,同一个事件发生在不同对象上面,就有不同效果,这样的例子叫多态
父类引用指向了子类对象。Student st = new CollegeStudent(); 这个st是父类Student的一个引用,但是它指向了子类CollegeStudent()
多态存在的三个必要条件:
1)需要继承
2)需要重写
3)父类引用指向了子类对象

抽象

用关键字abstract表示抽象,是一个可以修饰类和方法的关键字。
抽象类主要是用来写接口用的
抽象类和抽象方法有以下特点
1)抽象类不能初始化类的实例对象,但是可以创建子类的引用。
2)抽象方法不需要实现,只需要声明,让子类去实现

接口

接口和抽象类有点类似,接口不是类,接口只是声明了方法,没有具体实现。在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。

封装

封装是一种信息隐藏技术,在java中通过关键字private,protected和public实现封装。什么是封装?封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。 适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性。

封装的作用
1)对象的数据封装特性彻底消除了传统结构方法中数据与操作分离所带来的种种问题,提高了程序的可复用性和可维护性,降低了程序员保持数据与操作内容的负担。
2)对象的数据封装特性还可以把对象的私有数据和公共数据分离开,保护了私有数据,减少了可能的模块间干扰,达到降低程序复杂性、提高可控性的目的。

递归

递归就是自己调用了自己。
构成递归需具备的条件:
1. 子问题须与原始问题为同样的事,且更为简单;
2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。

ArrayList

基于效率和类型检验,应尽可能使用Array,无法确定数组大小时才使用ArrayList!主要有插入元素,编辑元素,删除元素,遍历元素。

try catch finally捕获异常

经常看到空指针异常而且是网页出现HTTP 500的报错,移动端app测试,经常因为数组索引越界而发生崩溃。通过try catch语句来捕获和处理异常。
finaly语句块在异常捕获和处理过程的作用是:不管有没有发生异常,都会调用finally中的代码,这样就确保了即使不是你捕获的异常出现,也会执行finally语句块中的代码。

创建和写入文件&读取文件内容

文件操作结束,记得要关闭文件,否则会一直在内存中加载,浪费内存资源。
用printwriter来写入内容到文件,用BuffreredRead和FileReader类去实现读取文件内容。BuffreredRead类是从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值