目录:
文章目录
- 目录:
- ==1.注释语句==
- ==2.关键字==
- ==3.数据类型==
- ==4.变量使用注意事项==
- ==5.标识符==
- ==6.类型转换==
- ==7.字符的加操作==
- ==8.字符串的加操作==
- ==9.运算符==
- ==10.数据输入==
- ==11.流程控制语句==
- ==12.数组定义==
- ==13.数组动态初始化==
- ==14.方法的定义与调用==
- ==15.Debug==
- ==16.类和对象(封装,继承,多态)==
- ==17.构造方法==
- ==18.API概述==
- ==20.StringBuilder==
- ==21.StringBuilder与String相互转换==
- ==22.集合基础ArrayList==
- ==23.继承==
- ==24.方法重写==
- ==25.final修饰==
- ==26.Static==
- ==27.多态==
- ==28.多态转型==
- ==29.抽象类==
- ==30.接口==
1.注释语句
(1)段落注释:"/* */" (2)语句注释“//”
2.关键字
被赋予特殊含义的单词:1.全部小写;2.特殊颜色标记
3.数据类型
数值型 | 符号/字节 | 非数值型 | 符号 |
---|---|---|---|
整数 | byte(1),short(2),int(4),long(8) | 布尔 | boolean(1) |
浮点数 | float(4),double(8) | 类 | class |
字符 | char(2) | 数值 | [ ] |
4.变量使用注意事项
不可重复定义变量;直接使用前需赋值;定义long类型变量后加L;浮点数默认double,定义float,须在变量后加f;
5.标识符
由数字,字母,下划线,美元符组成;
不能以数字开头,不能是关键词,区分大小写;
小驼峰命名法:一个单词:首字母小写,多个单词:第一个小写,其他首字母大写
大驼峰命名:一个单词:首字母大写,多个单词:第一个大写,其他首字母小写
6.类型转换
自动转换:数据范围小——>数据范围大的类型;
强制类型转换:目标转换数据类型=(变量符号)数据
7.字符的加操作
等级顺序:byte,short,char->int->long->float->double
8.字符串的加操作
将字符串进行拼接,字符串连接符;
9.运算符
符号 | 作用 |
---|---|
= | 赋值 |
+= | 加后赋值 |
-= | 减后赋值 |
*= | 乘后赋值 |
/= | 除后赋值 |
%= | 模后赋值 |
++ | 自加 |
– | 自减 |
==,!=,>,>=,<,<= | 关系运算 |
& | 与 |
| | 或 |
^ | 异或 |
! | 非 |
&& | 短路与(第一个为真,后的逻辑判断不执行) |
|| | 短路或(第一个为真,后的逻辑判断不执行) |
a>b?a:b | ture:a; false:b |
10.数据输入
Scanner使用步骤:
1.导入包
import java.util.Scanner
2.创建对象
Scanner sc=new Scanner(System.in) //sc为变量名,可以变,其它均不允许变化
3.接受数据
int i=sc.nextInt() //只有变量名可变
11.流程控制语句
符号 | 语句 |
---|---|
if | if(关系表达式){语句体}; |
if…else | if(关系表达式){语句体}else{语句体2} |
if…else if…else | |
switch | switch(表达式){case 1:语句体;break;} |
for | for(初始化语句,条件语句,条件控制语句) |
while | while(条件判断语句){循环体语句:} |
Random | 产生随机数 |
random使用步骤:
1.导包
import java.util.Random;
2.创建对象
Random r=new Random();
3.获取随机数
int number=r.nextInt(10);//[0,10)整数
12.数组定义
int[] arr //数据类型[] 变量名
13.数组动态初始化
格式:数据类型[ ] 变量名=new 数据类型[ ]
14.方法的定义与调用
public static void 方法名(){方法体}
public static void isEvenNumber(){方法体}
isEvenNumber()
public class fdemo {
public static void main(String[] args){ //main方法
isEvenNumber(10);
}
public static void isEvenNumber(int num){
if(num%2==0){
System.out.println("true");
}
}
}
15.Debug
用于观测程序执行流程,又称断点调试
16.类和对象(封装,继承,多态)
(1)类的定义:
public class 类名{
//成员变量
//成员方法
}
public class phone {
//成员变量
String brand;
int price;
//成员方法
public void call(){
System.out.println("打电话");
}
public void message(){
System.out.println("发短信");
}
}
(2)成员变量与局部变量
局部变量:类中方法内的变量;栈内存;随方法调用和消失产生和消失
成员变量:类中方法外变量;堆内存;随对象调用和消失产生和消失
(3)private私有:不能在外部直接调用,可以用方法间接调用
(4)this使用:用于对象变量指向,指代成员变量
17.构造方法
//修饰符 类名(参数),调用对象时,调用构造方法
public student(){
}
18.API概述
API(Application Programming Interface):应用程序编程接口
19.String
String构造方法
方法名 | 说明 |
---|---|
public String() | 创建一个空白字符串对象,不含有任何内容 |
public String(char[] chs) | 根据字符数组的内容来创建对象 |
public String(byte[ ] bys) | 根据字节数组的内容来创建对象 |
String s =“abc” | 直接赋值的方式创建字符串对象 |
public class Stringdemo {
public static void main(String[] args){
//public String()创建一个空白字符串对象,不含有任何内容
String s1=new String();
System.out.println("s1"+s1);
//public String(char[] chs)根据字符数组的内容来创建对象
char[] chs={'a','b','c'};
String s2=new String(chs);
System.out.println(s2);
//public String(byte[ ] bys)根据字节数组的内容来创建对象
byte[] bys={97,98,99};
String s3=new String(bys);
System.out.println(s3);
//String s ="abc"直接赋值的方式创建字符串对象
String s4="abc";
System.out.println(s4);
}
}
特点:以方式4赋值,调用类对象看为同一个,new是唯一的;
字符串比较
==作比较(比较地址)与用equals方法作比较;
遍历字符串
1.录入字符串/scanner;2.返回索引处char值3.返回长度length();
20.StringBuilder
可变的字符串类,拼接字符串,节省空间,
StringBuilder sb=new StringBuilder();
方法名 | 说明 |
---|---|
public StringBuilder append(任意类型) | 添加数据,并返回对象本身 |
public StringBuilder reverse() | 返回相反的字符序列 |
21.StringBuilder与String相互转换
StringBuilder->String: to String( )
String->StringBuilder: public StringBuilder(String s)
22.集合基础ArrayList
特点:提供一种存储空间可变的储存类型,存储数据容量可以发生改变
ArrayList<E>
ArrayList<String>;
ArrayList<Student>;
构造方法和添加方法:
方法名 | 说明 |
---|---|
public ArrayList( ) | 创建一个空的集合对象 |
public boolean add(E e) | 将指定元素追加到此集合的末尾 |
public void add(int index, E element) | 在此集合中指定位置插入指定元素 |
public static void main(String[] args){
ArrayList<String> array=new ArrayList<>();
array.add("hello");
array.add("java");
array.add(1,"my");
System.out.println(array);
}
}
ArrayList集合常用方法:
方法名 | 说明 |
---|---|
public boolean remove(object o) | 删除指定元素,返回是否成功 |
pubic E remove(int index) | 删除指定索引处元素,返回被删除的元素 |
public E set(int index,E element) | 修改指定索引处的元素,返回被修改的元素 |
public E get(int index) | 返回指定索引处的元素 |
public int size() | 返回集合中的元素个数 |
import java.util.ArrayList;
import javax.lang.model.element.Element;
public class ArrayListdemo {
public static void main(String[] args){
ArrayList<String> array=new ArrayList<>();
array.add("hello");
array.add("java");
array.add(1,"my");
System.out.println(array);
array.remove("hello");//删除指定元素
System.out.println(array);
array.remove(1);
System.out.println(array);//删除指定索引元素
array.set(0,"hello");
System.out.println(array);//修改指定元素
System.out.println(array.size());
}
}
23.继承
使子类具有父类的属性和方法,提高代码的复用性与维护性,格式:
public class 子类名 extends 父类名()
变量访问特点:方法内部->本类成员->父类,访问顺序;
不能同时继承多个类;支持多层继承;
super
当访问时跳过方法内部变量,访问父类成员变量;
super.(父类成员变量变量)
关键字 | 访问成员变量 | 访问构造方法 | 访问成员方法 |
---|---|---|---|
this | this.成员变量 | this(…)访问本类构造方法 | this.本类成员方法(…) |
super | super.父类成员变量 | super(…)访问父类构造方法 | super.父类成员方法(…) |
子类中所有构造方法默认都会访问父类中无参的构造方法;
当父类中没有无参构造方法,只有带参构造方法时:
1.通过super关键字去显示调用父类的带参构造方法;
2.在父类中自己提供一个无参构造方法;
24.方法重写
子类声明与父类方法名相同的方法,可以在此基础上用super调用父类方法。
子类不能重写父类私有方法;
子类方法访问权限不能更低(public>默认>私有)
25.final修饰
1.final修饰指的是基本类型的数据值不能发生改变
2.修饰引用类型,其地址值不能发生改变,地址中的内容可以发生改变;
26.Static
静态变量,共享变量
建议直接利用类修饰;
非静态成员方法可以访问静态与非静态;
静态成员方法只能访问静态变量和方法;
27.多态
同一个对象,在不同时刻表现出来的不同形态;
animal a=new cat();
父类引用指向子类对象;
特点:
(1)多态形式访问成员变量,实际在访问父类成员变量
(2)成员方法查看编译左侧类对象内容,执行观测代码右侧
28.多态转型
向上转型与向下转型;
向下(由父到子):
Animal a=new Cat();
Cat c=cat(a);//强行转换为子类对象
29.抽象类
没有方法体的方法应定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类;
public abstract class Animal{//抽象类声明
public abstract void eat();//抽象方法
}
public abstract class Animal {
public abstract void eat();//抽象类中不一定有抽象方法,但抽象方法一定在抽象类中
}
public class Cat extends Animal {
@Override
public void eat() {
System.out.println("猫吃鱼");
}
}
public class animaldemo {
public static void main(String[] args){
Cat a=new Cat();
a.eat();
}
}
特点:
1.成员变量:
(1)可以是变量
(2)也可以是常量
2.构造方法
(1)有构造方法,但不能实例化
(2)用于子类访问父类数据的初始化
3.成员方法:
(1)可以有抽象方法也可以有非抽象方法
30.接口
概述:接口是一种公共的规范标准,只要符合标准,大家都可以通用
java中的接口更多的体现在对行为的抽象;