java基础复习1
jre:Java运行环境
jdk:Java开发工具(包含jre)
java两大机制:JVM (java虚拟机)
垃圾回收
变量的分类:
1.按数据类型分:
1)基本数据类型:8种
整型:byte short int long
浮点型:double float
字符型:char
布尔型:boolean
2)引用数据类型:
类:class
接口:interface
数组:[]
====================
负数取模:
-38%3=-2
38%-3=2
&和&&区别:
& 所有条件都要判断
&& 只要有一个条件不满足则为false 停止后面的判断
<<和>> 位运算符 将二进制数左右移动相应的位数得到结果 例:
2<<3 00010 →10000 =16
16>>3 10000→00010 =2
& 与运算符
16&2 =0
三元运算符
int max = 100<200 ? 1 : 2; max=1
如果Java文件中有public申明的类 例: public class Student{}源文件名和类名必须一致否则编译失败
在java文件中可以有多个类 但只能有一个public类型的类。、
数组:
申明数组:type [] varName=null;
为数组分配内存空间:varName=new type[length];
数组元素下标从0开始。
在创建数组时为其赋值的方式:
int n1[]={1,2,3};
int n2[]=new int[]{1,2,3};
错误方式: int n3[]=new int[length]{2,3,4};
类和对象:
面向对象的三大特征:封装 继承 多态
java中的每个类至少都有一个构造器 如果没有编写构造器 系统将默认提供一个无参的构造器 public Student(){} 一旦显示的定义了一个或多个构造方法 系统将不再提供默认的构造方法。
构造器的主要作用是 初始化对象的属性
形参和实参:
方法的重载:
同名方法通过 参数个数的不同或者参数类型不同进行重载 返回值可以不同
方法的重写:
变量个数 类型 返回值必须相同
子类方法的访问权限不能比父类的小
void add(int a,int b){}
void add(int a,int b,int c){}
void add(String a,int b){}
继承(解决代码的冗余):
子类继承父类的变量和方法但不能继承父类的私有成员变量和方法
super:
是子类对象方法中父类对象的引用
使用:1.在子类方法中调用父类对象的成员
2.在子类的中通过super(参数)的方式调用父类的构造器 例super(“耗子”,55);
默认情况下子类去调用父类无参的构造器 如果父类写了带参的构造器则系统不再提供默认的构造器而子类中必须调用一个父类的构造器
多态:
父类类型的变量指向一个子类对象,在调用父类中易已被重写的方法是就会产生多态
在多态的情况下 不能调用子类新添加的方法
在多态的情况下 可以对对象进行强制转换,只有在有父子关系的情况下可以进行强制转换
比较字符串用equals()
static 方法不能调用非static变量 非static方法可以调用static变量
单子模式:
1.私有化构造器
2.把对象私有静态化
3.提供对象的公有get方法,以供外部使用该对象
public class Single {
private Single(){}
private static Single instance = new Single();
public static Single getSingle(){
return instance;
}
}
public class TestSingle {
public static void main(String[] args) {
Single instance1 = Single.getSingle() ;
Single instance2 = Single.getSingle();
System.out.println(instance1==instance2);//true
}
}
final:是最终的属性不能被修改 即常量
final变量 必须在申明时被初始化 或在非静态代码块中或在构造器中被初始化
抽象 abstract:
有抽象方法的类一定是抽象类 抽象类不一定有抽象方法
抽象类不能被实例化
抽象方法没有方法体 只有方法是申明
接口:
接口是抽象方法和常量的集合 不能有其他的任何成分
接口中的方法默认为 public abstract
常量的默认修饰为:public static final
接口之间可以继承
内部类:
异常处理:
1.数组下标越界异常
2.数学异常
3.类型转换异常
4.空指针异常
catch后可跟多个catch但是父类不能再前面
finally语句一定会执行 try(){}后可直接跟finally
throws关键字抛出异常 可同时抛出多个异常 多个之间用,分割。
重写方法不能抛出比被重写方法更大的异常
java集合
Set:无序不可重复的集合
List:有序可重复的集合
Map:有映射关系的集合
foreach的语句格式:
for(元素类型t 元素变量x : 遍历对象obj){
引用了x的java语句;
}
Set集合:
无序 不可重复 若重复添加失败
HashSet 是Set最典型的实现
HashSet是根据hashCode()值来存放元素所以无序
判断两个元素相同的标准是equals()值返回true
HashSet线程是不安全的
LinkedHashSet有序
java基础复习1的更多相关文章
- Java基础复习笔记系列 九 网络编程
Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...
- Java基础复习笔记系列 八 多线程编程
Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...
- Java基础复习笔记系列 七 IO操作
Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...
- Java基础复习笔记系列 五 常用类
Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...
- Java基础复习笔记系列 四 数组
Java基础复习笔记系列之 数组 1.数组初步介绍? Java中的数组是引用类型,不可以直接分配在栈上.不同于C(在Java中,除了基础数据类型外,所有的类型都是引用类型.) Java中的数组在申明时 ...
- Java基础复习笔记基本排序算法
Java基础复习笔记基本排序算法 1. 排序 排序是一个历来都是很多算法家热衷的领域,到现在还有很多数学家兼计算机专家还在研究.而排序是计算机程序开发中常用的一种操作.为何需要排序呢.我们在所有的系统 ...
- 《Java基础复习》-控制执行流程
最近任务太多了,肝哭我了,boom 参考书目:Thinking in Java <Java基础复习>-控制执行流程 Java使用了C的所有流程控制语句 涉及关键字:if-else.whil ...
- 《Java基础复习》—常识与入门
突然发现自己Java基础的底子不到位,复习! 所记知识会发布在CSDN与博客网站jirath.cn <Java基础复习>-常识与入门 一.Java语言的知识体系图 分为三部分 编程语言核心 ...
- Java基础复习之数组
Java基础复习之:数组 简介 数组(Array):多个相同数据类型按照一定顺序排列的集合,并使用一个名字命名,通过编号的方式对这些数据进行统一管理 一维数组 一维数组的声明与初始化 int[] id ...
- java基础复习记录
java基础复习记录(数组.对象.异常) 数组 数组的定义 数组是相同类型数据的有序集合.如:篮球队就是一个数组,队员球服上有号码,相当于索引.通过某一个的某一个号码来确认是某一个队员.数组中索引从0 ...
随机推荐
- Runtime那些事
Runtime 前言 从字面意思看,就是运行时.但是这个运行时究竟什么意思?可以把它理解成:不是在编译期也不是在链接期,而是在运行时.那究竟在运行期间做了什么呢?按照苹果官方的说法,就是把一些决策(方 ...
- JS大小写字母转换
var a = "ABCd"; console.log(a.toLowerCase());//转换成小写 console.log(a.toUpperCase());//转换成大写
- (译)ABP之Entities
原文地址:https://aspnetboilerplate.com/Pages/Documents/Entities#DocAuditing 实体是DDD(领域驱动模型)的核心概念之一,Eric E ...
- Virtualbox虚拟机安装与设置
Virtualbox与VMware类似,都是虚拟机软件,在win10下安装Virtualbox直接默认安装即可.版本:VirtualBox-5.2.0-118431-Win.exe 安装完成后,点击左 ...
- ionic2 App搭建(三)
cmd命令提示框中进入项目文件夹 运行命令 ionic serve --lab 结构如下图 这里数据是没有接受到的,是因为跨域的问题,解决方案是谷歌浏览器配置跨域指令如下: 配置chrome浏览器允 ...
- 在ASP.NET Core 2.0中使用MemoryCache
说到内存缓存大家可能立马想到了HttpRuntime.Cache,它位于System.Web命名空间下,但是在ASP.NET Core中System.Web已经不复存在.今儿个就简单的聊聊如何在ASP ...
- C#学习笔记-组合模式
什么是组合模式? 组合模式(Composite):将对象组合成树形结构以表示“部分-整体”的层次结构. 组合模式使得用户对单个对象和组合对象的使用具有一致性. 何时使用组合模式? 当需求中是体现部分与 ...
- 【机器学习学习】SKlearn + XGBoost 预测 Titanic 乘客幸存
Titanic 数据集是从 kaggle下载的,下载地址:https://www.kaggle.com/c/titanic/data 数据一共又3个文件,分别是:train.csv,test.csv, ...
- HTML/CSS/JavaScript学习笔记【持续更新】
HTML <font> 标签 定义和用法 <font> 规定文本的字体.字体尺寸.字体颜色. 实例 规定文本字体.大小和颜色: <font size="3&qu ...
- 洛谷 P1972 [SDOI2009]HH的项链【莫队算法学习】
P1972 [SDOI2009]HH的项链 题目背景 无 题目描述 HH 有一串由各种漂亮的贝壳组成的项链.HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含 ...