(1)三元运算符:
运算式 ?输出结果1:输出结果2;
(2)键盘录入:
scanner sc = new Scanner (System.in){
int i = Scanner.nextInt();
double d = Scanner.nextDouble();
String str = sc.next();
}
(3) 数组(长度固定,可存基本数据类型):数据类型 【】 数组名 = new 数据类型【】{元素1,元素2...}
集合(长度可变,只可存引用数据类型):ArrayList<引用数据类型> list = new ArrayList<引用数据类型> ();
(4)数组的长度:调用方式:数组名.length
(5)随机数:
Random r = new Random();
double d1 = r.nextDouble(); // 生成[0,1.0]区间的小数
int i1 = r.nextInt(10); // 生成[0,10]区间的整数
(6)面向对象的特征:
[1]封装性: 对外部不可见
[2]继承性: 拓展类的功能
子类可继承父类内容: 成员变量(无论是否私有)和 非私有的成员方法(可加入虚方法表) (构造方法无法继承!)
[3]多态性: 1)方法的重载 2)对象的多态性
(7)标准javabean:
public class Teacher{
//[1]对象的属性
private String name;
private String work;
//[2]空参构造
public Teacher(){
}
//[3]带全部参的构造
public Teacher(String name,String work){
this.name = name;
this.work = work;
}
//[4]get,set方法
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public String getWork(){
return work;
}
public void setWork(String work){
this.work = work;
}
}
(8)substring方法 数据的截取(取头不取尾)
ps: String start = phoneNumber.substring(0,3) //表示从第0(1)位截至第2(3)位
Char first = phoneNumber.charAt(0) //表示只截取第0(1)位
String end = phoneNumber.substring(7) //表示从第7(8)位一直截取至末尾
(ps : charAt方法见上)(根据索引返回字符!)
(9)replace方法: 表示数据的更换
ps: int len = getString().substring(1).replace("A","Q").length(); //经典的链式编程
(10)equals方法: 比较两个数据是否一致,若一致返回ture,反之返回false.
ps:判断是否为对称字符串的代码:
//1.键盘录入一个字符串
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串");
String str = sc.next();
//2.反转键盘录入的字符串
String result = new StringBuilder().append(str).reverse().toString();
//3.比较
if(str.equals(result)){
System,out,println("是");
}else{
System.out.println("不是");
}
(11)StringBuilder方法(高效):
[1]创建对象:
StringBuilder sb = new StringBuilder("xxxx"); //xxx表示存储的内容,也可不写.
[2]添加元素(append):
sb.append(xxx); //xxx可为任意类型的内容
[3](容器内容)反转(reverse):
sb.reverse();
[4]获取长度(length):
int len = sb.length();
System.out.println(len);
[5]变回字符串(toString):
StringBuilder sb = new StringBuilder();
//添加字符串(也可以使用链式编程)
sb.append("aaa");
sb.append("bbb");
sb.append("ccc");
sb.append("ddd"); //此时输出sb为 aaabbbcccddd
//再把StringBuilder变回字符串
String str = sb.toString();
System.out.println(str); //aaabbbcccddd
(12)StringJoiner方法(方便):
[1]创建方法(2种)
StringJoiner sj = new StringJoiner(","); //1,2,3
StringJoiner sj = new StringJoiner(",","[","]"); //[1,2,3]
[2]添加元素:
sj.add("aaa").add("bbb").add("ccc"); //打印结果: aaa,bbb,ccc
[aaa,bbb,ccc]
[3]打印:
System.out.println(sj);
String str = sj.toString(); //将数据转换为String类
System.out.println(str); //[aaa,bbb,ccc]
(13)toCharArray方法(将一个字符串转换为字符数组):
ps: String Str = new String("www.runoob.com");
System.out.println( Str.toCharArray() );
(14)ArrayList方法(集合的常用方法):
[1]创建集合: ArrayList<String> list = new ArrayList<>();
[2]添加元素: list.add("aaa");
System.out.println(list); //[aaa]
[3]删除元素: boolean result1 = list.remove("aaa"); //直接删除
System.out.println(list); //[]
//or:
String str =list.remove(0); //括号里面填集合内的索引
System.out.println(str); //aaa(删除的数据)
System.out.println(list); //[](剩余的数据)
[4]修改元素: String result = list.set(0,"ddd"); //将集合内索引为0的元素改为ddd
System.out.println(result); //ddd(修改的数据)
System.out.println(list); //[ddd](修改后的数据)
[5]查询元素: String s = list.get(0);
System.out.println(s);
[6]遍历: for(int i = 0;i < list.size();i++){
//i 索引
//list.get(i) 元素
String str = list.get(i);
System.out.println(str);
}
(15) 基本数据类型 对应的包装类
byte Byte
short Short
char Character
int Integer
long Long
float Float
double Double
boolean Boolean
(16)IDEA常用快捷键:
[1] ctrl + Alt + t 进入循环
[2] ctrl + d 向下复制一行
[3] 点红色+Alt+回车+点击第一个 自动生成
[4]
(17) System.exit(0) 退出循环
boolean flag = xxx.startWith("0") 判断字符串xxx是否是以0开头
(18) 开发中一般先验证格式是否正确,再验证是否唯一
(19)static静态变量:(static表示静态,是Java中的一个修饰符,可以修饰成员方法,成员变量)
(静态随着类的加载而加载,非静态则与对象有关)
//被static修饰的成员变量,叫做静态变量
特点: [1]被该类所有对象共享
[2]不属于对象,属于类
[3]随着类的加载而加载,优先于对象存在
调用方式: [1]类名调用(推荐)
[2]对象名调用
//被static修饰的成员方法,叫做静态方法,静态方法只能访问静态,非静态可访问所有,静态方法中没有this关键字
特点: [1]多用于测试类和工具类中
[2]javabean类中会很少用
调用方式: [1]类名调用(推荐)
[2]对象名调用
//工具类:帮助我们做事但不描述任何事物的类
(ps: 先private,防止之后二次定义
privateStudentUtil(){}
//静态方法
public static int getMaxAgeStudent(ArrayList<Student> list)){
int max = list.get(0).getAge();
for(int i = 1;i < list.size();i++){
int tempAge = list.get(i).getAge()
if(tempAge > max){
max = list.get(i).getAge();
}
}
return max;
}
//javabean类:用来描述一些事物的类(ps:Student,Cat等)
//测试类:用来检查其他类是否书写正确,带有main方法的类,是程序的入口
(20)面向对象:(继承)
[1]继承的方法:(extends)
[2]继承中对象的引用(重名时可用):
1) name(从局部位置开始往上找)
2)this.name(从本类成员位置开始往上找)
3) super.name(从父类成员位置开始往上找)
[3]继承中成员变量的访问特点:就近原则.
(21)面向对象:(重写)
[1]应用场景:当父类中方法不能满足子类现在的需求时,我们就需要把这个方法进行重写
[2]注意:子类中重写的方法上面需要加上@override
(22)判断变量是否为方法类型的方法: instanceof (ps:if(a instanceof Dog){})
常用代码(题型):
(1)反转字符串:
package com.itheima;
import java.util.Scanner;
//在控制台上面输入一个字符串并打出它的相反值,如:输入abcd,打印dcba;
public class Test6 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串!");
String n = sc.nextLine();
StringBuilder sb = new StringBuilder(n);
System.out.println(sb.reverse());
}
}
(2)
原理: