如果你看到上面的思维导图都会--------------那就开始看第二幅图
如果不会就看一下介绍
1、输入输出就只有导图那点内容用例
Java
//输入
Scanner input=new Sacnner(System.in);
int a=input.nextInt();//输入数值会判断int型
String name=input.next();//可以输入String类型
//输出
System.out.println();//这个直接换行
System.out.print();//不换行
2、数据类型还包括浮点型和布尔类型
浮点型:
- float(四个字节)
double(八个字节)
float是单精度类型,精度是8位有效数字,float占用4个字节的存储空间
double是双精度类型,精度是17位有效数字
2布尔类型:boolean只有两个值true和false
Java
float f=0.1111f;
double d=0.2222//不用带任何东西
double d=(double)f;//类型转换
数据类型之所以强调所占字节数是为了理解(类型强转)低字节可以自动转换成高字节例如;
3、循环语句用法
已知判断长度用for
未知用while
Java
//for用法
for(int i=0;i<5;i++){
System.out.println(i);
}
//while用法
int i=0;
while(i<100){
i++;
}
//do--while用法
do{
循环语句
}while(判断条件);//别忘了分号(与while区别在于他能够在不判断条件情况下先执行循环语句一遍)
4、if—else语法和switch
if(判断条件){
true则执行
}else{
false则执行
}
//能用于switch判断的类型有:byte、short、int、char(JDK1.6),还有枚举类型,但是在JDK1.7后添加了对String类型的判断
//case语句中少写了break,编译不会报错,但是会一直执行之后所有case条件下的语句而不再判断,直到default语句
//若果没有符合条件的case就执行default下的代码块,default并不是必须的,也可以不写
switch(){
case :
break;
case :
break;
default:
}
3、跳出循环语句break和continue语法
Java
//break
for(int i=0;i<100;i++){
if(i==5){
break;//当i=5时后面循环就不执行了;
}
}
//continue
for(int i=0;i<100;i++){
if(i==5){
continue;//当i=5时后面循环就接着执行了;只是i=5时if语句内容不执行
}
}
第二幅图
1.类与对象
这个我已经写过相关博客想看可以点击链接
类与对象链接https://blog.csdn.net/wangcheng__/article/details/105405750
2类的三大特性
2.1继承
其实继承就像现实世界你(子类)继承你父亲(父类)一样。你虽然像你父亲但是有一定区别(子类具有自己特定的方法)这就奠定了继承的优点(它减少了代码的重复性,但增加代码的耦合性)。同样一个儿子肯定只有一个父亲(Java继承只能单继承)。同样父亲又继承了你爷爷(超类)(这就是继承可以多重继承)
Java
public class GrandFather{
public GrandFather() { //构造方法
System.out.println("我是爷爷");
}
public void hasBIgEye(){}//有个大眼睛
}
public class Father extends GrandFather{
public Father(){ //构造方法
System.out.println("我是爸爸");
}
public void hasBIgEye(){}//有个大眼睛
public void hasBIgHand(){}//有个大手
}
public class Son extrends Father{
public Sonr(){ //构造方法
System.out.println("我是儿子");
}
public void hasBIgHand(){}//有个大手
public void hasBIgFace(){}//有个大脸
}
2.2封装
这是面向对象主要优点。比如你用别人所写的类库但是看不到他们底层所写的东西。(但是对于所编程该类库的人员能看见)。
Java
//你在用字符串时可以通过以下方式赋值,但是看不到加号的底层处理。
String name="xiao"+"cheng"+"zi";
2.3多态
现在基本上通过接口interface实现
接口(重点内部方法都是抽象方法,变量是静态且不可改变);
多态就是同样的事情响应不同。比如吃饭中国人用筷子印度人用手直接吃
Java
//接口人
public interface Peoplel{
void haveFood();
}
public class ChinesePeople implements Peoplel{
void haveFood(){
System.out.print{"中国人用筷子吃饭"};
}
}
public class AirePeople implements Peoplel{
void haveFood(){
System.out.print{"印度人用手吃饭"};
}
}
3.异常Exception主要包括IOException和RuntimeException两类
一般用于自己抛出自己想要的异常信息两种方法
第一种自己创建一个异常类例如
Java
class FileFormatException extends IOException{
public FileFormatException(){}
FileFormatException(String gripe){
super(gripe);
}
}
//然后就可以在你所要抛出地方加入该语句
throw new FileFormatException();
方法二
通过try–catch–finally实现
Java
try{
执行语句;捕获该处异常
}catch如(Exception e){
若有异常则抛出异常
}finally{
无论是否有异常该处都会执行
}
4泛型
在没有泛型之前ArrayLis只维护Object引用数组。无论获取还是输出都不会进行类型判断,后期进行数据进行相应处理(改变类型);编译不会出错但是进行数据储存很容易出错。所以引入泛型(其实就是加入类型限制)
Java
//初始ArrayList OBject类型
ArrayList files=new ArrayList();
//加入泛型
Arraylist<String> array=new ArrayList<String>();
5、集合Collection接口
5.1List(重点)
//创建ArrayList对象集合
List lsit=new ArrayList();
ArrayList array=new ArrayList();
//添加元素
Add();
//取出元素
get ();
//创建LinkList对象
List list=new linkList();
linklIst list=new linkList();
//添加元素
Add();
//取出元素
get ();
5.2set
- HashSet是一个无序但是不重复的集合
- TreeSet是一个有序集合(通过类似二叉树进行排序)
//添加元素
Add();
//取出元素
get ();
5.3queue
这个是队列学过算法的都知道队列是先进先出(后期用不上也不再多介绍)
6、集合Map接口(其为键值对存在)(我会再写一个关于HashMap和Hashtable的博客这里简要提一下)
- HashMap重点
- //put方法存元素
- get(key)获取对应值
- getValues()获取所有值