3.Java基础

3.Java基础,第1张

3.Java基础 1、注释
  1. 单行注释 //
  2. 多行注释
  3. 文档注释 (与命令javados -encoding UTF-8 charset UTF-8 a.java 一起使用生成帮助文档)
2、数据类型
  1. 基本数据类型(8种):int、short、baty、long、float、double(金融相关的浮点使用BigDecimal)、char、boolean
  2. 引用数据类型:类、接口、数组
  3. 1B(byte,字节)=8bit(位)
3、使用Intellij Idea生成JavaDoc文档

参考链接:https://blog.csdn.net/weixin_42140580/article/details/89635775

4、可变参数

一个方法只能定义一个可变参数,并且它必须是最后一个参数

public static void fun(int … num);

当前fun方法,可接收1个或1个以上的int参数,或直接是int数组

5、for Each循环
for ( 变量类型  变量名 : 数组名 ) {   
    需要执行的循环语句;
}
5、递归
public static void fun(int n){
	if(n==1){
		return 1;
	}
	else{
		return n*fun(n-1);
	}
};
6、工具类
  1. Scanner类,用于用户交互
  2. Arrays (java.util包下) *** 作数组
  3. Math函数(java.lang下) 执行基本数学运算的方法
  4. jdk在线文档:https://www.matools.com/api/java8
7、稀疏数组
0 0 0 0             行  列  值				
0 0 2 0			[0]	4	3	2				[0]中记录总行数、总列数、有效值个数(0以外的值)
0 0 0 1			[1]	1	2	2				[1][2]...中记录有效值的位置(行数用下标定义,比实际行数少1),
				[2]	2	3	1				[1]中表示2在第1行第二列,[2]中表示1在第2行第3列
8、OOP面向对象编程
  • 本质:以类的方式组织代码,以对象的方式组织(封装)数据
  • 抽象:abstract
    • 不能new抽象类,只能子类去实现它
    • 抽象类中可以写普通方法
    • 抽象方法必须在抽象类中
  • 三大特性:
    • 封装:get/set
    • 继承:extends
      • 子类 单继承 父类所有非私有的属性与方法,
      • 使用supper进行调用父类属性、方法
      • 重写:子类重写父类的非静态的方法,重写后调用重写的方法会是子类的方法
    • 多态
      • Persion p=new man(); 父类引用指向子类,无法调用子类的独有方法
  • 接口:interface
    • 一个类可以说实现多个接口
    • implement 实现接口
    • 实现接口的类,必须实现接口的方法
9、关键字
  • static: 修饰的方法与类一起加载,优先级较高;未用static修饰的方式只能通过创建对象调用

  • private:私有的

  • instanceof:

    boolean b = object1 instanceof object2			//当object1 与object2存在继承关系时,结果b为true,否则b为falsh
    
10、栈和堆
  • 栈:存储变量名称,指向堆中的对象、方法
  • 堆:存储对象和方法
11、异常处理
  • 异常捕获
try{
	int a=1/0;
}catch(Errer e){
	log(e);
}
catch(Exception e){
	log(e);
}
finally{
	log(“最后要执行的事情”);
}
  • 异常抛出
    • throw:用在代码逻辑书写过程中
    • throws:用在方法上
11、String、StringBuffer与StringBuilder之间区别 StringStringBufferStringBuilderString的值是不可变的,这就导致每次对String的 *** 作都会生成新的String对象,不仅效率低下,而且浪费大量优先的内存空间StringBuffer是可变类,和线程安全的字符串 *** 作类,任何对它指向的字符串的 *** 作都不会产生新的对象。每个StringBuffer对象都有一定的缓冲区容量,当字符串大小没有超过容量时,不会分配新的容量,当字符串大小超过容量时,会自动增加容量可变类,速度更快不可变可变可变线程安全线程不安全多线程 *** 作字符串单线程 *** 作字符串 12、lambda 表达式

​ lambda 表达式的语法格式如下:

​ (parameters) -> expression 或 (parameters) ->{ statements; }

​ 以下是lambda表达式的重要特征:

  • **可选类型声明:**不需要声明参数类型,编译器可以统一识别参数值。
  • **可选的参数圆括号:**一个参数无需定义圆括号,但多个参数需要定义圆括号。
  • **可选的大括号:**如果主体包含了一个语句,就不需要使用大括号。
  • **可选的返回关键字:**如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定表达式返回了一个数值。
  • 参考链接:https://www.runoob.com/java/java8-lambda-expressions.html
13、泛型

java 中泛型标记符:

  • E - Element (在集合中使用,因为集合中存放的是元素)
  • T - Type(Java 类)
  • K - Key(键)
  • V - Value(值)
  • N - Number(数值类型)
  • ? - 表示不确定的 java 类型
  • 参考链接:https://www.runoob.com/java/java-generics.html
14、迭代器Iterator
  • 它是一种用于访问集合的方法,可用于迭代 ArrayList 和 HashSet 等集合

  • 迭代器 it 的两个基本 *** 作是 next 、hasNext 和 remove。

  • 调用 it.next() 会返回迭代器的下一个元素,并且更新迭代器的状态。

  • 调用 it.hasNext() 用于检测集合中是否还有元素。

  • 调用 it.remove() 将迭代器返回的元素删除。

  • 参考链接:https://www.runoob.com/java/java-iterator.html

  • Iterator输出集合 sites 中的所有元素

    // 引入 ArrayList 和 Iterator 类
    import java.util.ArrayList;
    import java.util.Iterator;
    
    public class RunoobTest {
        public static void main(String[] args) {
            // 创建集合
            ArrayList sites = new ArrayList();
            sites.add("Google");
            sites.add("Runoob");
            sites.add("Taobao");
            sites.add("Zhihu");
    
            // 获取迭代器
            Iterator it = sites.iterator();
    
            // 输出集合中的所有元素
            while(it.hasNext()) {
                System.out.println(it.next());
            }
        }
    }
    

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4828742.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-10
下一篇 2022-11-10

发表评论

登录后才能评论

评论列表(0条)

保存